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

Unified Diff: chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.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_browser_proxy.js
diff --git a/chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.js b/chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.js
index 3f9da830ac5b77fae550d1b766873610aba05f3b..025748f5009b62b1c763efd7c3182e62cd2c4dae 100644
--- a/chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.js
+++ b/chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.js
@@ -11,8 +11,11 @@ cr.define('settings', function() {
useCurrentPages: assertNotReached,
- /** @param {string} url */
- canAddPage: assertNotReached,
+ /**
+ * @param {string} url
+ * @return {!PromiseResolver<boolean>} Whether the URL is valid.
+ */
+ validateStartupPage: assertNotReached,
/** @param {string} url */
addStartupPage: assertNotReached,
@@ -30,23 +33,30 @@ cr.define('settings', function() {
cr.addSingletonGetter(StartupUrlsPageBrowserProxyImpl);
StartupUrlsPageBrowserProxyImpl.prototype = {
+ /** @override */
loadStartupPages: function() {
chrome.send('onStartupPrefsPageLoad');
},
+ /** @override */
useCurrentPages: function() {
chrome.send('setStartupPagesToCurrentPages');
},
- canAddPage: function(url) {
- // TODO(dbeam): hook up to C++ for deeper validation.
- return url.trim().length > 0;
+ /** @override */
+ validateStartupPage: function(url) {
+ var resolver = new PromiseResolver();
+ resolver.promise = url.trim().length == 0 ? Promise.resolve(false) :
+ cr.sendWithPromise('validateStartupPage', url);
+ return resolver;
},
+ /** @override */
addStartupPage: function(url) {
chrome.send('addStartupPage', [url.trim()]);
},
+ /** @override */
removeStartupPage: function(index) {
chrome.send('removeStartupPage', [index]);
},

Powered by Google App Engine
This is Rietveld 408576698