diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-09-01 11:08:40 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-10-01 12:16:21 +0000 |
commit | 03c549e0392f92c02536d3f86d5e1d8dfa3435ac (patch) | |
tree | fe49d170a929b34ba82cd10db1a0bd8e3760fa4b /chromium/chrome/browser/resources/extensions | |
parent | 5d013f5804a0d91fcf6c626b2d6fb6eca5c845b0 (diff) |
BASELINE: Update Chromium to 91.0.4472.160
Change-Id: I0def1f08a2412aeed79a9ab95dd50eb5c3f65f31
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/browser/resources/extensions')
15 files changed, 120 insertions, 27 deletions
diff --git a/chromium/chrome/browser/resources/extensions/BUILD.gn b/chromium/chrome/browser/resources/extensions/BUILD.gn index d75482bdfbf..84fb4412391 100644 --- a/chromium/chrome/browser/resources/extensions/BUILD.gn +++ b/chromium/chrome/browser/resources/extensions/BUILD.gn @@ -391,8 +391,8 @@ js_library("manager") { ":sidebar", ":toolbar", "activity_log:activity_log", - "//ui/webui/resources/cr_elements/cr_drawer:cr_drawer.m", - "//ui/webui/resources/cr_elements/cr_view_manager:cr_view_manager.m", + "//ui/webui/resources/cr_elements/cr_drawer:cr_drawer", + "//ui/webui/resources/cr_elements/cr_view_manager:cr_view_manager", "//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:load_time_data.m", ] diff --git a/chromium/chrome/browser/resources/extensions/activity_log/BUILD.gn b/chromium/chrome/browser/resources/extensions/activity_log/BUILD.gn index 8ceba341a71..4db3ab07442 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/BUILD.gn +++ b/chromium/chrome/browser/resources/extensions/activity_log/BUILD.gn @@ -46,7 +46,7 @@ js_library("activity_log_history") { deps = [ ":activity_log_history_item", "//ui/webui/resources/cr_elements/cr_action_menu:cr_action_menu.m", - "//ui/webui/resources/cr_elements/cr_search_field:cr_search_field.m", + "//ui/webui/resources/cr_elements/cr_search_field:cr_search_field", ] externs_list = [ "$externs_path/activity_log_private.js" ] } @@ -60,7 +60,7 @@ js_library("activity_log_stream") { deps = [ ":activity_log_stream_item", "//third_party/polymer/v3_0/components-chromium/iron-list:iron-list", - "//ui/webui/resources/cr_elements/cr_search_field:cr_search_field.m", + "//ui/webui/resources/cr_elements/cr_search_field:cr_search_field", ] externs_list = [ "$externs_path/activity_log_private.js" ] } diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log.js b/chromium/chrome/browser/resources/extensions/activity_log/activity_log.js index 694b67f7864..762a188aca9 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log.js +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log.js @@ -4,7 +4,7 @@ import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.m.js'; import 'chrome://resources/cr_elements/cr_icons_css.m.js'; -import 'chrome://resources/cr_elements/cr_tabs/cr_tabs.m.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/polymer/v3_0/iron-pages/iron-pages.js'; diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.js b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.js index dbd4412f6b2..85bae01184f 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.js +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.js @@ -5,7 +5,7 @@ import 'chrome://resources/cr_elements/cr_action_menu/cr_action_menu.m.js'; import 'chrome://resources/cr_elements/cr_button/cr_button.m.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.m.js'; -import 'chrome://resources/cr_elements/cr_search_field/cr_search_field.m.js'; +import 'chrome://resources/cr_elements/cr_search_field/cr_search_field.js'; import '../shared_style.js'; import {assert} from 'chrome://resources/js/assert.m.js'; diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.html b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.html index 2315557edd3..7a75019170d 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.html +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.html @@ -80,7 +80,7 @@ <span id="activity-key" title="[[data.key]]">[[data.key]]</span> <span id="activity-count">[[data.count]]</span> </div> - <cr-expand-button expanded="{{data.expanded}}" + <cr-expand-button no-hover expanded="{{data.expanded}}" hidden$="[[!isExpandable_]]"> </cr-expand-button> <div class="separator" hidden$="[[!isExpandable_]]"></div> diff --git a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.js b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.js index 14a324e01e3..87d24ec4840 100644 --- a/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.js +++ b/chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.js @@ -3,7 +3,7 @@ // found in the LICENSE file. import 'chrome://resources/cr_elements/cr_button/cr_button.m.js'; -import 'chrome://resources/cr_elements/cr_search_field/cr_search_field.m.js'; +import 'chrome://resources/cr_elements/cr_search_field/cr_search_field.js'; import 'chrome://resources/polymer/v3_0/iron-list/iron-list.js'; import '../shared_style.js'; diff --git a/chromium/chrome/browser/resources/extensions/detail_view.html b/chromium/chrome/browser/resources/extensions/detail_view.html index b5851fffd44..48f6584f272 100644 --- a/chromium/chrome/browser/resources/extensions/detail_view.html +++ b/chromium/chrome/browser/resources/extensions/detail_view.html @@ -89,6 +89,14 @@ width: 18px; } + #allowlist-warning { + flex: 1; + } + + #allowlist-warning .warning-icon { + --iron-icon-fill-color: var(--warning-color); + } + ul { margin: 0; padding-inline-start: 20px; @@ -173,7 +181,7 @@ </cr-toggle> </div> </div> - <div id="warnings" hidden$="[[!hasWarnings_(data.*)]]"> + <div id="warnings" hidden$="[[!hasSevereWarnings_(data.*)]]"> <div id="runtime-warnings" hidden$="[[!data.runtimeWarnings.length]]" class="cr-row continuation warning control-line"> <iron-icon class="warning-icon" icon="cr:error"></iron-icon> @@ -220,6 +228,18 @@ <span>$i18n{updateRequiredByPolicy}</span> </div> </div> + <div id="allowlist-warning" class="cr-row continuation" + hidden$="[[!showAllowlistWarning_(data.*)]]"> + <iron-icon class="warning-icon" + icon="extensions-icons:safebrowsing_warning"> + </iron-icon> + <span class="cr-secondary-text"> + $i18n{itemAllowlistWarning} + <a href="$i18n{enhancedSafeBrowsingWarningHelpUrl}" target="_blank"> + $i18n{learnMore} + </a> + </span> + </div> <div class="section"> <div class="section-title" role="heading" aria-level="2"> $i18n{itemDescriptionLabel} diff --git a/chromium/chrome/browser/resources/extensions/detail_view.js b/chromium/chrome/browser/resources/extensions/detail_view.js index 36602faefa9..44d28e0bf7e 100644 --- a/chromium/chrome/browser/resources/extensions/detail_view.js +++ b/chromium/chrome/browser/resources/extensions/detail_view.js @@ -5,7 +5,7 @@ import 'chrome://resources/cr_elements/cr_button/cr_button.m.js'; import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.m.js'; import 'chrome://resources/cr_elements/cr_icons_css.m.js'; -import 'chrome://resources/cr_elements/cr_link_row/cr_link_row.m.js'; +import 'chrome://resources/cr_elements/cr_link_row/cr_link_row.js'; import 'chrome://resources/cr_elements/cr_toggle/cr_toggle.m.js'; import 'chrome://resources/cr_elements/icons.m.js'; import 'chrome://resources/cr_elements/policy/cr_tooltip_icon.m.js'; @@ -156,7 +156,7 @@ Polymer({ * @return {boolean} * @private */ - hasWarnings_() { + hasSevereWarnings_() { return this.data.disableReasons.corruptInstall || this.data.disableReasons.suspiciousInstall || this.data.disableReasons.updateRequired || !!this.data.blacklistText || @@ -378,4 +378,16 @@ Polymer({ return enableControl === EnableControl.ENABLE_TOGGLE || enableControl === EnableControl.REPAIR; }, + + /** + * @return {boolean} Whether the allowlist warning should be shown. + * @private + */ + showAllowlistWarning_() { + // Only show the allowlist warning if there is no blocklist warning. It + // would be redundant since all blocklisted items are necessarily not + // included in the Safe Browsing allowlist. + return this.data.showSafeBrowsingAllowlistWarning && + !this.data.blacklistText; + }, }); diff --git a/chromium/chrome/browser/resources/extensions/icons.html b/chromium/chrome/browser/resources/extensions/icons.html index 925e4108ec3..8e705da19ed 100644 --- a/chromium/chrome/browser/resources/extensions/icons.html +++ b/chromium/chrome/browser/resources/extensions/icons.html @@ -8,6 +8,13 @@ <path d="M20,5H4A2,2,0,0,0,2,7V17a2,2,0,0,0,2,2H20a2,2,0,0,0,2-2V7A2,2,0,0,0,20,5ZM9,17a5,5,0,1,1,5-5A5,5,0,0,1,9,17Zm11,1a1,1,0,1,1,1-1A1,1,0,0,1,20,18ZM20,8a1,1,0,1,1,1-1A1,1,0,0,1,20,8Z"></path> </g> + <!-- Material Design icons. --> + <!-- Material icon name: 'gpp_maybe' --> + <g id="safebrowsing_warning"> + <path d="M0 0h24v24H0z" fill="none"></path> + <path d="M12 4.24l6 3v4.1c0 3.9-2.55 7.5-6 8.59-3.45-1.09-6-4.7-6-8.59v-4.1l6-3M12 2L4 6v5.33c0 4.93 3.41 9.55 8 10.67 4.59-1.12 8-5.73 8-10.67V6l-8-4zm-1 13h2v2h-2v-2zm2-7h-2v5h2V8z"></path> + </g> + <!-- Copied from iron-icons. --> <g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2zM11 16l4-4-4-4v3H1v2h10v3z"></path></g> <g id="business"><path d="M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z"></path></g> diff --git a/chromium/chrome/browser/resources/extensions/item.html b/chromium/chrome/browser/resources/extensions/item.html index ee4785fc461..87367f62997 100644 --- a/chromium/chrome/browser/resources/extensions/item.html +++ b/chromium/chrome/browser/resources/extensions/item.html @@ -86,13 +86,26 @@ margin-bottom: 8px; } - #error-icon { - --iron-icon-fill-color: var(--error-color); + #allowlist-warning { + flex: 1; + margin-bottom: 8px; + } + + .message-icon { height: 18px; margin-inline-end: 4px; + vertical-align: top; width: 18px; } + #warnings .message-icon { + --iron-icon-fill-color: var(--error-color); + } + + #allowlist-warning .message-icon { + --iron-icon-fill-color: var(--warning-color); + } + #extension-id { flex-shrink: 0; } @@ -213,13 +226,13 @@ </div> </div> <div id="description" class="cr-secondary-text multiline-clippable-text" - hidden$="[[hasWarnings_(data.disableReasons.*, data.*)]]"> + hidden$="[[!showDescription_(data.disableReasons.*, data.*)]]"> [[data.description]] </div> <template is="dom-if" - if="[[hasWarnings_(data.disableReasons.*, data.*)]]"> + if="[[hasSevereWarnings_(data.disableReasons.*, data.*)]]"> <div id="warnings"> - <iron-icon id="error-icon" icon="cr:error"></iron-icon> + <iron-icon class="message-icon" icon="cr:error"></iron-icon> <span id="runtime-warnings" aria-describedby="a11yAssociation" hidden$="[[!data.runtimeWarnings.length]]"> <template is="dom-repeat" items="[[data.runtimeWarnings]]"> @@ -242,6 +255,20 @@ --></span> </div> </template> + <template is="dom-if" + if="[[showAllowlistWarning_(data.disableReasons.*, data.*)]]"> + <div id="allowlist-warning"> + <iron-icon class="message-icon" + icon="extensions-icons:safebrowsing_warning"> + </iron-icon> + <span class="cr-secondary-text" aria-describedby="a11yAssociation"> + $i18n{itemAllowlistWarning} + <a href="$i18n{enhancedSafeBrowsingWarningHelpUrl}" target="_blank"> + $i18n{learnMore} + </a> + </span> + </div> + </template> <template is="dom-if" if="[[inDevMode]]"> <div id="extension-id" class="bounded-text cr-secondary-text"> [[data.id]] diff --git a/chromium/chrome/browser/resources/extensions/item.js b/chromium/chrome/browser/resources/extensions/item.js index 1bf7fd1f15d..e65bb5f9d0f 100644 --- a/chromium/chrome/browser/resources/extensions/item.js +++ b/chromium/chrome/browser/resources/extensions/item.js @@ -432,17 +432,31 @@ Polymer({ * @return {boolean} * @private */ - hasWarnings_() { + hasSevereWarnings_() { return this.data.disableReasons.corruptInstall || this.data.disableReasons.suspiciousInstall || this.data.runtimeWarnings.length > 0 || !!this.data.blacklistText; }, /** - * @return {string} + * @return {boolean} + * @private + */ + showDescription_() { + return !this.hasSevereWarnings_() && + !this.data.showSafeBrowsingAllowlistWarning; + }, + + /** + * @return {boolean} * @private */ - computeWarningsClasses_() { - return this.data.blacklistText ? 'severe' : 'mild'; + showAllowlistWarning_() { + // Only show the allowlist warning if there are no other warnings. The item + // card has a fixed height and the content might get cropped if too many + // warnings are displayed. This should be a rare edge case and the allowlist + // warning will still be shown in the item detail view. + return this.data.showSafeBrowsingAllowlistWarning && + !this.hasSevereWarnings_(); }, }); diff --git a/chromium/chrome/browser/resources/extensions/manager.js b/chromium/chrome/browser/resources/extensions/manager.js index 3bef81eb86f..fa2a492ab9c 100644 --- a/chromium/chrome/browser/resources/extensions/manager.js +++ b/chromium/chrome/browser/resources/extensions/manager.js @@ -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 'chrome://resources/cr_elements/cr_drawer/cr_drawer.m.js'; +import 'chrome://resources/cr_elements/cr_drawer/cr_drawer.js'; import 'chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.m.js'; import 'chrome://resources/cr_elements/cr_toast/cr_toast_manager.m.js'; import 'chrome://resources/cr_elements/cr_toolbar/cr_toolbar.js'; -import 'chrome://resources/cr_elements/cr_view_manager/cr_view_manager.m.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 './detail_view.js'; diff --git a/chromium/chrome/browser/resources/extensions/service.js b/chromium/chrome/browser/resources/extensions/service.js index df646188a53..d6ba86cfd68 100644 --- a/chromium/chrome/browser/resources/extensions/service.js +++ b/chromium/chrome/browser/resources/extensions/service.js @@ -185,8 +185,10 @@ export class Service { if (loadError) { return reject(loadError); } - - resolve(); + // The load was successful if there's no lastError indicated (and + // no loadError, which is checked above). + const loadSuccessful = typeof chrome.runtime.lastError === 'undefined'; + resolve(loadSuccessful); }); }); } diff --git a/chromium/chrome/browser/resources/extensions/shared_vars.html b/chromium/chrome/browser/resources/extensions/shared_vars.html index 8c210336b03..d10f82cdf94 100644 --- a/chromium/chrome/browser/resources/extensions/shared_vars.html +++ b/chromium/chrome/browser/resources/extensions/shared_vars.html @@ -4,6 +4,8 @@ /* Note: error-color is used for many warnings. There's also an orange-y * warning color in 1 place. */ --error-color: var(--google-red-700); + /* Copied from 'ui/gfx/color_palette.h' kGoogleYellow700 (#f29900) */ + --warning-color: rgb(242, 153, 0); --extensions-card-height: 160px; --separator-gap: 9px; } @@ -11,6 +13,7 @@ @media (prefers-color-scheme: dark) { html { --error-color: var(--google-red-refresh-300); + --warning-color: var(--google-yellow-refresh-300); } } </style> diff --git a/chromium/chrome/browser/resources/extensions/toolbar.js b/chromium/chrome/browser/resources/extensions/toolbar.js index 25a38b7082b..e94afd0280a 100644 --- a/chromium/chrome/browser/resources/extensions/toolbar.js +++ b/chromium/chrome/browser/resources/extensions/toolbar.js @@ -154,9 +154,17 @@ Polymer({ /** @private */ onLoadUnpackedTap_() { - this.delegate.loadUnpacked().catch(loadError => { - this.fire('load-error', loadError); - }); + this.delegate.loadUnpacked() + .then((success) => { + if (success) { + const toastManager = getToastManager(); + toastManager.duration = 3000; + toastManager.show(this.i18n('toolbarLoadUnpackedDone')); + } + }) + .catch(loadError => { + this.fire('load-error', loadError); + }); chrome.metricsPrivate.recordUserAction('Options_LoadUnpackedExtension'); }, |