summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/resources/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/resources/extensions')
-rw-r--r--chromium/chrome/browser/resources/extensions/BUILD.gn3
-rw-r--r--chromium/chrome/browser/resources/extensions/item.html1
-rw-r--r--chromium/chrome/browser/resources/extensions/item.js30
-rw-r--r--chromium/chrome/browser/resources/extensions/manager.html2
-rw-r--r--chromium/chrome/browser/resources/extensions/toolbar.html13
-rw-r--r--chromium/chrome/browser/resources/extensions/toolbar.js39
6 files changed, 44 insertions, 44 deletions
diff --git a/chromium/chrome/browser/resources/extensions/BUILD.gn b/chromium/chrome/browser/resources/extensions/BUILD.gn
index 7a60d45137f..1798f6238a7 100644
--- a/chromium/chrome/browser/resources/extensions/BUILD.gn
+++ b/chromium/chrome/browser/resources/extensions/BUILD.gn
@@ -165,6 +165,7 @@ js_library("item") {
":item_behavior",
":item_util",
":navigation_helper",
+ "//ui/webui/resources/cr_elements/cr_toast:cr_toast_manager",
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js:i18n_behavior",
@@ -370,7 +371,7 @@ js_library("sidebar") {
js_library("toolbar") {
deps = [
"//third_party/polymer/v1_0/components-chromium/iron-a11y-announcer:iron-a11y-announcer-extracted",
- "//ui/webui/resources/cr_elements/cr_toast:cr_toast",
+ "//ui/webui/resources/cr_elements/cr_toast:cr_toast_manager",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js:i18n_behavior",
"//ui/webui/resources/js:util",
diff --git a/chromium/chrome/browser/resources/extensions/item.html b/chromium/chrome/browser/resources/extensions/item.html
index 4dd4b1c830c..a69c6b4c656 100644
--- a/chromium/chrome/browser/resources/extensions/item.html
+++ b/chromium/chrome/browser/resources/extensions/item.html
@@ -3,6 +3,7 @@
<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_icons_css.html">
+<link rel="import" href="chrome://resources/cr_elements/cr_toast/cr_toast_manager.html">
<link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/icons.html">
diff --git a/chromium/chrome/browser/resources/extensions/item.js b/chromium/chrome/browser/resources/extensions/item.js
index 008beca6c32..d1fc8e973ab 100644
--- a/chromium/chrome/browser/resources/extensions/item.js
+++ b/chromium/chrome/browser/resources/extensions/item.js
@@ -117,6 +117,9 @@ cr.define('extensions', function() {
},
},
+ /** Prevents reloading the same item while it's already being reloaded. */
+ isReloading_: false,
+
observers: [
'observeIdVisibility_(inDevMode, showingDetails_, data.id)',
],
@@ -213,9 +216,30 @@ cr.define('extensions', function() {
/** @private */
onReloadTap_: function() {
- this.delegate.reloadItem(this.data.id).catch(loadError => {
- this.fire('load-error', loadError);
- });
+ // Don't reload if in the middle of an update.
+ if (this.isReloading_) {
+ return;
+ }
+
+ this.isReloading_ = true;
+
+ const toastManager = cr.toastManager.getInstance();
+ // Keep the toast open indefinitely.
+ toastManager.duration = 0;
+ toastManager.show(this.i18n('itemReloading'), false);
+ this.delegate.reloadItem(this.data.id)
+ .then(
+ () => {
+ toastManager.hide();
+ toastManager.duration = 3000;
+ toastManager.show(this.i18n('itemReloaded'), false);
+ this.isReloading_ = false;
+ },
+ loadError => {
+ this.fire('load-error', loadError);
+ toastManager.hide();
+ this.isReloading_ = false;
+ });
},
/** @private */
diff --git a/chromium/chrome/browser/resources/extensions/manager.html b/chromium/chrome/browser/resources/extensions/manager.html
index 0acd9673c75..1c35c285068 100644
--- a/chromium/chrome/browser/resources/extensions/manager.html
+++ b/chromium/chrome/browser/resources/extensions/manager.html
@@ -2,6 +2,7 @@
<link rel="import" href="chrome://resources/cr_elements/cr_drawer/cr_drawer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.html">
+<link rel="import" href="chrome://resources/cr_elements/cr_toast/cr_toast_manager.html">
<link rel="import" href="chrome://resources/cr_elements/cr_toolbar/cr_toolbar.html">
<link rel="import" href="chrome://resources/cr_elements/cr_view_manager/cr_view_manager.html">
<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
@@ -138,6 +139,7 @@
install-warnings="[[installWarnings_]]">
</extensions-install-warnings-dialog>
</template>
+ <cr-toast-manager></cr-toast-manager>
</template>
<script src="manager.js"></script>
</dom-module>
diff --git a/chromium/chrome/browser/resources/extensions/toolbar.html b/chromium/chrome/browser/resources/extensions/toolbar.html
index 7e08974284a..9b8706bd762 100644
--- a/chromium/chrome/browser/resources/extensions/toolbar.html
+++ b/chromium/chrome/browser/resources/extensions/toolbar.html
@@ -1,7 +1,7 @@
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_toast/cr_toast.html">
+<link rel="import" href="chrome://resources/cr_elements/cr_toast/cr_toast_manager.html">
<link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
<link rel="import" href="chrome://resources/cr_elements/cr_toolbar/cr_toolbar.html">
<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
@@ -91,14 +91,6 @@
.more-actions span {
margin-inline-end: 16px;
}
-
- cr-toast > div {
- display: flex;
- flex: 1;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
</style>
<cr-toolbar page-name="$i18n{toolbarTitle}" search-prompt="$i18n{search}"
clear-label="$i18n{clearSearch}" menu-label="$i18n{mainMenu}" show-menu
@@ -143,9 +135,6 @@
</if>
</div>
</div>
- <cr-toast>
- <div>[[toastLabel_]]</div>
- </cr-toast>
</template>
<script src="toolbar.js"></script>
</dom-module>
diff --git a/chromium/chrome/browser/resources/extensions/toolbar.js b/chromium/chrome/browser/resources/extensions/toolbar.js
index 7792f175221..bd3590edcba 100644
--- a/chromium/chrome/browser/resources/extensions/toolbar.js
+++ b/chromium/chrome/browser/resources/extensions/toolbar.js
@@ -55,12 +55,6 @@ cr.define('extensions', function() {
showPackDialog_: Boolean,
/**
- * Text to display in update toast
- * @private
- */
- toastLabel_: String,
-
- /**
* Prevents initiating update while update is in progress.
* @private
*/
@@ -73,14 +67,6 @@ cr.define('extensions', function() {
role: 'banner',
},
- /** @override */
- detached: function() {
- const openToastElement = this.$$('cr-toast[open]');
- if (openToastElement) {
- openToastElement.hide();
- }
- },
-
/**
* @return {boolean}
* @private
@@ -163,23 +149,20 @@ cr.define('extensions', function() {
}
this.isUpdating_ = true;
- const toastElement = this.$$('cr-toast');
- this.toastLabel_ = this.i18n('toolbarUpdatingToast');
+ const toastManager = cr.toastManager.getInstance();
// Keep the toast open indefinitely.
- toastElement.duration = 0;
- toastElement.show();
- this.delegate.updateAllExtensions()
- .then(() => {
- Polymer.IronA11yAnnouncer.requestAvailability();
- const doneText = this.i18n('toolbarUpdateDone');
- this.fire('iron-announce', {text: doneText});
- this.toastLabel_ = doneText;
- toastElement.show(3000);
+ toastManager.duration = 0;
+ toastManager.show(this.i18n('toolbarUpdatingToast'), false);
+ this.delegate.updateAllExtensions().then(
+ () => {
+ toastManager.hide();
+ toastManager.duration = 3000;
+ toastManager.show(this.i18n('toolbarUpdateDone'), false);
this.isUpdating_ = false;
- })
- .catch(function() {
- toastElement.hide();
+ },
+ () => {
+ toastManager.hide();
this.isUpdating_ = false;
});
},