diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-11-28 16:14:41 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-12-13 15:19:41 +0000 |
commit | 61d9742824d54be5693191fe502325a909feca59 (patch) | |
tree | cbf28e779b11338fe52eb75b915684cd8955542c /chromium/chrome/browser/resources/extensions | |
parent | 45f9ded08bb7526984b24ccb5a5327aaf6821676 (diff) |
BASELINE: Update Chromium to 108.0.5359.70
Change-Id: I77334ff232b819600f275bd3cfe41fbaa3619230
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/445904
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/browser/resources/extensions')
54 files changed, 499 insertions, 206 deletions
diff --git a/chromium/chrome/browser/resources/extensions/BUILD.gn b/chromium/chrome/browser/resources/extensions/BUILD.gn index adb5e2d759d..1c111086ae7 100644 --- a/chromium/chrome/browser/resources/extensions/BUILD.gn +++ b/chromium/chrome/browser/resources/extensions/BUILD.gn @@ -1,4 +1,4 @@ -# Copyright 2018 The Chromium Authors. All rights reserved. +# Copyright 2018 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. @@ -87,6 +87,7 @@ build_webui("build") { "//tools/typescript/definitions/metrics_private.d.ts", "//tools/typescript/definitions/pending.d.ts", "//tools/typescript/definitions/runtime.d.ts", + "//tools/typescript/definitions/tabs.d.ts", ] if (is_chromeos_ash) { ts_definitions += [ "//tools/typescript/definitions/chrome_send.d.ts" ] diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log.ts b/chromium/chrome/browser/resources/extensions/activity_log/activity_log.ts index 12f4954d92b..338553c208b 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log.ts +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log.ts @@ -1,12 +1,12 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; import 'chrome://resources/cr_elements/cr_tabs/cr_tabs.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/polymer/v3_0/iron-pages/iron-pages.js'; import './activity_log_stream.js'; import './activity_log_history.js'; @@ -15,8 +15,8 @@ import '../shared_style.css.js'; import '../shared_vars.css.js'; import {CrContainerShadowMixin} from 'chrome://resources/cr_elements/cr_container_shadow_mixin.js'; -import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {focusWithoutInk} from 'chrome://resources/js/focus_without_ink.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js'; import {afterNextRender, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.ts b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.ts index 1bc05c56591..7f49b3ecd5a 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.ts +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.ts @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,7 +10,7 @@ import '../shared_style.css.js'; import './activity_log_history_item.js'; import {assert} from 'chrome://resources/js/assert_ts.js'; -import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js'; +import {PromiseResolver} from 'chrome://resources/js/promise_resolver.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {getTemplate} from './activity_log_history.html.js'; diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.ts b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.ts index 8282e27523a..9118dd947b2 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.ts +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.ts @@ -1,11 +1,11 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_expand_button/cr_expand_button.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import '../shared_style.css.js'; import '../shared_vars.css.js'; diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.ts b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.ts index 456b2f1f666..888a7785d55 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.ts +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.ts @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream_item.ts b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream_item.ts index 87190383c23..742f32d3f6a 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream_item.ts +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream_item.ts @@ -1,10 +1,10 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_expand_button/cr_expand_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import '../shared_style.css.js'; import '../shared_vars.css.js'; diff --git a/chromium/chrome/browser/resources/extensions/code_section.ts b/chromium/chrome/browser/resources/extensions/code_section.ts index 45168defa8c..c75059e8a7d 100644 --- a/chromium/chrome/browser/resources/extensions/code_section.ts +++ b/chromium/chrome/browser/resources/extensions/code_section.ts @@ -1,15 +1,16 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'chrome://resources/cr_elements/hidden_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_hidden_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/polymer/v3_0/paper-styles/color.js'; import './strings.m.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; + import {getTemplate} from './code_section.html.js'; diff --git a/chromium/chrome/browser/resources/extensions/detail_view.html b/chromium/chrome/browser/resources/extensions/detail_view.html index 468973971fc..3f6aa133c21 100644 --- a/chromium/chrome/browser/resources/extensions/detail_view.html +++ b/chromium/chrome/browser/resources/extensions/detail_view.html @@ -89,6 +89,12 @@ width: 18px; } + .link-icon-button { + --iron-icon-height: var(--cr-icon-size); + --iron-icon-width: var(--cr-icon-size); + margin-inline-start: 6px; + } + #allowlist-warning { flex: 1; } @@ -111,6 +117,17 @@ padding: var(--cr-section-vertical-padding) var(--cr-section-padding); } + #show-access-requests-toggle { + margin-inline-start: var(--cr-section-indent-width); + min-height: var(--cr-section-min-height); + padding: 0; + } + + #access-toggle-and-link { + color: var(--cr-primary-text-color); + display: flex; + } + #load-path { word-break: break-all; } @@ -349,6 +366,22 @@ item-id="[[data.id]]"> </extensions-host-permissions-toggle-list> </template> + <template is="dom-if" if="[[showEnableAccessRequestsToggle_( + data.*, enableEnhancedSiteControls)]]"> + <extensions-toggle-row id="show-access-requests-toggle" + checked="[[data.showAccessRequestsInToolbar]]" + class="hr" + on-change="onShowAccessRequestsChange_"> + <div id="access-toggle-and-link"> + <span>$i18n{itemShowAccessRequestsInToolbar}</span> + <a class="link-icon-button" aria-label="$i18n{learnMore}" + href="$i18n{showAccessRequestsInToolbarLearnMoreLink}" + target="_blank"> + <iron-icon icon="cr:help-outline"></iron-icon> + </a> + </div> + </extensions-toggle-row> + </template> </div> </div> </template> diff --git a/chromium/chrome/browser/resources/extensions/detail_view.ts b/chromium/chrome/browser/resources/extensions/detail_view.ts index c9cf18ee725..d428b42f5d2 100644 --- a/chromium/chrome/browser/resources/extensions/detail_view.ts +++ b/chromium/chrome/browser/resources/extensions/detail_view.ts @@ -1,18 +1,18 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; import 'chrome://resources/cr_elements/cr_link_row/cr_link_row.js'; import 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; -import 'chrome://resources/cr_elements/icons.m.js'; -import 'chrome://resources/cr_elements/policy/cr_tooltip_icon.m.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/icons.html.js'; +import 'chrome://resources/cr_elements/policy/cr_tooltip_icon.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/js/action_link.js'; -import 'chrome://resources/cr_elements/action_link_css.m.js'; +import 'chrome://resources/cr_elements/action_link.css.js'; import 'chrome://resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js'; import 'chrome://resources/polymer/v3_0/iron-icon/iron-icon.js'; import 'chrome://resources/polymer/v3_0/paper-spinner/paper-spinner-lite.js'; @@ -26,8 +26,9 @@ import './toggle_row.js'; import {CrLinkRowElement} from 'chrome://resources/cr_elements/cr_link_row/cr_link_row.js'; import {CrToggleElement} from 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; -import {CrTooltipIconElement} from 'chrome://resources/cr_elements/policy/cr_tooltip_icon.m.js'; -import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js'; +import {CrTooltipIconElement} from 'chrome://resources/cr_elements/policy/cr_tooltip_icon.js'; +import {assert} from 'chrome://resources/js/assert_ts.js'; +import {focusWithoutInk} from 'chrome://resources/js/focus_without_ink.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js'; import {afterNextRender, DomRepeatEvent, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; @@ -336,6 +337,19 @@ export class ExtensionsDetailViewElement extends !this.data.permissions.runtimeHostPermissions!.hasAllHosts; } + private showEnableAccessRequestsToggle_(): boolean { + return this.showSiteAccessContent_() && this.enableEnhancedSiteControls; + } + + private onShowAccessRequestsChange_() { + const showAccessRequestsToggle = + this.shadowRoot!.querySelector<ExtensionsToggleRowElement>( + '#show-access-requests-toggle'); + assert(showAccessRequestsToggle); + this.delegate.setShowAccessRequestsInToolbar( + this.data.id, showAccessRequestsToggle.checked); + } + private showReloadButton_(): boolean { return getEnableControl(this.data) === EnableControl.RELOAD; } diff --git a/chromium/chrome/browser/resources/extensions/drag_and_drop_handler.ts b/chromium/chrome/browser/resources/extensions/drag_and_drop_handler.ts index 1bc79275dae..312188cb291 100644 --- a/chromium/chrome/browser/resources/extensions/drag_and_drop_handler.ts +++ b/chromium/chrome/browser/resources/extensions/drag_and_drop_handler.ts @@ -1,8 +1,8 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import {DragWrapperDelegate} from 'chrome://resources/js/cr/ui/drag_wrapper.js'; +import {DragWrapperDelegate} from 'chrome://resources/js/drag_wrapper.js'; import {Service} from './service.js'; diff --git a/chromium/chrome/browser/resources/extensions/drop_overlay.ts b/chromium/chrome/browser/resources/extensions/drop_overlay.ts index 71fbbd667b2..fc800e74b6a 100644 --- a/chromium/chrome/browser/resources/extensions/drop_overlay.ts +++ b/chromium/chrome/browser/resources/extensions/drop_overlay.ts @@ -1,13 +1,13 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'chrome://resources/cr_elements/hidden_style_css.m.js'; -import 'chrome://resources/cr_elements/icons.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_hidden_style.css.js'; +import 'chrome://resources/cr_elements/icons.html.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/polymer/v3_0/iron-icon/iron-icon.js'; -import {DragWrapper} from 'chrome://resources/js/cr/ui/drag_wrapper.js'; +import {DragWrapper} from 'chrome://resources/js/drag_wrapper.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {DragAndDropHandler} from './drag_and_drop_handler.js'; diff --git a/chromium/chrome/browser/resources/extensions/error_page.ts b/chromium/chrome/browser/resources/extensions/error_page.ts index a4ab62e8221..b2be34765ea 100644 --- a/chromium/chrome/browser/resources/extensions/error_page.ts +++ b/chromium/chrome/browser/resources/extensions/error_page.ts @@ -1,13 +1,13 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; -import 'chrome://resources/cr_elements/icons.m.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; +import 'chrome://resources/cr_elements/icons.html.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/polymer/v3_0/iron-collapse/iron-collapse.js'; import 'chrome://resources/polymer/v3_0/iron-icon/iron-icon.js'; import 'chrome://resources/polymer/v3_0/paper-styles/color.js'; @@ -16,8 +16,8 @@ import './shared_style.css.js'; import {CrContainerShadowMixin} from 'chrome://resources/cr_elements/cr_container_shadow_mixin.js'; import {assert, assertNotReached} from 'chrome://resources/js/assert_ts.js'; -import {FocusOutlineManager} from 'chrome://resources/js/cr/ui/focus_outline_manager.m.js'; -import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js'; +import {FocusOutlineManager} from 'chrome://resources/js/focus_outline_manager.js'; +import {focusWithoutInk} from 'chrome://resources/js/focus_without_ink.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js'; import {afterNextRender, DomRepeatEvent, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; diff --git a/chromium/chrome/browser/resources/extensions/extensions.ts b/chromium/chrome/browser/resources/extensions/extensions.ts index 4d1af5fe906..915b5517fa2 100644 --- a/chromium/chrome/browser/resources/extensions/extensions.ts +++ b/chromium/chrome/browser/resources/extensions/extensions.ts @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/host_permissions_toggle_list.ts b/chromium/chrome/browser/resources/extensions/host_permissions_toggle_list.ts index ba48b6b7734..8a0822f1411 100644 --- a/chromium/chrome/browser/resources/extensions/host_permissions_toggle_list.ts +++ b/chromium/chrome/browser/resources/extensions/host_permissions_toggle_list.ts @@ -1,10 +1,10 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. +// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; -import 'chrome://resources/cr_elements/icons.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; +import 'chrome://resources/cr_elements/icons.html.js'; import 'chrome://resources/polymer/v3_0/iron-icon/iron-icon.js'; import './restricted_sites_dialog.js'; import './toggle_row.js'; @@ -187,7 +187,7 @@ export class ExtensionsHostPermissionsToggleListElement extends this.delegate.addRuntimeHostPermission(this.itemId, this.selectedHost_) .then(() => { this.delegate.removeUserSpecifiedSites( - chrome.developerPrivate.UserSiteSet.RESTRICTED, + chrome.developerPrivate.SiteSet.USER_RESTRICTED, this.matchingRestrictedSites_); }) .finally(() => { diff --git a/chromium/chrome/browser/resources/extensions/install_warnings_dialog.ts b/chromium/chrome/browser/resources/extensions/install_warnings_dialog.ts index 2a43d640d9e..db047f92ea9 100644 --- a/chromium/chrome/browser/resources/extensions/install_warnings_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/install_warnings_dialog.ts @@ -1,15 +1,16 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import 'chrome://resources/polymer/v3_0/paper-styles/color.js'; import './code_section.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; + import {getTemplate} from './install_warnings_dialog.html.js'; interface ExtensionsInstallWarningsDialogElement { diff --git a/chromium/chrome/browser/resources/extensions/item.ts b/chromium/chrome/browser/resources/extensions/item.ts index 42bd3ccec84..4ab6c109492 100644 --- a/chromium/chrome/browser/resources/extensions/item.ts +++ b/chromium/chrome/browser/resources/extensions/item.ts @@ -1,17 +1,17 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; import 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; -import 'chrome://resources/cr_elements/hidden_style_css.m.js'; -import 'chrome://resources/cr_elements/icons.m.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_hidden_style.css.js'; +import 'chrome://resources/cr_elements/icons.html.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/js/action_link.js'; -import 'chrome://resources/cr_elements/action_link_css.m.js'; +import 'chrome://resources/cr_elements/action_link.css.js'; import './icons.html.js'; import './shared_style.css.js'; import './shared_vars.css.js'; @@ -24,7 +24,7 @@ import {ChromeEvent} from '/tools/typescript/definitions/chrome_event.js'; import {getToastManager} from 'chrome://resources/cr_elements/cr_toast/cr_toast_manager.js'; import {CrToggleElement} from 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; import {assert, assertNotReached} from 'chrome://resources/js/assert_ts.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; import {flush, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {getTemplate} from './item.html.js'; @@ -50,6 +50,7 @@ export interface ItemDelegate { getExtensionSize(id: string): Promise<string>; addRuntimeHostPermission(id: string, host: string): Promise<void>; removeRuntimeHostPermission(id: string, host: string): Promise<void>; + setShowAccessRequestsInToolbar(id: string, showRequests: boolean): void; // TODO(tjudkins): This function is not specific to items, so should be pulled // out to a more generic place when we need to access it from elsewhere. @@ -139,7 +140,7 @@ export class ExtensionsItemElement extends ExtensionsItemElementBase { const idElement = this.shadowRoot!.querySelector('#extension-id'); if (idElement) { assert(this.data); - idElement.innerHTML = this.i18n('itemId', this.data.id); + idElement.textContent = this.i18n('itemId', this.data.id); } } diff --git a/chromium/chrome/browser/resources/extensions/item_list.ts b/chromium/chrome/browser/resources/extensions/item_list.ts index c8943c3e392..7b813a3c34a 100644 --- a/chromium/chrome/browser/resources/extensions/item_list.ts +++ b/chromium/chrome/browser/resources/extensions/item_list.ts @@ -1,4 +1,4 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,7 +7,7 @@ import './item.js'; import './shared_style.css.js'; import {CrContainerShadowMixin} from 'chrome://resources/cr_elements/cr_container_shadow_mixin.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; import {IronA11yAnnouncer} from 'chrome://resources/polymer/v3_0/iron-a11y-announcer/iron-a11y-announcer.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; diff --git a/chromium/chrome/browser/resources/extensions/item_mixin.ts b/chromium/chrome/browser/resources/extensions/item_mixin.ts index e0a1f88d47e..15291b22258 100644 --- a/chromium/chrome/browser/resources/extensions/item_mixin.ts +++ b/chromium/chrome/browser/resources/extensions/item_mixin.ts @@ -1,4 +1,4 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/item_util.ts b/chromium/chrome/browser/resources/extensions/item_util.ts index e93af1d2b45..846bff5e7b4 100644 --- a/chromium/chrome/browser/resources/extensions/item_util.ts +++ b/chromium/chrome/browser/resources/extensions/item_util.ts @@ -1,4 +1,4 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/keyboard_shortcut_delegate.ts b/chromium/chrome/browser/resources/extensions/keyboard_shortcut_delegate.ts index c76bf5ffc3f..c47764efbe4 100644 --- a/chromium/chrome/browser/resources/extensions/keyboard_shortcut_delegate.ts +++ b/chromium/chrome/browser/resources/extensions/keyboard_shortcut_delegate.ts @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/keyboard_shortcuts.ts b/chromium/chrome/browser/resources/extensions/keyboard_shortcuts.ts index e1a88de5092..34e54fc9184 100644 --- a/chromium/chrome/browser/resources/extensions/keyboard_shortcuts.ts +++ b/chromium/chrome/browser/resources/extensions/keyboard_shortcuts.ts @@ -1,10 +1,10 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; -import 'chrome://resources/cr_elements/md_select_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; +import 'chrome://resources/cr_elements/md_select.css.js'; import 'chrome://resources/polymer/v3_0/paper-styles/color.js'; import './shortcut_input.js'; diff --git a/chromium/chrome/browser/resources/extensions/kiosk_browser_proxy.ts b/chromium/chrome/browser/resources/extensions/kiosk_browser_proxy.ts index e8cc16def9c..52223f6dcb3 100644 --- a/chromium/chrome/browser/resources/extensions/kiosk_browser_proxy.ts +++ b/chromium/chrome/browser/resources/extensions/kiosk_browser_proxy.ts @@ -1,4 +1,4 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/kiosk_dialog.ts b/chromium/chrome/browser/resources/extensions/kiosk_dialog.ts index 956bd896902..0fad8aab7e1 100644 --- a/chromium/chrome/browser/resources/extensions/kiosk_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/kiosk_dialog.ts @@ -1,4 +1,4 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,16 +6,16 @@ import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_checkbox/cr_checkbox.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; import 'chrome://resources/cr_elements/cr_input/cr_input.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js'; import {CrCheckboxElement} from 'chrome://resources/cr_elements/cr_checkbox/cr_checkbox.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {CrInputElement} from 'chrome://resources/cr_elements/cr_input/cr_input.js'; import {assert} from 'chrome://resources/js/assert_ts.js'; -import {WebUIListenerMixin} from 'chrome://resources/js/web_ui_listener_mixin.js'; +import {WebUIListenerMixin} from 'chrome://resources/cr_elements/web_ui_listener_mixin.js'; import {DomRepeatEvent, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {KioskApp, KioskAppSettings, KioskBrowserProxy, KioskBrowserProxyImpl} from './kiosk_browser_proxy.js'; diff --git a/chromium/chrome/browser/resources/extensions/load_error.ts b/chromium/chrome/browser/resources/extensions/load_error.ts index e0d17a5a27b..e02f7d9689a 100644 --- a/chromium/chrome/browser/resources/extensions/load_error.ts +++ b/chromium/chrome/browser/resources/extensions/load_error.ts @@ -1,10 +1,10 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import 'chrome://resources/polymer/v3_0/paper-spinner/paper-spinner-lite.js'; import './code_section.js'; import './strings.m.js'; diff --git a/chromium/chrome/browser/resources/extensions/manager.html b/chromium/chrome/browser/resources/extensions/manager.html index ec2594bfef4..8945c4ae90a 100644 --- a/chromium/chrome/browser/resources/extensions/manager.html +++ b/chromium/chrome/browser/resources/extensions/manager.html @@ -75,13 +75,15 @@ <cr-lazy-render id="site-permissions"> <template> <extensions-site-permissions delegate="[[delegate]]" slot="view" + extensions="[[extensions_]]" enable-enhanced-site-controls="[[enableEnhancedSiteControls]]"> </extensions-site-permissions> </template> </cr-lazy-render> <cr-lazy-render id="site-permissions-by-site"> <template> - <extensions-site-permissions-by-site delegate="[[delegate]]" slot="view"> + <extensions-site-permissions-by-site delegate="[[delegate]]" slot="view" + extensions="[[extensions_]]"> </extensions-site-permissions-by-site> </template> </cr-lazy-render> diff --git a/chromium/chrome/browser/resources/extensions/manager.ts b/chromium/chrome/browser/resources/extensions/manager.ts index 7508b624fed..848a5b15b31 100644 --- a/chromium/chrome/browser/resources/extensions/manager.ts +++ b/chromium/chrome/browser/resources/extensions/manager.ts @@ -1,4 +1,4 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,8 +7,8 @@ import 'chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.js'; import 'chrome://resources/cr_elements/cr_toast/cr_toast_manager.js'; import 'chrome://resources/cr_elements/cr_toolbar/cr_toolbar.js'; import 'chrome://resources/cr_elements/cr_view_manager/cr_view_manager.js'; -import 'chrome://resources/cr_elements/hidden_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_hidden_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import './activity_log/activity_log.js'; import './detail_view.js'; import './drop_overlay.js'; diff --git a/chromium/chrome/browser/resources/extensions/navigation_helper.ts b/chromium/chrome/browser/resources/extensions/navigation_helper.ts index 64d54fe8834..c6ee19e0d7c 100644 --- a/chromium/chrome/browser/resources/extensions/navigation_helper.ts +++ b/chromium/chrome/browser/resources/extensions/navigation_helper.ts @@ -1,4 +1,4 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/options_dialog.ts b/chromium/chrome/browser/resources/extensions/options_dialog.ts index dcb8191185e..5ee9f754020 100644 --- a/chromium/chrome/browser/resources/extensions/options_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/options_dialog.ts @@ -1,11 +1,11 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; -import {EventTracker} from 'chrome://resources/js/event_tracker.m.js'; +import {EventTracker} from 'chrome://resources/js/event_tracker.js'; import {Debouncer, PolymerElement, timeOut} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {navigation, Page} from './navigation_helper.js'; diff --git a/chromium/chrome/browser/resources/extensions/pack_dialog.ts b/chromium/chrome/browser/resources/extensions/pack_dialog.ts index f7e7b99115c..fbcffdd63a1 100644 --- a/chromium/chrome/browser/resources/extensions/pack_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/pack_dialog.ts @@ -1,18 +1,19 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import 'chrome://resources/cr_elements/cr_input/cr_input.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import './pack_dialog_alert.js'; import './strings.m.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {CrInputElement} from 'chrome://resources/cr_elements/cr_input/cr_input.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; + import {getTemplate} from './pack_dialog.html.js'; export interface PackDialogDelegate { diff --git a/chromium/chrome/browser/resources/extensions/pack_dialog_alert.ts b/chromium/chrome/browser/resources/extensions/pack_dialog_alert.ts index e2609cbaaa1..2945a8c886c 100644 --- a/chromium/chrome/browser/resources/extensions/pack_dialog_alert.ts +++ b/chromium/chrome/browser/resources/extensions/pack_dialog_alert.ts @@ -1,15 +1,16 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {assert, assertNotReached} from 'chrome://resources/js/assert_ts.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; + import {getTemplate} from './pack_dialog_alert.html.js'; export interface ExtensionsPackDialogAlertElement { diff --git a/chromium/chrome/browser/resources/extensions/restricted_sites_dialog.ts b/chromium/chrome/browser/resources/extensions/restricted_sites_dialog.ts index 713bff015dc..71c88cf5e22 100644 --- a/chromium/chrome/browser/resources/extensions/restricted_sites_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/restricted_sites_dialog.ts @@ -1,17 +1,17 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/polymer/v3_0/iron-icon/iron-icon.js'; import './strings.m.js'; import './shared_style.css.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {getTemplate} from './restricted_sites_dialog.html.js'; diff --git a/chromium/chrome/browser/resources/extensions/runtime_host_permissions.ts b/chromium/chrome/browser/resources/extensions/runtime_host_permissions.ts index 35147c7ba55..0d0fa2d9ed2 100644 --- a/chromium/chrome/browser/resources/extensions/runtime_host_permissions.ts +++ b/chromium/chrome/browser/resources/extensions/runtime_host_permissions.ts @@ -1,4 +1,4 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. +// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -8,12 +8,12 @@ import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; import 'chrome://resources/cr_elements/cr_radio_group/cr_radio_group.js'; import 'chrome://resources/cr_elements/cr_radio_button/cr_radio_button.js'; -import 'chrome://resources/cr_elements/icons.m.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/icons.html.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/js/action_link.js'; -import 'chrome://resources/cr_elements/action_link_css.m.js'; -import 'chrome://resources/cr_elements/md_select_css.m.js'; +import 'chrome://resources/cr_elements/action_link.css.js'; +import 'chrome://resources/cr_elements/md_select.css.js'; import 'chrome://resources/polymer/v3_0/iron-icon/iron-icon.js'; import './runtime_hosts_dialog.js'; import './shared_style.css.js'; @@ -22,7 +22,7 @@ import './strings.m.js'; import {CrActionMenuElement} from 'chrome://resources/cr_elements/cr_action_menu/cr_action_menu.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {assert} from 'chrome://resources/js/assert_ts.js'; -import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js'; +import {focusWithoutInk} from 'chrome://resources/js/focus_without_ink.js'; import {DomRepeatEvent, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {ItemDelegate} from './item.js'; diff --git a/chromium/chrome/browser/resources/extensions/runtime_hosts_dialog.ts b/chromium/chrome/browser/resources/extensions/runtime_hosts_dialog.ts index b4ab5c417be..226aabf734a 100644 --- a/chromium/chrome/browser/resources/extensions/runtime_hosts_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/runtime_hosts_dialog.ts @@ -1,12 +1,12 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. +// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import 'chrome://resources/cr_elements/cr_input/cr_input.js'; -import 'chrome://resources/cr_elements/icons.m.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/icons.html.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import 'chrome://resources/polymer/v3_0/iron-icon/iron-icon.js'; import './strings.m.js'; import './shared_vars.css.js'; @@ -14,7 +14,7 @@ import './shared_vars.css.js'; import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import {assert} from 'chrome://resources/js/assert_ts.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; @@ -283,7 +283,7 @@ export class ExtensionsRuntimeHostsDialogElement extends () => { if (restrictedSites.length) { this.delegate.removeUserSpecifiedSites( - chrome.developerPrivate.UserSiteSet.RESTRICTED, + chrome.developerPrivate.SiteSet.USER_RESTRICTED, restrictedSites); } this.$.dialog.close(); diff --git a/chromium/chrome/browser/resources/extensions/service.ts b/chromium/chrome/browser/resources/extensions/service.ts index 41c8c55690c..2b1ea327bff 100644 --- a/chromium/chrome/browser/resources/extensions/service.ts +++ b/chromium/chrome/browser/resources/extensions/service.ts @@ -1,4 +1,4 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -477,20 +477,19 @@ export class Service implements ServiceInterface { } addUserSpecifiedSites( - siteSet: chrome.developerPrivate.UserSiteSet, + siteSet: chrome.developerPrivate.SiteSet, hosts: string[]): Promise<void> { return new Promise(function(resolve) { - chrome.developerPrivate.addUserSpecifiedSites( - {siteList: siteSet, hosts}, resolve); + chrome.developerPrivate.addUserSpecifiedSites({siteSet, hosts}, resolve); }); } removeUserSpecifiedSites( - siteSet: chrome.developerPrivate.UserSiteSet, + siteSet: chrome.developerPrivate.SiteSet, hosts: string[]): Promise<void> { return new Promise(function(resolve) { chrome.developerPrivate.removeUserSpecifiedSites( - {siteList: siteSet, hosts}, resolve); + {siteSet, hosts}, resolve); }); } @@ -501,10 +500,22 @@ export class Service implements ServiceInterface { }); } + getMatchingExtensionsForSite(site: string): + Promise<chrome.developerPrivate.MatchingExtensionInfo[]> { + return chrome.developerPrivate.getMatchingExtensionsForSite(site); + } + getUserSiteSettingsChangedTarget() { return chrome.developerPrivate.onUserSiteSettingsChanged; } + setShowAccessRequestsInToolbar(id: string, showRequests: boolean) { + chrome.developerPrivate.updateExtensionConfiguration({ + extensionId: id, + showAccessRequestsInToolbar: showRequests, + }); + } + static getInstance(): ServiceInterface { return instance || (instance = new Service()); } diff --git a/chromium/chrome/browser/resources/extensions/shared_style.css b/chromium/chrome/browser/resources/extensions/shared_style.css index 1bbd2fcc426..1d00f9111a4 100644 --- a/chromium/chrome/browser/resources/extensions/shared_style.css +++ b/chromium/chrome/browser/resources/extensions/shared_style.css @@ -1,18 +1,17 @@ -/* Copyright 2022 The Chromium Authors. All rights reserved. +/* Copyright 2022 The Chromium Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* #css_wrapper_metadata_start * #type=style - * #import=chrome://resources/cr_elements/shared_style_css.m.js - * #import=chrome://resources/cr_elements/shared_vars_css.m.js + * #import=chrome://resources/cr_elements/cr_shared_style.css.js + * #import=chrome://resources/cr_elements/cr_shared_vars.css.js * #import=./shared_vars.css.js * #include=cr-shared-style * #css_wrapper_metadata_end */ a[href] { color: var(--cr-link-color); - text-decoration: none; } .activity-message { diff --git a/chromium/chrome/browser/resources/extensions/shared_vars.css b/chromium/chrome/browser/resources/extensions/shared_vars.css index eaa0e1f4448..7c3c0106eef 100644 --- a/chromium/chrome/browser/resources/extensions/shared_vars.css +++ b/chromium/chrome/browser/resources/extensions/shared_vars.css @@ -1,10 +1,10 @@ -/* Copyright 2022 The Chromium Authors. All rights reserved. +/* Copyright 2022 The Chromium Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* #css_wrapper_metadata_start * #type=vars - * #import=chrome://resources/cr_elements/shared_vars_css.m.js + * #import=chrome://resources/cr_elements/cr_shared_vars.css.js * #import=chrome://resources/polymer/v3_0/paper-styles/color.js * #css_wrapper_metadata_end */ diff --git a/chromium/chrome/browser/resources/extensions/shortcut_input.ts b/chromium/chrome/browser/resources/extensions/shortcut_input.ts index 1a203e1e202..b0d169e238a 100644 --- a/chromium/chrome/browser/resources/extensions/shortcut_input.ts +++ b/chromium/chrome/browser/resources/extensions/shortcut_input.ts @@ -1,16 +1,16 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; import 'chrome://resources/cr_elements/cr_input/cr_input.js'; -import 'chrome://resources/cr_elements/hidden_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_hidden_style.css.js'; import 'chrome://resources/polymer/v3_0/paper-styles/color.js'; import {CrInputElement} from 'chrome://resources/cr_elements/cr_input/cr_input.js'; import {assert} from 'chrome://resources/js/assert_ts.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; import {IronA11yAnnouncer} from 'chrome://resources/polymer/v3_0/iron-a11y-announcer/iron-a11y-announcer.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; diff --git a/chromium/chrome/browser/resources/extensions/shortcut_util.ts b/chromium/chrome/browser/resources/extensions/shortcut_util.ts index ec52f41d517..30a07081803 100644 --- a/chromium/chrome/browser/resources/extensions/shortcut_util.ts +++ b/chromium/chrome/browser/resources/extensions/shortcut_util.ts @@ -1,4 +1,4 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chromium/chrome/browser/resources/extensions/sidebar.ts b/chromium/chrome/browser/resources/extensions/sidebar.ts index cec19809646..84501e04a1c 100644 --- a/chromium/chrome/browser/resources/extensions/sidebar.ts +++ b/chromium/chrome/browser/resources/extensions/sidebar.ts @@ -1,8 +1,8 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'chrome://resources/cr_elements/cr_icons_css.m.js'; -import 'chrome://resources/cr_elements/hidden_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_icons.css.js'; +import 'chrome://resources/cr_elements/cr_hidden_style.css.js'; import 'chrome://resources/polymer/v3_0/iron-selector/iron-selector.js'; import 'chrome://resources/polymer/v3_0/paper-ripple/paper-ripple.js'; import 'chrome://resources/polymer/v3_0/paper-styles/color.js'; diff --git a/chromium/chrome/browser/resources/extensions/site_permissions.html b/chromium/chrome/browser/resources/extensions/site_permissions.html index 4f77ebc2fd3..afa8d0f2472 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions.html +++ b/chromium/chrome/browser/resources/extensions/site_permissions.html @@ -33,13 +33,15 @@ <div id="site-lists"> <site-permissions-list delegate="[[delegate]]" + extensions="[[extensions]]" header="$i18n{permittedSites}" - site-set="[[userSiteSetEnum_.PERMITTED]]" + site-set="[[siteSetEnum_.USER_PERMITTED]]" sites="[[permittedSites]]"></site-permissions-list> <site-permissions-list delegate="[[delegate]]" + extensions="[[extensions]]" header="$i18n{restrictedSites}" - site-set="[[userSiteSetEnum_.RESTRICTED]]" + site-set="[[siteSetEnum_.USER_RESTRICTED]]" sites="[[restrictedSites]]"></site-permissions-list> </div> <cr-link-row class="hr" id="allSitesLink" diff --git a/chromium/chrome/browser/resources/extensions/site_permissions.ts b/chromium/chrome/browser/resources/extensions/site_permissions.ts index 4b1912e0a6e..477a6fa6231 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions.ts +++ b/chromium/chrome/browser/resources/extensions/site_permissions.ts @@ -1,10 +1,10 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. +// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_link_row/cr_link_row.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import './strings.m.js'; import './shared_style.css.js'; import './shared_vars.css.js'; @@ -37,13 +37,17 @@ export class ExtensionsSitePermissionsElement extends static get properties() { return { - userSiteSetEnum_: { + extensions: Array, + + siteSetEnum_: { type: Object, - value: chrome.developerPrivate.UserSiteSet, + value: chrome.developerPrivate.SiteSet, }, }; } + extensions: chrome.developerPrivate.ExtensionInfo[]; + private onAllSitesLinkClick_() { navigation.navigateTo({page: Page.SITE_PERMISSIONS_ALL_SITES}); } diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_by_site.html b/chromium/chrome/browser/resources/extensions/site_permissions_by_site.html index deed7ad37ed..47a84260683 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_by_site.html +++ b/chromium/chrome/browser/resources/extensions/site_permissions_by_site.html @@ -22,6 +22,7 @@ <div id="site-groups"> <template is="dom-repeat" items="[[siteGroups_]]"> <site-permissions-site-group data="[[item]]" delegate="[[delegate]]" + extensions="[[extensions]]" list-index="[[index]]"> </site-permissions-site-group> </template> diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_by_site.ts b/chromium/chrome/browser/resources/extensions/site_permissions_by_site.ts index 4cf152313d8..4d96a668daa 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_by_site.ts +++ b/chromium/chrome/browser/resources/extensions/site_permissions_by_site.ts @@ -1,9 +1,9 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import './shared_style.css.js'; import './shared_vars.css.js'; import './site_permissions_site_group.js'; @@ -34,6 +34,7 @@ export class ExtensionsSitePermissionsBySiteElement extends PolymerElement { static get properties() { return { delegate: Object, + extensions: Array, siteGroups_: { type: Array, @@ -43,6 +44,7 @@ export class ExtensionsSitePermissionsBySiteElement extends PolymerElement { } delegate: ItemDelegate&SiteSettingsDelegate; + extensions: chrome.developerPrivate.ExtensionInfo[]; private siteGroups_: chrome.developerPrivate.SiteGroup[]; override ready() { diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.html b/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.html index 7f89b94955a..4abbbb093a2 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.html +++ b/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.html @@ -1,21 +1,98 @@ -<style include="cr-shared-style"> +<style include="cr-shared-style md-select"> + :host { + --radio-group-height: 132px; + --dialog-height: 360px; + } + cr-radio-group { - width: 100%; + height: var(--radio-group-height); + padding-inline: 8px; + } + + .site-access-list { + max-height: var(--dialog-height); + } + + .indented-site-access-list { + margin-inline-start: 36px; + max-height: calc(var(--dialog-height) - var(--radio-group-height)); + } + + .extension-row { + --md-select-width: 180px; + align-items: center; + border-top: var(--cr-separator-line); + display: flex; + height: 32px; + padding: 12px 0; + } + + .extension-row:first-child { + border-top: none; + } + + .extension-icon { + height: 24px; + margin-inline-end: 12px; + width: 24px; + } + + .extension-name { + flex-grow: 1; + margin-inline-end: 12px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } </style> <cr-dialog id="dialog" show-on-attach> <div slot="title">[[computeDialogTitle_(site)]]</div> + <div slot="header"> + <!-- The cr-radio-group is in the header instead of the body slot so it is + fixed in place while the list of extensions in the body slot can scroll + if the dialog's contents exceed the max height. --> + <template is="dom-if" if="[[!matchesSubdomains_(site)]]"> + <cr-radio-group selected="{{siteSet_}}"> + <cr-radio-button + name="[[siteSetEnum_.USER_PERMITTED]]" + label="[[getPermittedSiteLabel_(site)]]"> + </cr-radio-button> + <cr-radio-button + name="[[siteSetEnum_.USER_RESTRICTED]]" + label="[[getRestrictedSiteLabel_(site)]]"> + </cr-radio-button> + <cr-radio-button + name="[[siteSetEnum_.EXTENSION_SPECIFIED]]" + label="$i18n{editSitePermissionsCustomizePerExtension}"> + </cr-radio-button> + </cr-radio-group> + </template> + </div> <div slot="body"> - <cr-radio-group selected="{{siteSet_}}"> - <cr-radio-button - name="[[userSiteSetEnum_.PERMITTED]]" - label="[[getPermittedSiteLabel_(site)]]"> - </cr-radio-button> - <cr-radio-button - name="[[userSiteSetEnum_.RESTRICTED]]" - label="[[getRestrictedSiteLabel_(site)]]"> - </cr-radio-button> - </cr-radio-group> + <template is="dom-if" if="[[showExtensionSiteAccessData_(siteSet_)]]"> + <div class$="[[getDialogBodyContainerClass_(site)]]"> + <template is="dom-repeat" items="[[extensionSiteAccessData_]]"> + <div class="extension-row"> + <img class="extension-icon" src="[[item.iconUrl]]" alt=""> + <span class="extension-name">[[item.name]]</span> + <!-- TODO(crbug.com/1253673): Enable these after implementing an API + method to edit site access for multiple extensions. --> + <select class="extension-host-access md-select" + value="[[item.siteAccess]]" disabled> + <option value="[[hostAccessEnum_.ON_CLICK]]"> + $i18n{sitePermissionsOnClick} + </option> + <option value="[[hostAccessEnum_.ON_SPECIFIC_SITES]]"> + $i18n{sitePermissionsAlwaysOnThisSite} + </option> + <option value="[[hostAccessEnum_.ON_ALL_SITES]]"> + $i18n{sitePermissionsAlwaysOnAllSites} + </option> + </select> + </div> + </template> + </div> + </template> </div> <div slot="button-container"> <cr-button class="cancel-button" on-click="onCancelClick_"> diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.ts b/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.ts index 8e14e3b101c..4975b8c1b7e 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/site_permissions_edit_permissions_dialog.ts @@ -1,4 +1,4 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,17 +6,26 @@ import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import 'chrome://resources/cr_elements/cr_radio_button/cr_radio_button.js'; import 'chrome://resources/cr_elements/cr_radio_group/cr_radio_group.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/md_select.css.js'; import './strings.m.js'; import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js'; import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; +import {assert} from 'chrome://resources/js/assert_ts.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {getTemplate} from './site_permissions_edit_permissions_dialog.html.js'; import {SiteSettingsDelegate} from './site_settings_mixin.js'; +interface ExtensionSiteAccessInfo { + id: string; + name: string; + iconUrl: string; + siteAccess: string; +} + export interface SitePermissionsEditPermissionsDialogElement { $: { dialog: CrDialogElement, @@ -24,6 +33,26 @@ export interface SitePermissionsEditPermissionsDialogElement { }; } +const EXTENSION_SPECIFIED = chrome.developerPrivate.SiteSet.EXTENSION_SPECIFIED; + +// A list of possible schemes that can be specified by extension host +// permissions. This is derived from URLPattern::SchemeMasks. +const VALID_SCHEMES = [ + '*', + 'http', + 'https', + 'file', + 'ftp', + 'chrome', + 'chrome-extension', + 'filesystem', + 'ftp', + 'ws', + 'wss', + 'data', + 'uuid-in-package', +]; + const SitePermissionsEditPermissionsDialogElementBase = I18nMixin(PolymerElement); @@ -40,10 +69,16 @@ export class SitePermissionsEditPermissionsDialogElement extends static get properties() { return { delegate: Object, + extensions: { + type: Array, + value: () => [], + observer: 'onExtensionsUpdated_', + }, /** * The current siteSet for `site`, as stored in the backend. Specifies - * whether `site` is a user specified permitted or restricted site. + * whether `site` is a user specified permitted or restricted site, or is + * a pattern specified by an extension's host permissions.. */ originalSiteSet: String, @@ -56,23 +91,97 @@ export class SitePermissionsEditPermissionsDialogElement extends * The temporary siteSet for `site` as displayed in the dialog. Will be * saved to the backend when the dialog is submitted. */ - siteSet_: String, + siteSet_: { + type: String, + observer: 'onSiteSetUpdated_', + }, - userSiteSetEnum_: { + siteSetEnum_: { type: Object, - value: chrome.developerPrivate.UserSiteSet, + value: chrome.developerPrivate.SiteSet, + }, + + extensionSiteAccessData_: { + type: Array, + value: () => [], + }, + + /** + * Proxying the enum to be used easily by the html template. + */ + hostAccessEnum_: { + type: Object, + value: chrome.developerPrivate.HostAccess, }, }; } delegate: SiteSettingsDelegate; - originalSiteSet: chrome.developerPrivate.UserSiteSet; + extensions: chrome.developerPrivate.ExtensionInfo[]; + originalSiteSet: chrome.developerPrivate.SiteSet; site: string; - private siteSet_: chrome.developerPrivate.UserSiteSet; + private siteSet_: chrome.developerPrivate.SiteSet; + private extensionsIdToInfo_: + Map<string, chrome.developerPrivate.ExtensionInfo>; + private extensionSiteAccessData_: ExtensionSiteAccessInfo[]; - override connectedCallback() { - super.connectedCallback(); + override ready() { + super.ready(); this.siteSet_ = this.originalSiteSet; + + // If `this.site` matches subdomains, then it should not be a user specified + // site. + assert( + !this.matchesSubdomains_() || + this.originalSiteSet === EXTENSION_SPECIFIED); + + this.updateExtensionSiteAccessData_(this.siteSet_); + } + + private onExtensionsUpdated_(extensions: + chrome.developerPrivate.ExtensionInfo[]) { + this.extensionsIdToInfo_ = new Map(); + for (const extension of extensions) { + this.extensionsIdToInfo_.set(extension.id, extension); + } + this.updateExtensionSiteAccessData_(this.siteSet_); + } + + private onSiteSetUpdated_(siteSet: chrome.developerPrivate.SiteSet) { + this.updateExtensionSiteAccessData_(siteSet); + } + + // Returns true if this.site is a just a host by checking whether or not it + // starts with a valid scheme. If not, assume the site is a full URL. + // Different components that use this dialog may supply either a URL or just a + // host. + private isSiteHostOnly_(): boolean { + return !VALID_SCHEMES.some(scheme => this.site.startsWith(`${scheme}://`)); + } + + // Fetches all extensions that have requested access to `this.site` along with + // their access status. This information is joined with some fields in + // `this.extensions` to update `this.extensionSiteAccessData_`. + private async updateExtensionSiteAccessData_( + siteSet: chrome.developerPrivate.SiteSet) { + // Avoid fetching the list of matching extensions if they will not be + // displayed. + if (siteSet !== EXTENSION_SPECIFIED) { + return; + } + + const siteToCheck = + this.isSiteHostOnly_() ? `*://${this.site}/` : this.site; + const matchingExtensionsInfo = + await this.delegate.getMatchingExtensionsForSite(siteToCheck); + const extensionSiteAccessData: ExtensionSiteAccessInfo[] = []; + matchingExtensionsInfo.forEach(({id, siteAccess}) => { + assert(this.extensionsIdToInfo_.has(id)); + const {name, iconUrl} = this.extensionsIdToInfo_.get(id)!; + extensionSiteAccessData.push({id, name, iconUrl, siteAccess}); + }); + + this.extensionSiteAccessData_ = extensionSiteAccessData; } private onCancelClick_() { @@ -85,9 +194,24 @@ export class SitePermissionsEditPermissionsDialogElement extends return; } - this.delegate.addUserSpecifiedSites(this.siteSet_, [this.site]).then(() => { - this.$.dialog.close(); - }); + // If `this.site` has a scheme (and can be considered a full url), use it + // as is. Otherwise if `this.site` is just a host, append the http and https + // schemes to it. + const sitesToChange = this.isSiteHostOnly_() ? + [`http://${this.site}`, `https://${this.site}`] : + [this.site]; + if (this.siteSet_ === EXTENSION_SPECIFIED) { + this.delegate + .removeUserSpecifiedSites(this.originalSiteSet, sitesToChange) + .then(() => { + this.$.dialog.close(); + }); + } else { + this.delegate.addUserSpecifiedSites(this.siteSet_, sitesToChange) + .then(() => { + this.$.dialog.close(); + }); + } } private computeDialogTitle_(): string { @@ -101,6 +225,23 @@ export class SitePermissionsEditPermissionsDialogElement extends private getRestrictedSiteLabel_(): string { return this.i18n('editSitePermissionsRestrictExtensions', this.site); } + + private matchesSubdomains_(): boolean { + // Sites that match all subdomains for a given host will specify "*.<host>". + // Given how sites are specified as origins for user specified sites and how + // extension host permissions are specified, it should be safe to assume + // that "*." will only be used to match subdomains. + return this.site.includes('*.'); + } + + private showExtensionSiteAccessData_(): boolean { + return this.siteSet_ === EXTENSION_SPECIFIED; + } + + private getDialogBodyContainerClass_(): string { + return this.matchesSubdomains_() ? 'site-access-list' : + 'indented-site-access-list'; + } } declare global { diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_edit_url_dialog.ts b/chromium/chrome/browser/resources/extensions/site_permissions_edit_url_dialog.ts index 921a5660e04..7f2aeb8be6e 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_edit_url_dialog.ts +++ b/chromium/chrome/browser/resources/extensions/site_permissions_edit_url_dialog.ts @@ -1,11 +1,11 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js'; import 'chrome://resources/cr_elements/cr_input/cr_input.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import './strings.m.js'; import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js'; @@ -87,7 +87,7 @@ export class SitePermissionsEditUrlDialogElement extends PolymerElement { } delegate: SiteSettingsDelegate; - siteSet: chrome.developerPrivate.UserSiteSet; + siteSet: chrome.developerPrivate.SiteSet; siteToEdit: string|null; private site_: string; private inputValid_: boolean; diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_list.html b/chromium/chrome/browser/resources/extensions/site_permissions_list.html index d3eb25f6911..fafdb2e9517 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_list.html +++ b/chromium/chrome/browser/resources/extensions/site_permissions_list.html @@ -77,6 +77,7 @@ <template is="dom-if" if="[[showEditSitePermissionsDialog_]]" restamp> <site-permissions-edit-permissions-dialog delegate="[[delegate]]" + extensions="[[extensions]]" site="[[siteToEdit_]]" original-site-set="[[siteSet]]" on-close="onEditSitePermissionsDialogClose_"> diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_list.ts b/chromium/chrome/browser/resources/extensions/site_permissions_list.ts index 3786f4ee360..c44c9612422 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_list.ts +++ b/chromium/chrome/browser/resources/extensions/site_permissions_list.ts @@ -1,12 +1,12 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_action_menu/cr_action_menu.js'; import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import './strings.m.js'; import './shared_style.css.js'; import './shared_vars.css.js'; @@ -16,7 +16,7 @@ import './site_permissions_edit_url_dialog.js'; import {CrActionMenuElement} from 'chrome://resources/cr_elements/cr_action_menu/cr_action_menu.js'; import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js'; import {assert} from 'chrome://resources/js/assert_ts.js'; -import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js'; +import {focusWithoutInk} from 'chrome://resources/js/focus_without_ink.js'; import {DomRepeatEvent, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {getTemplate} from './site_permissions_list.html.js'; @@ -42,6 +42,7 @@ export class ExtensionsSitePermissionsListElement extends PolymerElement { static get properties() { return { delegate: Object, + extensions: Array, header: String, siteSet: String, sites: Array, @@ -68,8 +69,9 @@ export class ExtensionsSitePermissionsListElement extends PolymerElement { } delegate: SiteSettingsDelegate; + extensions: chrome.developerPrivate.ExtensionInfo[]; header: string; - siteSet: chrome.developerPrivate.UserSiteSet; + siteSet: chrome.developerPrivate.SiteSet; sites: string[]; private showEditSiteUrlDialog_: boolean; private showEditSitePermissionsDialog_: boolean; diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_site_group.html b/chromium/chrome/browser/resources/extensions/site_permissions_site_group.html index 2bbb15ca7c6..97be162e976 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_site_group.html +++ b/chromium/chrome/browser/resources/extensions/site_permissions_site_group.html @@ -60,10 +60,7 @@ expanded="{{expanded_}}"> </cr-expand-button> </template> - <!-- TODO(crbug.com/1253673): Always show this once the option to edit - extension permissions for a site is added for the dialog. --> - <template is="dom-if" - if="[[showEditSitePermissionsDialogButton_(data)]]"> + <template is="dom-if" if="[[!isExpandable_]]"> <cr-icon-button class="subpage-arrow" id="edit-one-site-button" on-click="onEditSiteClick_"> </cr-icon-button> @@ -78,12 +75,8 @@ <span class="site">[[item.site]]</span> <span class="site-subtext">[[getSiteSubtext_(item)]]</span> </div> - <!-- TODO(crbug.com/1253673): Always show this once the option to edit - extension permissions for a site is added for the dialog. --> - <template is="dom-if" if="[[item.siteList]]"> - <cr-icon-button class="subpage-arrow" on-click="onEditSiteInListClick_"> - </cr-icon-button> - </template> + <cr-icon-button class="subpage-arrow" on-click="onEditSiteInListClick_"> + </cr-icon-button> </div> </template> </div> @@ -91,8 +84,9 @@ <template is="dom-if" if="[[showEditSitePermissionsDialog_]]" restamp> <site-permissions-edit-permissions-dialog delegate="[[delegate]]" + extensions="[[extensions]]" site="[[siteToEdit_.site]]" - original-site-set="[[siteToEdit_.siteList]]" + original-site-set="[[siteToEdit_.siteSet]]" on-close="onEditSitePermissionsDialogClose_"> </site-permissions-edit-permissions-dialog> </template> diff --git a/chromium/chrome/browser/resources/extensions/site_permissions_site_group.ts b/chromium/chrome/browser/resources/extensions/site_permissions_site_group.ts index 55a49815bfe..8b2ab8dc0b4 100644 --- a/chromium/chrome/browser/resources/extensions/site_permissions_site_group.ts +++ b/chromium/chrome/browser/resources/extensions/site_permissions_site_group.ts @@ -1,11 +1,11 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_expand_button/cr_expand_button.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import './strings.m.js'; import './shared_style.css.js'; import './shared_vars.css.js'; @@ -39,6 +39,7 @@ export class SitePermissionsSiteGroupElement extends PolymerElement { return { data: Object, delegate: Object, + extensions: Array, listIndex: { type: Number, @@ -69,6 +70,7 @@ export class SitePermissionsSiteGroupElement extends PolymerElement { data: chrome.developerPrivate.SiteGroup; delegate: SiteSettingsDelegate; + extensions: chrome.developerPrivate.ExtensionInfo[]; listIndex: number; private expanded_: boolean; private isExpandable_: boolean; @@ -100,18 +102,18 @@ export class SitePermissionsSiteGroupElement extends PolymerElement { // TODO(crbug.com/1253673): Revisit what to show for this eTLD+1 group's // subtext. For now, default to showing no text if there is any mix of sites // under the group (i.e. user permitted/restricted/specified by extensions). - const siteList = this.data.sites[0].siteList; - const isSiteListConsistent = - this.data.sites.every(site => site.siteList === siteList); - if (!isSiteListConsistent) { + const siteSet = this.data.sites[0].siteSet; + const isSiteSetConsistent = + this.data.sites.every(site => site.siteSet === siteSet); + if (!isSiteSetConsistent) { return ''; } - if (siteList === chrome.developerPrivate.UserSiteSet.PERMITTED) { + if (siteSet === chrome.developerPrivate.SiteSet.USER_PERMITTED) { return loadTimeData.getString('permittedSites'); } - return siteList === chrome.developerPrivate.UserSiteSet.RESTRICTED ? + return siteSet === chrome.developerPrivate.SiteSet.USER_RESTRICTED ? loadTimeData.getString('restrictedSites') : loadTimeData.getStringF( 'sitePermissionsAllSitesExtensionCount', this.data.numExtensions); @@ -124,15 +126,11 @@ export class SitePermissionsSiteGroupElement extends PolymerElement { } return loadTimeData.getString( - siteInfo.siteList === chrome.developerPrivate.UserSiteSet.PERMITTED ? + siteInfo.siteSet === chrome.developerPrivate.SiteSet.USER_PERMITTED ? 'permittedSites' : 'restrictedSites'); } - private showEditSitePermissionsDialogButton_(): boolean { - return !this.isExpandable_ && !!this.data.sites[0].siteList; - } - private onEditSiteClick_() { this.siteToEdit_ = this.data.sites[0]; this.showEditSitePermissionsDialog_ = true; @@ -149,6 +147,12 @@ export class SitePermissionsSiteGroupElement extends PolymerElement { assert(this.siteToEdit_, 'Site To Edit'); this.siteToEdit_ = null; } + + private isUserSpecifiedSite_(siteSet: chrome.developerPrivate.SiteSet): + boolean { + return siteSet === chrome.developerPrivate.SiteSet.USER_PERMITTED || + siteSet === chrome.developerPrivate.SiteSet.USER_RESTRICTED; + } } declare global { diff --git a/chromium/chrome/browser/resources/extensions/site_settings_mixin.ts b/chromium/chrome/browser/resources/extensions/site_settings_mixin.ts index 27e77d92c8c..31599420ca6 100644 --- a/chromium/chrome/browser/resources/extensions/site_settings_mixin.ts +++ b/chromium/chrome/browser/resources/extensions/site_settings_mixin.ts @@ -1,4 +1,4 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -18,13 +18,13 @@ type Constructor<T> = new (...args: any[]) => T; export interface SiteSettingsDelegate { getUserSiteSettings(): Promise<chrome.developerPrivate.UserSiteSettings>; addUserSpecifiedSites( - siteSet: chrome.developerPrivate.UserSiteSet, - hosts: string[]): Promise<void>; + siteSet: chrome.developerPrivate.SiteSet, hosts: string[]): Promise<void>; removeUserSpecifiedSites( - siteSet: chrome.developerPrivate.UserSiteSet, - hosts: string[]): Promise<void>; + siteSet: chrome.developerPrivate.SiteSet, hosts: string[]): Promise<void>; getUserAndExtensionSitesByEtld(): Promise<chrome.developerPrivate.SiteGroup[]>; + getMatchingExtensionsForSite(site: string): + Promise<chrome.developerPrivate.MatchingExtensionInfo[]>; getUserSiteSettingsChangedTarget(): ChromeEvent<(settings: chrome.developerPrivate.UserSiteSettings) => void>; } diff --git a/chromium/chrome/browser/resources/extensions/toggle_row.ts b/chromium/chrome/browser/resources/extensions/toggle_row.ts index 3b50bed6e42..fb5d34ec07a 100644 --- a/chromium/chrome/browser/resources/extensions/toggle_row.ts +++ b/chromium/chrome/browser/resources/extensions/toggle_row.ts @@ -1,9 +1,9 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; -import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_shared_style.css.js'; import {CrToggleElement} from 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; diff --git a/chromium/chrome/browser/resources/extensions/toolbar.ts b/chromium/chrome/browser/resources/extensions/toolbar.ts index cd17c8604f0..01d8a81fe9c 100644 --- a/chromium/chrome/browser/resources/extensions/toolbar.ts +++ b/chromium/chrome/browser/resources/extensions/toolbar.ts @@ -1,20 +1,20 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.js'; import 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; import 'chrome://resources/cr_elements/cr_toolbar/cr_toolbar.js'; -import 'chrome://resources/cr_elements/hidden_style_css.m.js'; -import 'chrome://resources/cr_elements/policy/cr_tooltip_icon.m.js'; -import 'chrome://resources/cr_elements/shared_vars_css.m.js'; +import 'chrome://resources/cr_elements/cr_hidden_style.css.js'; +import 'chrome://resources/cr_elements/policy/cr_tooltip_icon.js'; +import 'chrome://resources/cr_elements/cr_shared_vars.css.js'; import 'chrome://resources/polymer/v3_0/paper-styles/color.js'; import './pack_dialog.js'; import {getToastManager} from 'chrome://resources/cr_elements/cr_toast/cr_toast_manager.js'; import {CrToggleElement} from 'chrome://resources/cr_elements/cr_toggle/cr_toggle.js'; -import {I18nMixin} from 'chrome://resources/js/i18n_mixin.js'; -import {listenOnce} from 'chrome://resources/js/util.m.js'; +import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; +import {listenOnce} from 'chrome://resources/js/util.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {getTemplate} from './toolbar.html.js'; diff --git a/chromium/chrome/browser/resources/extensions/url_util.ts b/chromium/chrome/browser/resources/extensions/url_util.ts index a58ae25b824..f467d1e5663 100644 --- a/chromium/chrome/browser/resources/extensions/url_util.ts +++ b/chromium/chrome/browser/resources/extensions/url_util.ts @@ -1,4 +1,4 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. +// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. |