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

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

Issue 1849543006: MD Settings: validate startup URLs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@startup-browser-proxy
Patch Set: compile fix Created 4 years, 9 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 c8ba1c61264f02f3122c94ac2c8d9cff95daed12..51669432735714d3a70b1b1716f218ec1f834d2e 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
@@ -42,10 +42,16 @@ Polymer({
/** @private {string} */
newUrl_: {
+ observer: 'newUrlChanged_',
type: String,
value: '',
},
+ isNewUrlValid_: {
+ type: Boolean,
+ value: false,
+ },
+
/**
* Pages to load upon browser startup.
* @private {!Array<!StartupPageInfo>}
@@ -94,16 +100,27 @@ Polymer({
},
/**
- * @return {boolean} Whether tapping the Add button should be allowed.
+ * @param {string} newUrl
* @private
*/
- isAddEnabled_: function() {
- return this.browserProxy_.canAddPage(this.newUrl_);
+ 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.
+ });
},
/** @private */
onAddTap_: function() {
- assert(this.isAddEnabled_());
+ assert(this.isNewUrlValid_);
this.browserProxy_.addStartupPage(this.newUrl_);
this.$.addUrlDialog.close();
},

Powered by Google App Engine
This is Rietveld 408576698