[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);