summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/resources/extensions
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-09-01 11:08:40 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-01 12:16:21 +0000
commit03c549e0392f92c02536d3f86d5e1d8dfa3435ac (patch)
treefe49d170a929b34ba82cd10db1a0bd8e3760fa4b /chromium/chrome/browser/resources/extensions
parent5d013f5804a0d91fcf6c626b2d6fb6eca5c845b0 (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')
-rw-r--r--chromium/chrome/browser/resources/extensions/BUILD.gn4
-rw-r--r--chromium/chrome/browser/resources/extensions/activity_log/BUILD.gn4
-rw-r--r--chromium/chrome/browser/resources/extensions/activity_log/activity_log.js2
-rw-r--r--chromium/chrome/browser/resources/extensions/activity_log/activity_log_history.js2
-rw-r--r--chromium/chrome/browser/resources/extensions/activity_log/activity_log_history_item.html2
-rw-r--r--chromium/chrome/browser/resources/extensions/activity_log/activity_log_stream.js2
-rw-r--r--chromium/chrome/browser/resources/extensions/detail_view.html22
-rw-r--r--chromium/chrome/browser/resources/extensions/detail_view.js16
-rw-r--r--chromium/chrome/browser/resources/extensions/icons.html7
-rw-r--r--chromium/chrome/browser/resources/extensions/item.html37
-rw-r--r--chromium/chrome/browser/resources/extensions/item.js22
-rw-r--r--chromium/chrome/browser/resources/extensions/manager.js4
-rw-r--r--chromium/chrome/browser/resources/extensions/service.js6
-rw-r--r--chromium/chrome/browser/resources/extensions/shared_vars.html3
-rw-r--r--chromium/chrome/browser/resources/extensions/toolbar.js14
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');
},