Commit 903079c0 authored by dpapad's avatar dpapad Committed by Commit Bot

Settings: Mark all entries in SettingsRoutes typedef as always defined.

Previously every member of that typedef was marked as potentially
undefined. This required a type-casting whenever a !settings.Route
was expected, which was tedious without producing any type-coverage
benefits.

As a result of this change a lot of typecasts like the following

/** @type {!settings.Route} */ (settings.routes.FONTS)

are no longer necessary and are removed.

Bug: 1026426
Change-Id: I0becc11cc8a5479c4390d4499e4956f73126c8ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2078822
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Auto-Submit: dpapad <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#745625}
parent 534e35be
...@@ -190,7 +190,7 @@ polymer_modulizer("appearance_page") { ...@@ -190,7 +190,7 @@ polymer_modulizer("appearance_page") {
"chrome/browser/resources/settings/controls/settings_dropdown_menu.html|DropdownMenuOptionList", "chrome/browser/resources/settings/controls/settings_dropdown_menu.html|DropdownMenuOptionList",
"chrome/browser/resources/settings/page_visibility.html|AppearancePageVisibility", "chrome/browser/resources/settings/page_visibility.html|AppearancePageVisibility",
"chrome/browser/resources/settings/route.html|routes", "chrome/browser/resources/settings/route.html|routes",
"chrome/browser/resources/settings/router.html|Route, Router", "chrome/browser/resources/settings/router.html|Router",
] ]
namespace_rewrites = settings_namespace_rewrites namespace_rewrites = settings_namespace_rewrites
} }
......
...@@ -164,8 +164,7 @@ Polymer({ ...@@ -164,8 +164,7 @@ Polymer({
/** @private */ /** @private */
onCustomizeFontsTap_() { onCustomizeFontsTap_() {
settings.Router.getInstance().navigateTo( settings.Router.getInstance().navigateTo(settings.routes.FONTS);
/** @type {!settings.Route} */ (settings.routes.FONTS));
}, },
/** @private */ /** @private */
......
...@@ -8,8 +8,7 @@ cr.define('settings', function() { ...@@ -8,8 +8,7 @@ cr.define('settings', function() {
* @return {!SettingsRoutes} * @return {!SettingsRoutes}
*/ */
function createOSSettingsRoutes() { function createOSSettingsRoutes() {
/** @type {!SettingsRoutes} */ const r = /** @type {!SettingsRoutes} */ ({});
const r = {};
// Root pages. // Root pages.
r.BASIC = new settings.Route('/'); r.BASIC = new settings.Route('/');
...@@ -183,9 +182,8 @@ cr.define('settings', function() { ...@@ -183,9 +182,8 @@ cr.define('settings', function() {
// On pop state, do not push the state onto the window.history again. // On pop state, do not push the state onto the window.history again.
const routerInstance = settings.Router.getInstance(); const routerInstance = settings.Router.getInstance();
routerInstance.setCurrentRoute( routerInstance.setCurrentRoute(
/** @type {!settings.Route} */ ( routerInstance.getRouteForPath(window.location.pathname) ||
routerInstance.getRouteForPath(window.location.pathname) || routerInstance.getRoutes().BASIC,
routerInstance.getRoutes().BASIC),
new URLSearchParams(window.location.search), true); new URLSearchParams(window.location.search), true);
}); });
......
...@@ -387,8 +387,7 @@ cr.define('settings', function() { ...@@ -387,8 +387,7 @@ cr.define('settings', function() {
break; break;
case settings.StatusAction.SIGNOUT_AND_SIGNIN: case settings.StatusAction.SIGNOUT_AND_SIGNIN:
if (this.syncStatus.domain) { if (this.syncStatus.domain) {
router.navigateTo( router.navigateTo(router.getRoutes().SIGN_OUT);
/** @type {!settings.Route} */ (router.getRoutes().SIGN_OUT));
} else { } else {
// Silently sign the user out without deleting their profile and // Silently sign the user out without deleting their profile and
// prompt them to sign back in. // prompt them to sign back in.
...@@ -397,8 +396,7 @@ cr.define('settings', function() { ...@@ -397,8 +396,7 @@ cr.define('settings', function() {
} }
break; break;
case settings.StatusAction.UPGRADE_CLIENT: case settings.StatusAction.UPGRADE_CLIENT:
router.navigateTo( router.navigateTo(router.getRoutes().ABOUT);
/** @type {!settings.Route} */ (router.getRoutes().ABOUT));
break; break;
case settings.StatusAction.RETRIEVE_TRUSTED_VAULT_KEYS: case settings.StatusAction.RETRIEVE_TRUSTED_VAULT_KEYS:
this.syncBrowserProxy_.startKeyRetrieval(); this.syncBrowserProxy_.startKeyRetrieval();
...@@ -406,8 +404,7 @@ cr.define('settings', function() { ...@@ -406,8 +404,7 @@ cr.define('settings', function() {
case settings.StatusAction.ENTER_PASSPHRASE: case settings.StatusAction.ENTER_PASSPHRASE:
case settings.StatusAction.CONFIRM_SYNC_SETTINGS: case settings.StatusAction.CONFIRM_SYNC_SETTINGS:
default: default:
router.navigateTo( router.navigateTo(router.getRoutes().SYNC);
/** @type {!settings.Route} */ (router.getRoutes().SYNC));
} }
}, },
...@@ -447,8 +444,7 @@ cr.define('settings', function() { ...@@ -447,8 +444,7 @@ cr.define('settings', function() {
onTurnOffButtonTap_() { onTurnOffButtonTap_() {
/* This will route to people_page's disconnect dialog. */ /* This will route to people_page's disconnect dialog. */
const router = settings.Router.getInstance(); const router = settings.Router.getInstance();
router.navigateTo( router.navigateTo(router.getRoutes().SIGN_OUT);
/** @type {!settings.Route} */ (router.getRoutes().SIGN_OUT));
}, },
/** @private */ /** @private */
......
...@@ -216,8 +216,7 @@ Polymer({ ...@@ -216,8 +216,7 @@ Polymer({
const router = settings.Router.getInstance(); const router = settings.Router.getInstance();
if (router.getCurrentRoute() == router.getRoutes().SYNC_ADVANCED && if (router.getCurrentRoute() == router.getRoutes().SYNC_ADVANCED &&
this.syncControlsHidden_()) { this.syncControlsHidden_()) {
router.navigateTo( router.navigateTo(router.getRoutes().SYNC);
/** @type {!settings.Route} */ (router.getRoutes().SYNC));
} }
}, },
......
...@@ -395,8 +395,7 @@ Polymer({ ...@@ -395,8 +395,7 @@ Polymer({
this.setupCancelConfirmed_ = true; this.setupCancelConfirmed_ = true;
this.$$('#setupCancelDialog').close(); this.$$('#setupCancelDialog').close();
const router = settings.Router.getInstance(); const router = settings.Router.getInstance();
router.navigateTo( router.navigateTo(router.getRoutes().BASIC);
/** @type {!settings.Route} */ (router.getRoutes().BASIC));
chrome.metricsPrivate.recordUserAction( chrome.metricsPrivate.recordUserAction(
'Signin_Signin_ConfirmCancelAdvancedSyncSettings'); 'Signin_Signin_ConfirmCancelAdvancedSyncSettings');
}, },
...@@ -438,8 +437,7 @@ Polymer({ ...@@ -438,8 +437,7 @@ Polymer({
// firing). Triggering navigation from within an observer leads to some // firing). Triggering navigation from within an observer leads to some
// undefined behavior and runtime errors. // undefined behavior and runtime errors.
requestAnimationFrame(() => { requestAnimationFrame(() => {
router.navigateTo( router.navigateTo(router.getRoutes().SYNC);
/** @type {!settings.Route} */ (router.getRoutes().SYNC));
this.showSetupCancelDialog_ = true; this.showSetupCancelDialog_ = true;
// Flush to make sure that the setup cancel dialog is attached. // Flush to make sure that the setup cancel dialog is attached.
Polymer.dom.flush(); Polymer.dom.flush();
...@@ -627,8 +625,7 @@ Polymer({ ...@@ -627,8 +625,7 @@ Polymer({
return; return;
case settings.PageStatus.DONE: case settings.PageStatus.DONE:
if (router.getCurrentRoute() == router.getRoutes().SYNC) { if (router.getCurrentRoute() == router.getRoutes().SYNC) {
router.navigateTo( router.navigateTo(router.getRoutes().PEOPLE);
/** @type {!settings.Route} */ (router.getRoutes().PEOPLE));
} }
return; return;
case settings.PageStatus.PASSPHRASE_FAILED: case settings.PageStatus.PASSPHRASE_FAILED:
...@@ -693,8 +690,7 @@ Polymer({ ...@@ -693,8 +690,7 @@ Polymer({
/** @private */ /** @private */
onSyncAdvancedTap_() { onSyncAdvancedTap_() {
const router = settings.Router.getInstance(); const router = settings.Router.getInstance();
router.navigateTo( router.navigateTo(router.getRoutes().SYNC_ADVANCED);
/** @type {!settings.Route} */ (router.getRoutes().SYNC_ADVANCED));
}, },
/** /**
...@@ -713,8 +709,7 @@ Polymer({ ...@@ -713,8 +709,7 @@ Polymer({
'Signin_Signin_CancelAdvancedSyncSettings'); 'Signin_Signin_CancelAdvancedSyncSettings');
} }
const router = settings.Router.getInstance(); const router = settings.Router.getInstance();
router.navigateTo( router.navigateTo(router.getRoutes().BASIC);
/** @type {!settings.Route} */ (router.getRoutes().BASIC));
}, },
/** /**
......
...@@ -94,11 +94,10 @@ polymer_modulizer("printing_page") { ...@@ -94,11 +94,10 @@ polymer_modulizer("printing_page") {
html_file = "printing_page.html" html_file = "printing_page.html"
html_type = "dom-module" html_type = "dom-module"
namespace_rewrites = settings_namespace_rewrites namespace_rewrites = settings_namespace_rewrites
auto_imports = auto_imports = settings_auto_imports + [
settings_auto_imports + [ "chrome/browser/resources/settings/route.html|routes",
"chrome/browser/resources/settings/route.html|routes", "chrome/browser/resources/settings/router.html|Router",
"chrome/browser/resources/settings/router.html|Route, Router", ]
]
} }
js_modulizer("modulize") { js_modulizer("modulize") {
......
...@@ -37,7 +37,6 @@ Polymer({ ...@@ -37,7 +37,6 @@ Polymer({
/** @private */ /** @private */
onTapCloudPrinters_() { onTapCloudPrinters_() {
settings.Router.getInstance().navigateTo( settings.Router.getInstance().navigateTo(settings.routes.CLOUD_PRINTERS);
/** @type {!settings.Route} */ (settings.routes.CLOUD_PRINTERS));
}, },
}); });
...@@ -93,8 +93,7 @@ cr.define('settings', function() { ...@@ -93,8 +93,7 @@ cr.define('settings', function() {
* @return {!SettingsRoutes} * @return {!SettingsRoutes}
*/ */
function createBrowserSettingsRoutes() { function createBrowserSettingsRoutes() {
/** @type {!SettingsRoutes} */ const r = /** @type {!SettingsRoutes} */ ({});
const r = {};
// Root pages. // Root pages.
r.BASIC = new settings.Route('/'); r.BASIC = new settings.Route('/');
...@@ -226,9 +225,8 @@ cr.define('settings', function() { ...@@ -226,9 +225,8 @@ cr.define('settings', function() {
// On pop state, do not push the state onto the window.history again. // On pop state, do not push the state onto the window.history again.
const routerInstance = settings.Router.getInstance(); const routerInstance = settings.Router.getInstance();
routerInstance.setCurrentRoute( routerInstance.setCurrentRoute(
/** @type {!settings.Route} */ ( routerInstance.getRouteForPath(window.location.pathname) ||
routerInstance.getRouteForPath(window.location.pathname) || routerInstance.getRoutes().BASIC,
routerInstance.getRoutes().BASIC),
new URLSearchParams(window.location.search), true); new URLSearchParams(window.location.search), true);
}); });
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
cr.define('settings', function() { cr.define('settings', function() {
/** /**
* @typedef {{ * @typedef {{
* BASIC: (settings.Route|undefined), * BASIC: !settings.Route,
* ADVANCED: (settings.Route|undefined), * ADVANCED: !settings.Route,
* }} * }}
*/ */
/* #export */ let MinimumRoutes; /* #export */ let MinimumRoutes;
...@@ -152,7 +152,7 @@ cr.define('settings', function() { ...@@ -152,7 +152,7 @@ cr.define('settings', function() {
* or settings.initializeRouteFromUrl. * or settings.initializeRouteFromUrl.
* @type {!settings.Route} * @type {!settings.Route}
*/ */
this.currentRoute = /** @type {!settings.Route} */ (this.routes_.BASIC); this.currentRoute = this.routes_.BASIC;
/** /**
* The current query parameters. This is updated only by * The current query parameters. This is updated only by
...@@ -255,7 +255,7 @@ cr.define('settings', function() { ...@@ -255,7 +255,7 @@ cr.define('settings', function() {
// The ADVANCED route only serves as a parent of subpages, and should not // The ADVANCED route only serves as a parent of subpages, and should not
// be possible to navigate to it directly. // be possible to navigate to it directly.
if (route == this.routes_.ADVANCED) { if (route == this.routes_.ADVANCED) {
route = /** @type {!settings.Route} */ (this.routes_.BASIC); route = this.routes_.BASIC;
} }
const params = opt_dynamicParameters || new URLSearchParams(); const params = opt_dynamicParameters || new URLSearchParams();
...@@ -292,9 +292,7 @@ cr.define('settings', function() { ...@@ -292,9 +292,7 @@ cr.define('settings', function() {
if (previousRoute && previousRoute.depth <= this.currentRoute.depth) { if (previousRoute && previousRoute.depth <= this.currentRoute.depth) {
window.history.back(); window.history.back();
} else { } else {
this.navigateTo( this.navigateTo(this.currentRoute.parent || this.routes_.BASIC);
this.currentRoute.parent ||
/** @type {!settings.Route} */ (this.routes_.BASIC));
} }
} }
...@@ -342,7 +340,7 @@ cr.define('settings', function() { ...@@ -342,7 +340,7 @@ cr.define('settings', function() {
resetRouteForTesting() { resetRouteForTesting() {
this.initializeRouteFromUrlCalled_ = false; this.initializeRouteFromUrlCalled_ = false;
this.wasLastRouteChangePopstate_ = false; this.wasLastRouteChangePopstate_ = false;
this.currentRoute = /** @type {!settings.Route} */ (this.routes_.BASIC); this.currentRoute = this.routes_.BASIC;
this.currentQueryParameters_ = new URLSearchParams(); this.currentQueryParameters_ = new URLSearchParams();
} }
} }
......
...@@ -50,7 +50,7 @@ polymer_modulizer("search_page") { ...@@ -50,7 +50,7 @@ polymer_modulizer("search_page") {
namespace_rewrites = settings_namespace_rewrites namespace_rewrites = settings_namespace_rewrites
auto_imports = [ auto_imports = [
"chrome/browser/resources/settings/route.html|routes", "chrome/browser/resources/settings/route.html|routes",
"chrome/browser/resources/settings/router.html|Router,Route", "chrome/browser/resources/settings/router.html|Router",
"chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.html|SearchEnginesBrowserProxyImpl,SearchEnginesBrowserProxy,SearchEngine", "chrome/browser/resources/settings/search_engines_page/search_engines_browser_proxy.html|SearchEnginesBrowserProxyImpl,SearchEnginesBrowserProxy,SearchEngine",
"ui/webui/resources/html/cr.html|addWebUIListener", "ui/webui/resources/html/cr.html|addWebUIListener",
] ]
......
...@@ -68,8 +68,7 @@ Polymer({ ...@@ -68,8 +68,7 @@ Polymer({
/** @private */ /** @private */
onManageSearchEnginesTap_() { onManageSearchEnginesTap_() {
settings.Router.getInstance().navigateTo( settings.Router.getInstance().navigateTo(settings.routes.SEARCH_ENGINES);
/** @type {!settings.Route} */ (settings.routes.SEARCH_ENGINES));
}, },
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment