[go: nahoru, domu]

[OOBE] autolaunch TS migration

Bug: b/314761865
Change-Id: I64732867967a1cce6e9d2ea2cf64ce473b5a56a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5148108
Commit-Queue: Danila Kuzmin <dkuzmin@google.com>
Reviewed-by: Danila Kuzmin <dkuzmin@google.com>
Cr-Commit-Position: refs/heads/main@{#1240553}
diff --git a/chrome/browser/resources/chromeos/login/login.gni b/chrome/browser/resources/chromeos/login/login.gni
index 25348be..679792a 100644
--- a/chrome/browser/resources/chromeos/login/login.gni
+++ b/chrome/browser/resources/chromeos/login/login.gni
@@ -114,7 +114,7 @@
   "screens/common/app_downloading.js",
   "screens/common/app_launch_splash.js",
   "screens/common/assistant_optin.js",
-  "screens/common/autolaunch.js",
+  "screens/common/autolaunch.ts",
   "screens/common/choobe.ts",
   "screens/common/consolidated_consent.js",
   "screens/common/device_disabled.js",
diff --git a/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn b/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn
index 93562e6..9b82066 100644
--- a/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn
+++ b/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn
@@ -30,7 +30,6 @@
     ":app_launch_splash",
 
     #":assistant_optin",
-    ":autolaunch",
     ":consolidated_consent",
     ":device_disabled",
     ":error_message",
@@ -88,16 +87,6 @@
   extra_deps = [ ":web_components" ]
 }
 
-js_library("autolaunch") {
-  sources = [ "$root_gen_dir/chrome/browser/resources/chromeos/login/screens/common/autolaunch.js" ]
-  deps = [
-    "../../components/behaviors:login_screen_behavior",
-    "../../components/behaviors:oobe_dialog_host_behavior",
-    "../../components/behaviors:oobe_i18n_behavior",
-    "../../components/dialogs:oobe_adaptive_dialog",
-  ]
-  extra_deps = [ ":web_components" ]
-}
 
 js_library("consolidated_consent") {
   sources = [ "$root_gen_dir/chrome/browser/resources/chromeos/login/screens/common/consolidated_consent.js" ]
diff --git a/chrome/browser/resources/chromeos/login/screens/common/autolaunch.html b/chrome/browser/resources/chromeos/login/screens/common/autolaunch.html
index 9f63dac..aa59972 100644
--- a/chrome/browser/resources/chromeos/login/screens/common/autolaunch.html
+++ b/chrome/browser/resources/chromeos/login/screens/common/autolaunch.html
@@ -15,14 +15,14 @@
     [[i18nDynamic(locale, 'autolaunchWarning')]]
   </p>
   <div id="footer" slot="content">
-    <img id="appIcon" src="[[appIconUrl_]]" alt="">
-    <div id="appName">[[appName_]]</div>
+    <img id="appIcon" src="[[appIconUrl]]" alt="">
+    <div id="appName">[[appName]]</div>
   </div>
   <div slot="bottom-buttons" class="layout horizontal end-justified">
-    <oobe-text-button id="cancelButton" on-click="onCancel_"
+    <oobe-text-button id="cancelButton" on-click="onCancel"
         text-key="autolaunchCancelButton" class="focus-on-show">
     </oobe-text-button>
-    <oobe-text-button id="confirmButton" on-click="onConfirm_"
+    <oobe-text-button id="confirmButton" on-click="onConfirm"
         text-key="autolaunchConfirmButton" inverse>
     </oobe-text-button>
   </div>
diff --git a/chrome/browser/resources/chromeos/login/screens/common/autolaunch.js b/chrome/browser/resources/chromeos/login/screens/common/autolaunch.js
deleted file mode 100644
index 26066f4..0000000
--- a/chrome/browser/resources/chromeos/login/screens/common/autolaunch.js
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2013 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/**
- * @fileoverview Oobe reset screen implementation.
- */
-
-import '//resources/polymer/v3_0/iron-icon/iron-icon.js';
-import '../../components/oobe_icons.html.js';
-import '../../components/common_styles/oobe_common_styles.css.js';
-import '../../components/common_styles/oobe_dialog_host_styles.css.js';
-import '../../components/dialogs/oobe_adaptive_dialog.js';
-import '../../components/buttons/oobe_text_button.js';
-
-import {html, mixinBehaviors, PolymerElement} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
-
-import {LoginScreenBehavior, LoginScreenBehaviorInterface} from '../../components/behaviors/login_screen_behavior.js';
-import {OobeDialogHostBehavior} from '../../components/behaviors/oobe_dialog_host_behavior.js';
-import {OobeI18nBehavior, OobeI18nBehaviorInterface} from '../../components/behaviors/oobe_i18n_behavior.js';
-
-import {getTemplate} from './autolaunch.html.js';
-
-
-
-/**
- * @constructor
- * @extends {PolymerElement}
- * @implements {LoginScreenBehaviorInterface}
- * @implements {OobeI18nBehaviorInterface}
- */
-const AutolaunchBase = mixinBehaviors(
-    [OobeI18nBehavior, LoginScreenBehavior, OobeDialogHostBehavior],
-    PolymerElement);
-
-/**
- * @polymer
- */
-class Autolaunch extends AutolaunchBase {
-  static get is() {
-    return 'autolaunch-element';
-  }
-
-  static get template() {
-    return getTemplate();
-  }
-
-  static get properties() {
-    return {
-      appName_: {type: String},
-      appIconUrl_: {type: String},
-    };
-  }
-
-  constructor() {
-    super();
-    this.appName_ = '';
-    this.appIconUrl_ = '';
-  }
-
-  /** Overridden from LoginScreenBehavior. */
-  // clang-format off
-  get EXTERNAL_API() {
-    return [
-      'updateApp',
-    ];
-  }
-  // clang-format on
-
-  ready() {
-    super.ready();
-    this.initializeLoginScreen('AutolaunchScreen');
-  }
-
-  onConfirm_() {
-    this.userActed('confirm');
-  }
-
-  onCancel_() {
-    this.userActed('cancel');
-  }
-
-  /**
-   * Event handler invoked when the page is shown and ready.
-   */
-  onBeforeShow() {
-    chrome.send('autolaunchVisible');
-  }
-
-  /**
-   * Cancels the reset and drops the user back to the login screen.
-   */
-  cancel() {
-    this.userActed('cancel');
-  }
-
-  /**
-   * Sets app to be displayed in the auto-launch warning.
-   * @param {!Object} app An dictionary with app info.
-   */
-  updateApp(app) {
-    this.appName_ = app.appName;
-    if (app.appIconUrl && app.appIconUrl.length) {
-      this.appIconUrl_ = app.appIconUrl;
-    }
-  }
-}
-
-customElements.define(Autolaunch.is, Autolaunch);
diff --git a/chrome/browser/resources/chromeos/login/screens/common/autolaunch.ts b/chrome/browser/resources/chromeos/login/screens/common/autolaunch.ts
new file mode 100644
index 0000000..348cfe8
--- /dev/null
+++ b/chrome/browser/resources/chromeos/login/screens/common/autolaunch.ts
@@ -0,0 +1,118 @@
+// Copyright 2013 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview Oobe reset screen implementation.
+ */
+
+import '//resources/polymer/v3_0/iron-icon/iron-icon.js';
+import '../../components/oobe_icons.html.js';
+import '../../components/common_styles/oobe_common_styles.css.js';
+import '../../components/common_styles/oobe_dialog_host_styles.css.js';
+import '../../components/dialogs/oobe_adaptive_dialog.js';
+import '../../components/buttons/oobe_text_button.js';
+
+import {PolymerElementProperties} from '//resources/polymer/v3_0/polymer/interfaces.js';
+import {mixinBehaviors, PolymerElement} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {LoginScreenBehavior, LoginScreenBehaviorInterface} from '../../components/behaviors/login_screen_behavior.js';
+import {OobeDialogHostBehavior, OobeDialogHostBehaviorInterface} from '../../components/behaviors/oobe_dialog_host_behavior.js';
+import {OobeI18nBehavior, OobeI18nBehaviorInterface} from '../../components/behaviors/oobe_i18n_behavior.js';
+
+import {getTemplate} from './autolaunch.html.js';
+
+interface AppData {
+  appName: string;
+  appIconUrl: string;
+}
+
+const AutolaunchBase = mixinBehaviors(
+    [OobeI18nBehavior, LoginScreenBehavior, OobeDialogHostBehavior],
+    PolymerElement) as { new (): PolymerElement
+      & OobeI18nBehaviorInterface
+      & LoginScreenBehaviorInterface
+      & OobeDialogHostBehaviorInterface,
+    };
+
+export class Autolaunch extends AutolaunchBase {
+  static get is() {
+    return 'autolaunch-element' as const;
+  }
+
+  static get template(): HTMLTemplateElement {
+    return getTemplate();
+  }
+
+  static get properties(): PolymerElementProperties {
+    return {
+      appName: {
+        type: String,
+        value: '',
+      },
+      appIconUrl: {
+        type: String,
+        value: '',
+      },
+    };
+  }
+
+  private appName: string;
+  private appIconUrl: string;
+
+  constructor() {
+    super();
+  }
+
+  override get EXTERNAL_API(): string[] {
+    return [
+      'updateApp',
+    ];
+  }
+
+  override ready() {
+    super.ready();
+    this.initializeLoginScreen('AutolaunchScreen');
+  }
+
+  private onConfirm(): void {
+    this.userActed('confirm');
+  }
+
+  private onCancel(): void {
+    this.userActed('cancel');
+  }
+
+  /**
+   * Event handler invoked when the page is shown and ready.
+   */
+  override onBeforeShow(): void {
+    chrome.send('autolaunchVisible');
+  }
+
+  /**
+   * Cancels the reset and drops the user back to the login screen.
+   */
+  private cancel(): void {
+    this.userActed('cancel');
+  }
+
+  /**
+   * Sets app to be displayed in the auto-launch warning.
+   * @param app An dictionary with app info.
+   */
+  updateApp(app: AppData): void {
+    this.appName = app.appName;
+    if (app.appIconUrl && app.appIconUrl.length) {
+      this.appIconUrl = app.appIconUrl;
+    }
+  }
+}
+
+declare global {
+  interface HTMLElementTagNameMap {
+    [Autolaunch.is]: Autolaunch;
+  }
+}
+
+customElements.define(Autolaunch.is, Autolaunch);