diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-09-29 16:16:15 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-11-09 10:04:06 +0000 |
commit | a95a7417ad456115a1ef2da4bb8320531c0821f1 (patch) | |
tree | edcd59279e486d2fd4a8f88a7ed025bcf925c6e6 /chromium/ui/webui/resources/cr_components/app_management | |
parent | 33fc33aa94d4add0878ec30dc818e34e1dd3cc2a (diff) | |
download | qtwebengine-chromium-a95a7417ad456115a1ef2da4bb8320531c0821f1.tar.gz |
BASELINE: Update Chromium to 106.0.5249.126
Change-Id: Ib0bb21c437a7d1686e21c33f2d329f2ac425b7ab
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/438936
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/ui/webui/resources/cr_components/app_management')
14 files changed, 151 insertions, 169 deletions
diff --git a/chromium/ui/webui/resources/cr_components/app_management/BUILD.gn b/chromium/ui/webui/resources/cr_components/app_management/BUILD.gn index 4855a2e46ee..2d90c7ca8b7 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/BUILD.gn +++ b/chromium/ui/webui/resources/cr_components/app_management/BUILD.gn @@ -8,22 +8,11 @@ import("//tools/polymer/css_to_wrapper.gni") import("//tools/polymer/html_to_wrapper.gni") import("//tools/typescript/ts_library.gni") import("//ui/webui/resources/tools/generate_grd.gni") +import("//ui/webui/webui_features.gni") import("app_management.gni") assert(!is_android && !is_ios) -preprocess_folder_tmp = "$root_gen_dir/ui/webui/resources/preprocessed/cr_components/app_management_tmp" -preprocess_folder = - "$root_gen_dir/ui/webui/resources/preprocessed/cr_components/app_management" - -css_to_wrapper("css_wrapper_files") { - in_files = css_files -} - -html_to_wrapper("html_wrapper_files") { - in_files = html_files + html_icons_files -} - mojom("mojo_bindings") { sources = [ "app_management.mojom" ] webui_module_path = "/" @@ -86,22 +75,35 @@ mojom("mojo_bindings") { ] } -preprocess_if_expr("preprocess_src") { - visibility = [ ":build_ts" ] - in_folder = "." - out_folder = preprocess_folder_tmp - in_files = ts_files -} +preprocess_folder_tmp = "$root_gen_dir/ui/webui/resources/preprocessed/cr_components/app_management_tmp" +preprocess_folder = + "$root_gen_dir/ui/webui/resources/preprocessed/cr_components/app_management" -preprocess_if_expr("preprocess_generated") { - visibility = [ ":build_ts" ] - deps = [ +preprocess_if_expr("preprocess") { + visibility = [ + ":build_ts", ":css_wrapper_files", ":html_wrapper_files", ] - in_folder = target_gen_dir + in_folder = "." + out_folder = preprocess_folder_tmp + in_files = ts_files + html_files + html_icons_files + css_files +} + +html_to_wrapper("html_wrapper_files") { + deps = [ ":preprocess" ] + in_folder = preprocess_folder_tmp out_folder = preprocess_folder_tmp - in_files = html_wrapper_files + css_wrapper_files + in_files = html_files + html_icons_files + minify = optimize_webui +} + +css_to_wrapper("css_wrapper_files") { + deps = [ ":preprocess" ] + in_folder = preprocess_folder_tmp + out_folder = preprocess_folder_tmp + in_files = css_files + minify = optimize_webui } copy("copy_mojo") { @@ -131,8 +133,9 @@ ts_library("build_ts") { ] extra_deps = [ ":copy_mojo", - ":preprocess_generated", - ":preprocess_src", + ":css_wrapper_files", + ":html_wrapper_files", + ":preprocess", ] } @@ -140,7 +143,8 @@ generate_grd("build_grdp") { grd_prefix = "cr_components_app_management" out_grd = "$target_gen_dir/resources.grdp" public_deps = [ ":build_ts" ] - manifest_files = [ "$target_gen_dir/tsconfig.manifest" ] + manifest_files = + filter_include(get_target_outputs(":build_ts"), [ "*.manifest" ]) resource_path_prefix = "cr_components/app_management" } @@ -151,7 +155,6 @@ source_set("unit_tests") { deps = [ ":mojo_bindings", "//base/test:test_support", - "//chrome/test:test_support", "//mojo/public/cpp/test_support:test_utils", "//testing/gtest", ] diff --git a/chromium/ui/webui/resources/cr_components/app_management/app_management.mojom b/chromium/ui/webui/resources/cr_components/app_management/app_management.mojom index f9cb799bac6..c19cec68468 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/app_management.mojom +++ b/chromium/ui/webui/resources/cr_components/app_management/app_management.mojom @@ -42,6 +42,7 @@ enum PermissionType { kContacts = 5, kStorage = 6, kPrinting = 7, + kFileHandling = 8, }; enum TriState { diff --git a/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.cc b/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.cc index 03632522ac8..ba363dbfae6 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.cc +++ b/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.cc @@ -129,6 +129,8 @@ PermissionType EnumTraits<PermissionType, apps::PermissionType>::ToMojom( return PermissionType::kStorage; case apps::PermissionType::kPrinting: return PermissionType::kPrinting; + case apps::PermissionType::kFileHandling: + return PermissionType::kFileHandling; } } @@ -160,6 +162,9 @@ bool EnumTraits<PermissionType, apps::PermissionType>::FromMojom( case PermissionType::kPrinting: *output = apps::PermissionType::kPrinting; return true; + case PermissionType::kFileHandling: + *output = apps::PermissionType::kFileHandling; + return true; } } @@ -192,9 +197,9 @@ bool EnumTraits<TriState, apps::TriState>::FromMojom(TriState input, PermissionValueDataView::Tag UnionTraits<PermissionValueDataView, apps::PermissionValuePtr>::GetTag( const apps::PermissionValuePtr& r) { - if (r->bool_value.has_value()) { + if (absl::holds_alternative<bool>(r->value)) { return PermissionValueDataView::Tag::kBoolValue; - } else if (r->tristate_value.has_value()) { + } else if (absl::holds_alternative<apps::TriState>(r->value)) { return PermissionValueDataView::Tag::kTristateValue; } NOTREACHED(); diff --git a/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.h b/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.h index 6097807af2a..9bbbce135c7 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.h +++ b/chromium/ui/webui/resources/cr_components/app_management/app_management_mojom_traits.h @@ -8,6 +8,7 @@ #include "components/services/app_service/public/cpp/app_types.h" #include "components/services/app_service/public/cpp/permission.h" #include "components/services/app_service/public/cpp/run_on_os_login_types.h" +#include "third_party/abseil-cpp/absl/types/variant.h" #include "ui/webui/resources/cr_components/app_management/app_management.mojom.h" namespace mojo { @@ -65,17 +66,24 @@ struct UnionTraits<PermissionValueDataView, apps::PermissionValuePtr> { static PermissionValueDataView::Tag GetTag(const apps::PermissionValuePtr& r); static bool IsNull(const apps::PermissionValuePtr& r) { - return !r->bool_value.has_value() && !r->tristate_value.has_value(); + return !absl::holds_alternative<bool>(r->value) && + !absl::holds_alternative<apps::TriState>(r->value); } static void SetToNull(apps::PermissionValuePtr* out) { out->reset(); } static bool bool_value(const apps::PermissionValuePtr& r) { - return r->bool_value.value(); + if (absl::holds_alternative<bool>(r->value)) { + return absl::get<bool>(r->value); + } + return false; } static apps::TriState tristate_value(const apps::PermissionValuePtr& r) { - return r->tristate_value.value(); + if (absl::holds_alternative<apps::TriState>(r->value)) { + return absl::get<apps::TriState>(r->value); + } + return apps::TriState::kBlock; } static bool Read(PermissionValueDataView data, apps::PermissionValuePtr* out); diff --git a/chromium/ui/webui/resources/cr_components/app_management/file_handling_item.ts b/chromium/ui/webui/resources/cr_components/app_management/file_handling_item.ts index a7834d694d6..64078cfb307 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/file_handling_item.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/file_handling_item.ts @@ -5,11 +5,11 @@ import './app_management_shared_style.css.js'; import './toggle_row.js'; -import {assert} from '//resources/js/assert.m.js'; +import {assert} from '//resources/js/assert_ts.js'; import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; -import {CrDialogElement} from '../../cr_elements/cr_dialog/cr_dialog.m.js'; +import {CrDialogElement} from '../../cr_elements/cr_dialog/cr_dialog.js'; import {I18nMixin} from '../../js/i18n_mixin.js'; import {App} from './app_management.mojom-webui.js'; @@ -123,7 +123,9 @@ export class AppManagementFileHandlingItemElement extends private onDialogClose_(): void { this.showOverflowDialog = false; - focusWithoutInk(assert(this.shadowRoot!.querySelector('#type-list')!)); + const toFocus = this.shadowRoot!.querySelector('#type-list'); + assert(toFocus); + focusWithoutInk(toFocus); } private getValue_(app: App): boolean { diff --git a/chromium/ui/webui/resources/cr_components/app_management/more_permissions_item.ts b/chromium/ui/webui/resources/cr_components/app_management/more_permissions_item.ts index 3210571ce99..cc0437a109d 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/more_permissions_item.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/more_permissions_item.ts @@ -3,7 +3,7 @@ // found in the LICENSE file. import './app_management_shared_style.css.js'; -import '//resources/cr_elements/cr_icon_button/cr_icon_button.m.js'; +import '//resources/cr_elements/cr_icon_button/cr_icon_button.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; @@ -37,7 +37,7 @@ export class AppManagementMorePermissionsItemElement extends PolymerElement { this.addEventListener('click', this.onClick_); } - onClick_() { + private onClick_() { BrowserProxy.getInstance().handler.openNativeSettings(this.app.id); recordAppManagementUserAction( this.app.type, AppManagementUserAction.NATIVE_SETTINGS_OPENED); diff --git a/chromium/ui/webui/resources/cr_components/app_management/permission_constants.ts b/chromium/ui/webui/resources/cr_components/app_management/permission_constants.ts index 8e167aa14f1..50a97d50cff 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/permission_constants.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/permission_constants.ts @@ -4,6 +4,4 @@ import {PermissionType} from './app_management.mojom-webui.js'; -export {Permission, PermissionType, PermissionValue, TriState} from './app_management.mojom-webui.js'; - export type PermissionTypeIndex = keyof typeof PermissionType; diff --git a/chromium/ui/webui/resources/cr_components/app_management/permission_item.ts b/chromium/ui/webui/resources/cr_components/app_management/permission_item.ts index 60959a72bdb..193b8ce2e3e 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/permission_item.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/permission_item.ts @@ -4,13 +4,13 @@ import './app_management_shared_style.css.js'; import './toggle_row.js'; -import {assert, assertNotReached} from '//resources/js/assert.m.js'; +import {assert, assertNotReached} from '//resources/js/assert_ts.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; -import {App, Permission} from './app_management.mojom-webui.js'; +import {App, Permission, PermissionType, TriState} from './app_management.mojom-webui.js'; import {BrowserProxy} from './browser_proxy.js'; import {AppManagementUserAction} from './constants.js'; -import {PermissionType, PermissionTypeIndex, TriState} from './permission_constants.js'; +import {PermissionTypeIndex} from './permission_constants.js'; import {getTemplate} from './permission_item.html.js'; import {createBoolPermission, createTriStatePermission, getBoolPermissionValue, getTriStatePermissionValue, isBoolValue, isTriStateValue} from './permission_util.js'; import {AppManagementToggleRowElement} from './toggle_row.js'; @@ -81,35 +81,33 @@ export class AppManagementPermissionItemElement extends PolymerElement { this.addEventListener('change', this.togglePermission_); } - private isAvailable_(app: App, permissionType: PermissionTypeIndex): boolean { + private isAvailable_( + app: App|undefined, + permissionType: PermissionTypeIndex|undefined): boolean { if (app === undefined || permissionType === undefined) { return false; } - assert(app); - return getPermission(app, permissionType) !== undefined; } - private isManaged_(app: App, permissionType: PermissionTypeIndex): boolean { + private isManaged_(app: App|undefined, permissionType: PermissionTypeIndex): + boolean { if (app === undefined || permissionType === undefined || !this.isAvailable_(app, permissionType)) { return false; } - assert(app); const permission = getPermission(app, permissionType); - - assert(permission); return permission.isManaged; } - private getValue_(app: App, permissionType: PermissionTypeIndex): boolean { + private getValue_( + app: App|undefined, + permissionType: PermissionTypeIndex|undefined): boolean { if (app === undefined || permissionType === undefined) { return false; } - assert(app); - return getPermissionValueBool(app, permissionType); } @@ -136,8 +134,6 @@ export class AppManagementPermissionItemElement extends PolymerElement { * called when `syncPermissionManually` is set. */ syncPermission() { - assert(this.app); - let newPermission: Permission|undefined = undefined; let newBoolState = false; // to keep the closure compiler happy. @@ -207,10 +203,8 @@ export class AppManagementPermissionItemElement extends PolymerElement { break; default: assertNotReached(); - newPermissionValue = TriState.kBlock; } - assert(newPermissionValue !== undefined); return createTriStatePermission( PermissionType[permissionType], newPermissionValue, currentPermission.isManaged); @@ -251,7 +245,6 @@ export class AppManagementPermissionItemElement extends PolymerElement { default: assertNotReached(); - return AppManagementUserAction.NOTIFICATIONS_TURNED_ON; } } } diff --git a/chromium/ui/webui/resources/cr_components/app_management/permission_util.ts b/chromium/ui/webui/resources/cr_components/app_management/permission_util.ts index 79f7273be04..bf91914155a 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/permission_util.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/permission_util.ts @@ -2,10 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import {assert, assertNotReached} from 'chrome://resources/js/assert.m.js'; +import {assert, assertNotReached} from 'chrome://resources/js/assert_ts.js'; -import {Permission} from './app_management.mojom-webui.js'; -import {PermissionType, PermissionValue, TriState} from './permission_constants.js'; +import {Permission, PermissionType, PermissionValue, TriState} from './app_management.mojom-webui.js'; export function createPermission( permissionType: PermissionType, value: PermissionValue, @@ -65,10 +64,11 @@ export function createTriStatePermission( export function isPermissionEnabled(permissionValue: PermissionValue): boolean { if (isBoolValue(permissionValue)) { return getBoolPermissionValue(permissionValue)!; - } else if (isTriStateValue(permissionValue)) { + } + + if (isTriStateValue(permissionValue)) { return getTriStatePermissionValue(permissionValue) === TriState.kAllow; - } else { - assertNotReached(); - return false; } + + assertNotReached(); } diff --git a/chromium/ui/webui/resources/cr_components/app_management/run_on_os_login_item.ts b/chromium/ui/webui/resources/cr_components/app_management/run_on_os_login_item.ts index 24553a97147..0898c828312 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/run_on_os_login_item.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/run_on_os_login_item.ts @@ -5,7 +5,7 @@ import './app_management_shared_style.css.js'; import './toggle_row.js'; -import {assert, assertNotReached} from '//resources/js/assert.m.js'; +import {assert, assertNotReached} from '//resources/js/assert_ts.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {App} from './app_management.mojom-webui.js'; @@ -15,6 +15,25 @@ import {getTemplate} from './run_on_os_login_item.html.js'; import {AppManagementToggleRowElement} from './toggle_row.js'; import {recordAppManagementUserAction} from './util.js'; +function convertModeToBoolean(runOnOsLoginMode: RunOnOsLoginMode): boolean { + switch (runOnOsLoginMode) { + case RunOnOsLoginMode.kNotRun: + return false; + case RunOnOsLoginMode.kWindowed: + return true; + default: + assertNotReached(); + } +} + +function getRunOnOsLoginModeBoolean(runOnOsLoginMode: RunOnOsLoginMode): + boolean { + assert( + runOnOsLoginMode !== RunOnOsLoginMode.kUnknown, + 'Run on OS Login Mode is not set'); + return convertModeToBoolean(runOnOsLoginMode); +} + export class AppManagementRunOnOsLoginItemElement extends PolymerElement { static get is() { return 'app-management-run-on-os-login-item'; @@ -32,7 +51,7 @@ export class AppManagementRunOnOsLoginItemElement extends PolymerElement { }; } - loginModeLabel: String; + loginModeLabel: string; app: App; override ready() { @@ -41,30 +60,20 @@ export class AppManagementRunOnOsLoginItemElement extends PolymerElement { this.addEventListener('change', this.toggleOsLoginMode_); } - private isManaged_(app: App): boolean { - if (app === undefined) { - return false; - } - assert(app); - - const loginData = app.runOnOsLogin; + private isManaged_(): boolean { + const loginData = this.app.runOnOsLogin; if (loginData) { return loginData.isManaged; } return false; } - private getValue_(app: App): boolean { - if (app === undefined) { - return false; - } - assert(app); - - const loginMode = this.getRunOnOsLoginMode(app); + private getValue_(): boolean { + const loginMode = this.getRunOnOsLoginMode(); assert(loginMode); if (loginMode) { - return this.getRunOnOsLoginModeBoolean(loginMode); + return getRunOnOsLoginModeBoolean(loginMode); } return false; } @@ -91,7 +100,7 @@ export class AppManagementRunOnOsLoginItemElement extends PolymerElement { newRunOnOsLoginMode, ); const booleanRunOnOsLoginMode = - this.getRunOnOsLoginModeBoolean(newRunOnOsLoginMode); + getRunOnOsLoginModeBoolean(newRunOnOsLoginMode); const runOnOsLoginModeChangeAction = booleanRunOnOsLoginMode ? AppManagementUserAction.RUN_ON_OS_LOGIN_MODE_TURNED_ON : AppManagementUserAction.RUN_ON_OS_LOGIN_MODE_TURNED_OFF; @@ -99,32 +108,12 @@ export class AppManagementRunOnOsLoginItemElement extends PolymerElement { } } - private getRunOnOsLoginMode(app: App): RunOnOsLoginMode|null { - if (app.runOnOsLogin) { - return app.runOnOsLogin.loginMode; + private getRunOnOsLoginMode(): RunOnOsLoginMode|null { + if (this.app.runOnOsLogin) { + return this.app.runOnOsLogin.loginMode; } return null; } - - private convertModeToBoolean(runOnOsLoginMode: RunOnOsLoginMode): boolean { - switch (runOnOsLoginMode) { - case RunOnOsLoginMode.kNotRun: - return false; - case RunOnOsLoginMode.kWindowed: - return true; - default: - assertNotReached(); - return false; - } - } - - private getRunOnOsLoginModeBoolean(runOnOsLoginMode: RunOnOsLoginMode): - boolean { - assert( - runOnOsLoginMode !== RunOnOsLoginMode.kUnknown, - 'Run on OS Login Mode is not set'); - return this.convertModeToBoolean(runOnOsLoginMode); - } } declare global { diff --git a/chromium/ui/webui/resources/cr_components/app_management/toggle_row.ts b/chromium/ui/webui/resources/cr_components/app_management/toggle_row.ts index f5f8c6ddafb..c24c9aebf17 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/toggle_row.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/toggle_row.ts @@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import './app_management_shared_style.css.js'; -import '//resources/cr_elements/cr_toggle/cr_toggle.m.js'; +import '//resources/cr_elements/cr_toggle/cr_toggle.js'; import '//resources/cr_elements/policy/cr_policy_indicator.m.js'; import '//resources/cr_elements/icons.m.js'; -import {CrToggleElement} from '//resources/cr_elements/cr_toggle/cr_toggle.m.js'; +import {CrToggleElement} from '//resources/cr_elements/cr_toggle/cr_toggle.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {getTemplate} from './toggle_row.html.js'; diff --git a/chromium/ui/webui/resources/cr_components/app_management/uninstall_button.ts b/chromium/ui/webui/resources/cr_components/app_management/uninstall_button.ts index 95af8426b8b..ab5a62f39f9 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/uninstall_button.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/uninstall_button.ts @@ -3,10 +3,10 @@ // found in the LICENSE file. import './app_management_shared_style.css.js'; -import '//resources/cr_elements/cr_button/cr_button.m.js'; +import '//resources/cr_elements/cr_button/cr_button.js'; import '//resources/cr_elements/policy/cr_tooltip_icon.m.js'; -import {assertNotReached} from '//resources/js/assert.m.js'; +import {assertNotReached} from '//resources/js/assert_ts.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {App} from './app_management.mojom-webui.js'; @@ -39,12 +39,8 @@ export class AppManamentUninstallButtonElement extends PolymerElement { /** * Returns true if the button should be disabled due to app install type. */ - getDisableState_(app: App): boolean { - if (!app) { - return true; - } - - switch (app.installReason) { + private getDisableState_(): boolean { + switch (this.app.installReason) { case InstallReason.kSystem: case InstallReason.kPolicy: return true; @@ -56,28 +52,21 @@ export class AppManamentUninstallButtonElement extends PolymerElement { return false; default: assertNotReached(); - return false; } } /** * Returns true if the app was installed by a policy. */ - private showPolicyIndicator_(app: App): boolean { - if (!app) { - return false; - } - return app.installReason === InstallReason.kPolicy; + private showPolicyIndicator_(): boolean { + return this.app.installReason === InstallReason.kPolicy; } /** * Returns true if the uninstall button should be shown. */ - private showUninstallButton_(app: App): boolean { - if (!app) { - return false; - } - return app.installReason !== InstallReason.kSystem; + private showUninstallButton_(): boolean { + return this.app.installReason !== InstallReason.kSystem; } private onClick_() { diff --git a/chromium/ui/webui/resources/cr_components/app_management/util.ts b/chromium/ui/webui/resources/cr_components/app_management/util.ts index c9ec38d6088..91dbeb3eddd 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/util.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/util.ts @@ -2,22 +2,22 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import {assert, assertNotReached} from 'chrome://resources/js/assert.m.js'; +import {assert, assertNotReached} from 'chrome://resources/js/assert_ts.js'; -import {App} from './app_management.mojom-webui.js'; +import {App, PermissionType} from './app_management.mojom-webui.js'; import {BrowserProxy} from './browser_proxy.js'; import {AppManagementUserAction, AppType, OptionalBool} from './constants.js'; -import {PermissionType, PermissionTypeIndex} from './permission_constants.js'; +import {PermissionTypeIndex} from './permission_constants.js'; import {isPermissionEnabled} from './permission_util.js'; /** * @fileoverview Utility functions for the App Management page. */ -type AppManagementPageState = { - apps: Record<string, App>, - selectedAppId: string|null, -}; +interface AppManagementPageState { + apps: Record<string, App>; + selectedAppId: string|null; +} export function createEmptyState(): AppManagementPageState { return { @@ -26,7 +26,7 @@ export function createEmptyState(): AppManagementPageState { }; } -export function createInitialState(apps: Array<App>): AppManagementPageState { +export function createInitialState(apps: App[]): AppManagementPageState { const initialState = createEmptyState(); for (const app of apps) { @@ -78,7 +78,6 @@ export function toggleOptionalBool(bool: OptionalBool): OptionalBool { return OptionalBool.kFalse; default: assertNotReached(); - return OptionalBool.kFalse; } } @@ -90,7 +89,6 @@ export function convertOptionalBoolToBool(optionalBool: OptionalBool): boolean { return false; default: assertNotReached(); - return false; } } @@ -112,7 +110,6 @@ function getUserActionHistogramNameForAppType(appType: AppType): string { return 'AppManagement.AppDetailViews.BorealisApp'; default: assertNotReached(); - return ''; } } diff --git a/chromium/ui/webui/resources/cr_components/app_management/window_mode_item.ts b/chromium/ui/webui/resources/cr_components/app_management/window_mode_item.ts index 12736123d32..6794304a969 100644 --- a/chromium/ui/webui/resources/cr_components/app_management/window_mode_item.ts +++ b/chromium/ui/webui/resources/cr_components/app_management/window_mode_item.ts @@ -5,7 +5,7 @@ import './app_management_shared_style.css.js'; import './toggle_row.js'; -import {assert, assertNotReached} from '//resources/js/assert.m.js'; +import {assert, assertNotReached} from '//resources/js/assert_ts.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {App} from './app_management.mojom-webui.js'; @@ -15,6 +15,22 @@ import {AppManagementToggleRowElement} from './toggle_row.js'; import {recordAppManagementUserAction} from './util.js'; import {getTemplate} from './window_mode_item.html.js'; +function convertWindowModeToBool(windowMode: WindowMode): boolean { + switch (windowMode) { + case WindowMode.kBrowser: + return false; + case WindowMode.kWindow: + return true; + default: + assertNotReached(); + } +} + +function getWindowModeBoolean(windowMode: WindowMode): boolean { + assert(windowMode !== WindowMode.kUnknown, 'Window Mode Not Set'); + return convertWindowModeToBool(windowMode); +} + export class AppManagementWindowModeElement extends PolymerElement { static get is() { return 'app-management-window-mode-item'; @@ -30,12 +46,15 @@ export class AppManagementWindowModeElement extends PolymerElement { app: Object, - hidden: - {type: Boolean, computed: 'isHidden_(app)', reflectToAttribute: true}, + hidden: { + type: Boolean, + computed: 'isHidden_(app)', + reflectToAttribute: true, + }, }; } - windowModeLabel: String; + windowModeLabel: string; app: App; override ready() { @@ -44,12 +63,8 @@ export class AppManagementWindowModeElement extends PolymerElement { this.addEventListener('change', this.toggleWindowMode_); } - private getValue_(app: App): boolean { - if (app === undefined) { - return false; - } - assert(app); - return this.getWindowModeBoolean(app.windowMode); + private getValue_(): boolean { + return getWindowModeBoolean(this.app.windowMode); } private onClick_() { @@ -57,8 +72,7 @@ export class AppManagementWindowModeElement extends PolymerElement { .querySelector<AppManagementToggleRowElement>('#toggle-row')!.click(); } - toggleWindowMode_() { - assert(this.app); + private toggleWindowMode_() { const currentWindowMode = this.app.windowMode; if (currentWindowMode === WindowMode.kUnknown) { assertNotReached(); @@ -70,32 +84,15 @@ export class AppManagementWindowModeElement extends PolymerElement { this.app.id, newWindowMode, ); - const booleanWindowMode = this.getWindowModeBoolean(newWindowMode); + const booleanWindowMode = getWindowModeBoolean(newWindowMode); const windowModeChangeAction = booleanWindowMode ? AppManagementUserAction.WINDOW_MODE_CHANGED_TO_WINDOW : AppManagementUserAction.WINDOW_MODE_CHANGED_TO_BROWSER; recordAppManagementUserAction(this.app.type, windowModeChangeAction); } - private convertWindowModeToBool(windowMode: WindowMode): boolean { - switch (windowMode) { - case WindowMode.kBrowser: - return false; - case WindowMode.kWindow: - return true; - default: - assertNotReached(); - return false; - } - } - - private getWindowModeBoolean(windowMode: WindowMode): boolean { - assert(windowMode !== WindowMode.kUnknown, 'Window Mode Not Set'); - return this.convertWindowModeToBool(windowMode); - } - - private isHidden_(app: App): Boolean { - return app.hideWindowMode; + private isHidden_(): boolean { + return this.app.hideWindowMode; } } |