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") {
"chrome/browser/resources/settings/controls/settings_dropdown_menu.html|DropdownMenuOptionList",
"chrome/browser/resources/settings/page_visibility.html|AppearancePageVisibility",
"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
}
......
......@@ -164,8 +164,7 @@ Polymer({
/** @private */
onCustomizeFontsTap_() {
settings.Router.getInstance().navigateTo(
/** @type {!settings.Route} */ (settings.routes.FONTS));
settings.Router.getInstance().navigateTo(settings.routes.FONTS);
},
/** @private */
......
......@@ -8,8 +8,7 @@ cr.define('settings', function() {
* @return {!SettingsRoutes}
*/
function createOSSettingsRoutes() {
/** @type {!SettingsRoutes} */
const r = {};
const r = /** @type {!SettingsRoutes} */ ({});
// Root pages.
r.BASIC = new settings.Route('/');
......@@ -183,9 +182,8 @@ cr.define('settings', function() {
// On pop state, do not push the state onto the window.history again.
const routerInstance = settings.Router.getInstance();
routerInstance.setCurrentRoute(
/** @type {!settings.Route} */ (
routerInstance.getRouteForPath(window.location.pathname) ||
routerInstance.getRoutes().BASIC),
routerInstance.getRouteForPath(window.location.pathname) ||
routerInstance.getRoutes().BASIC,
new URLSearchParams(window.location.search), true);
});
......
......@@ -387,8 +387,7 @@ cr.define('settings', function() {
break;
case settings.StatusAction.SIGNOUT_AND_SIGNIN:
if (this.syncStatus.domain) {
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().SIGN_OUT));
router.navigateTo(router.getRoutes().SIGN_OUT);
} else {
// Silently sign the user out without deleting their profile and
// prompt them to sign back in.
......@@ -397,8 +396,7 @@ cr.define('settings', function() {
}
break;
case settings.StatusAction.UPGRADE_CLIENT:
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().ABOUT));
router.navigateTo(router.getRoutes().ABOUT);
break;
case settings.StatusAction.RETRIEVE_TRUSTED_VAULT_KEYS:
this.syncBrowserProxy_.startKeyRetrieval();
......@@ -406,8 +404,7 @@ cr.define('settings', function() {
case settings.StatusAction.ENTER_PASSPHRASE:
case settings.StatusAction.CONFIRM_SYNC_SETTINGS:
default:
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().SYNC));
router.navigateTo(router.getRoutes().SYNC);
}
},
......@@ -447,8 +444,7 @@ cr.define('settings', function() {
onTurnOffButtonTap_() {
/* This will route to people_page's disconnect dialog. */
const router = settings.Router.getInstance();
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().SIGN_OUT));
router.navigateTo(router.getRoutes().SIGN_OUT);
},
/** @private */
......
......@@ -216,8 +216,7 @@ Polymer({
const router = settings.Router.getInstance();
if (router.getCurrentRoute() == router.getRoutes().SYNC_ADVANCED &&
this.syncControlsHidden_()) {
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().SYNC));
router.navigateTo(router.getRoutes().SYNC);
}
},
......
......@@ -395,8 +395,7 @@ Polymer({
this.setupCancelConfirmed_ = true;
this.$$('#setupCancelDialog').close();
const router = settings.Router.getInstance();
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().BASIC));
router.navigateTo(router.getRoutes().BASIC);
chrome.metricsPrivate.recordUserAction(
'Signin_Signin_ConfirmCancelAdvancedSyncSettings');
},
......@@ -438,8 +437,7 @@ Polymer({
// firing). Triggering navigation from within an observer leads to some
// undefined behavior and runtime errors.
requestAnimationFrame(() => {
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().SYNC));
router.navigateTo(router.getRoutes().SYNC);
this.showSetupCancelDialog_ = true;
// Flush to make sure that the setup cancel dialog is attached.
Polymer.dom.flush();
......@@ -627,8 +625,7 @@ Polymer({
return;
case settings.PageStatus.DONE:
if (router.getCurrentRoute() == router.getRoutes().SYNC) {
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().PEOPLE));
router.navigateTo(router.getRoutes().PEOPLE);
}
return;
case settings.PageStatus.PASSPHRASE_FAILED:
......@@ -693,8 +690,7 @@ Polymer({
/** @private */
onSyncAdvancedTap_() {
const router = settings.Router.getInstance();
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().SYNC_ADVANCED));
router.navigateTo(router.getRoutes().SYNC_ADVANCED);
},
/**
......@@ -713,8 +709,7 @@ Polymer({
'Signin_Signin_CancelAdvancedSyncSettings');
}
const router = settings.Router.getInstance();
router.navigateTo(
/** @type {!settings.Route} */ (router.getRoutes().BASIC));
router.navigateTo(router.getRoutes().BASIC);
},
/**
......
......@@ -94,11 +94,10 @@ polymer_modulizer("printing_page") {
html_file = "printing_page.html"
html_type = "dom-module"
namespace_rewrites = settings_namespace_rewrites
auto_imports =
settings_auto_imports + [
"chrome/browser/resources/settings/route.html|routes",
"chrome/browser/resources/settings/router.html|Route, Router",
]
auto_imports = settings_auto_imports + [
"chrome/browser/resources/settings/route.html|routes",
"chrome/browser/resources/settings/router.html|Router",
]
}
js_modulizer("modulize") {
......
......@@ -37,7 +37,6 @@ Polymer({
/** @private */
onTapCloudPrinters_() {
settings.Router.getInstance().navigateTo(
/** @type {!settings.Route} */ (settings.routes.CLOUD_PRINTERS));
settings.Router.getInstance().navigateTo(settings.routes.CLOUD_PRINTERS);
},
});
......@@ -93,8 +93,7 @@ cr.define('settings', function() {
* @return {!SettingsRoutes}
*/
function createBrowserSettingsRoutes() {
/** @type {!SettingsRoutes} */
const r = {};
const r = /** @type {!SettingsRoutes} */ ({});
// Root pages.
r.BASIC = new settings.Route('/');
......@@ -226,9 +225,8 @@ cr.define('settings', function() {
// On pop state, do not push the state onto the window.history again.
const routerInstance = settings.Router.getInstance();
routerInstance.setCurrentRoute(
/** @type {!settings.Route} */ (
routerInstance.getRouteForPath(window.location.pathname) ||
routerInstance.getRoutes().BASIC),
routerInstance.getRouteForPath(window.location.pathname) ||
routerInstance.getRoutes().BASIC,
new URLSearchParams(window.location.search), true);
});
......
......@@ -9,8 +9,8 @@
cr.define('settings', function() {
/**
* @typedef {{
* BASIC: (settings.Route|undefined),
* ADVANCED: (settings.Route|undefined),
* BASIC: !settings.Route,
* ADVANCED: !settings.Route,
* }}
*/
/* #export */ let MinimumRoutes;
......@@ -152,7 +152,7 @@ cr.define('settings', function() {
* or settings.initializeRouteFromUrl.
* @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
......@@ -255,7 +255,7 @@ cr.define('settings', function() {
// The ADVANCED route only serves as a parent of subpages, and should not
// be possible to navigate to it directly.
if (route == this.routes_.ADVANCED) {
route = /** @type {!settings.Route} */ (this.routes_.BASIC);
route = this.routes_.BASIC;
}
const params = opt_dynamicParameters || new URLSearchParams();
......@@ -292,9 +292,7 @@ cr.define('settings', function() {
if (previousRoute && previousRoute.depth <= this.currentRoute.depth) {
window.history.back();
} else {
this.navigateTo(
this.currentRoute.parent ||
/** @type {!settings.Route} */ (this.routes_.BASIC));
this.navigateTo(this.currentRoute.parent || this.routes_.BASIC);
}
}
......@@ -342,7 +340,7 @@ cr.define('settings', function() {
resetRouteForTesting() {
this.initializeRouteFromUrlCalled_ = false;
this.wasLastRouteChangePopstate_ = false;
this.currentRoute = /** @type {!settings.Route} */ (this.routes_.BASIC);
this.currentRoute = this.routes_.BASIC;
this.currentQueryParameters_ = new URLSearchParams();
}
}
......
......@@ -50,7 +50,7 @@ polymer_modulizer("search_page") {
namespace_rewrites = settings_namespace_rewrites
auto_imports = [
"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",
"ui/webui/resources/html/cr.html|addWebUIListener",
]
......
......@@ -68,8 +68,7 @@ Polymer({
/** @private */
onManageSearchEnginesTap_() {
settings.Router.getInstance().navigateTo(
/** @type {!settings.Route} */ (settings.routes.SEARCH_ENGINES));
settings.Router.getInstance().navigateTo(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