Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3221)

Unified Diff: chrome/browser/resources/settings/on_startup_page/startup_urls_page.js

Issue 1869883003: MD Settings: On Startup, extract dialog to its own file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nit. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/settings/on_startup_page/startup_urls_page.js
diff --git a/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js b/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js
index 51669432735714d3a70b1b1716f218ec1f834d2e..6ec9bc28dade3a824b6e25cf120713f06cfd952b 100644
--- a/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js
+++ b/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js
@@ -14,14 +14,6 @@ var StartupPageInfo;
/**
* @fileoverview 'settings-startup-urls-page' is the settings page
* containing the urls that will be opened when chrome is started.
- *
- * Example:
- *
- * <neon-animated-pages>
- * <settings-startup-urls-page prefs="{{prefs}}">
- * </settings-startup-urls-page>
- * ... other pages ...
- * </neon-animated-pages>
*/
Polymer({
is: 'settings-startup-urls-page',
@@ -29,43 +21,24 @@ Polymer({
behaviors: [WebUIListenerBehavior],
properties: {
- /**
- * Preferences state.
- */
- prefs: {
- type: Object,
- notify: true,
- },
-
/** @type {settings.StartupUrlsPageBrowserProxy} */
browserProxy_: Object,
- /** @private {string} */
- newUrl_: {
- observer: 'newUrlChanged_',
- type: String,
- value: '',
- },
-
- isNewUrlValid_: {
- type: Boolean,
- value: false,
- },
-
/**
* Pages to load upon browser startup.
* @private {!Array<!StartupPageInfo>}
*/
startupPages_: Array,
- },
- created: function() {
- this.browserProxy_ = settings.StartupUrlsPageBrowserProxyImpl.getInstance();
+ showStartupUrlDialog_: Boolean,
},
+ /** @override */
attached: function() {
- this.addWebUIListener('update-startup-pages',
- this.updateStartupPages_.bind(this));
+ this.browserProxy_ = settings.StartupUrlsPageBrowserProxyImpl.getInstance();
+ this.addWebUIListener('update-startup-pages', function(startupPages) {
+ this.startupPages_ = startupPages;
+ }.bind(this));
this.browserProxy_.loadStartupPages();
},
@@ -78,51 +51,25 @@ Polymer({
return getFaviconImageSet(url);
},
- /** @private */
- updateStartupPages_: function(startupPages) {
- this.startupPages_ = startupPages;
- },
-
- /** @private */
- onAddPageTap_: function() {
- this.newUrl_ = '';
- this.$.addUrlDialog.open();
- },
-
- /** @private */
- onUseCurrentPagesTap_: function() {
- this.browserProxy_.useCurrentPages();
- },
-
- /** @private */
- onCancelTap_: function() {
- this.$.addUrlDialog.close();
- },
-
/**
- * @param {string} newUrl
+ * Opens the dialog and registers a listener for removing the dialog from the
+ * DOM once is closed. The listener is destroyed when the dialog is removed
+ * (because of 'restamp').
* @private
*/
- newUrlChanged_: function(newUrl) {
- if (this.validationResolver_)
- this.validationResolver_.reject(false);
-
- /** @type {?PromiseResolver<boolean>} */
- this.validationResolver_ = this.browserProxy_.validateStartupPage(newUrl);
-
- this.validationResolver_.promise.then(function(isValid) {
- this.isNewUrlValid_ = isValid;
- this.validationResolver_ = null;
- }.bind(this), function() {
- // Squelchs console errors.
- });
+ onAddPageTap_: function() {
+ this.showStartupUrlDialog_ = true;
+ this.async(function() {
+ var dialog = this.$$('settings-startup-url-dialog');
+ dialog.addEventListener('iron-overlay-closed', function() {
+ this.showStartupUrlDialog_ = false;
+ }.bind(this));
+ }.bind(this));
},
/** @private */
- onAddTap_: function() {
- assert(this.isNewUrlValid_);
- this.browserProxy_.addStartupPage(this.newUrl_);
- this.$.addUrlDialog.close();
+ onUseCurrentPagesTap_: function() {
+ this.browserProxy_.useCurrentPages();
},
/**

Powered by Google App Engine
This is Rietveld 408576698