diff options
Diffstat (limited to 'chromium/chrome/browser/resources/extensions')
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; }); }, |