| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @typedef {{ | 6 * @typedef {{ |
| 7 * dialog: (string|undefined), | 7 * dialog: (string|undefined), |
| 8 * page: string, | 8 * page: string, |
| 9 * section: string, | 9 * section: string, |
| 10 * subpage: !Array<string>, | 10 * subpage: !Array<string>, |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 }; | 89 }; |
| 90 }, | 90 }, |
| 91 }, | 91 }, |
| 92 }, | 92 }, |
| 93 | 93 |
| 94 | 94 |
| 95 /** | 95 /** |
| 96 * @private {!Array<!CanonicalRoute>} | 96 * @private {!Array<!CanonicalRoute>} |
| 97 * The 'url' property is not accessible to other elements. | 97 * The 'url' property is not accessible to other elements. |
| 98 */ | 98 */ |
| 99 canonicalRoutes_: [ | 99 canonicalRoutes_: Object.keys(settings.Route).map(function(key) { |
| 100 { | 100 return settings.Route[key]; |
| 101 url: '/', | 101 }), |
| 102 page: 'basic', | |
| 103 section: '', | |
| 104 subpage: [], | |
| 105 }, | |
| 106 { | |
| 107 url: '/help', | |
| 108 page: 'about', | |
| 109 section: '', | |
| 110 subpage: [], | |
| 111 }, | |
| 112 <if expr="chromeos"> | |
| 113 { | |
| 114 url: '/help/details', | |
| 115 page: 'about', | |
| 116 section: 'about', | |
| 117 subpage: ['detailed-build-info'], | |
| 118 }, | |
| 119 </if> | |
| 120 { | |
| 121 url: '/advanced', | |
| 122 page: 'advanced', | |
| 123 section: '', | |
| 124 subpage: [], | |
| 125 }, | |
| 126 <if expr="chromeos"> | |
| 127 { | |
| 128 url: '/internet', | |
| 129 page: 'basic', | |
| 130 section: 'internet', | |
| 131 subpage: [], | |
| 132 }, | |
| 133 { | |
| 134 url: '/networkDetail', | |
| 135 page: 'basic', | |
| 136 section: 'internet', | |
| 137 subpage: ['network-detail'], | |
| 138 }, | |
| 139 { | |
| 140 url: '/knownNetworks', | |
| 141 page: 'basic', | |
| 142 section: 'internet', | |
| 143 subpage: ['known-networks'], | |
| 144 }, | |
| 145 </if> | |
| 146 { | |
| 147 url: '/appearance', | |
| 148 page: 'basic', | |
| 149 section: 'appearance', | |
| 150 subpage: [], | |
| 151 }, | |
| 152 { | |
| 153 url: '/fonts', | |
| 154 page: 'basic', | |
| 155 section: 'appearance', | |
| 156 subpage: ['appearance-fonts'], | |
| 157 }, | |
| 158 { | |
| 159 url: '/defaultBrowser', | |
| 160 page: 'basic', | |
| 161 section: 'defaultBrowser', | |
| 162 subpage: [], | |
| 163 }, | |
| 164 { | |
| 165 url: '/search', | |
| 166 page: 'basic', | |
| 167 section: 'search', | |
| 168 subpage: [], | |
| 169 }, | |
| 170 { | |
| 171 url: '/searchEngines', | |
| 172 page: 'basic', | |
| 173 section: 'search', | |
| 174 subpage: ['search-engines'], | |
| 175 }, | |
| 176 { | |
| 177 url: '/onStartup', | |
| 178 page: 'basic', | |
| 179 section: 'onStartup', | |
| 180 subpage: [], | |
| 181 }, | |
| 182 { | |
| 183 url: '/people', | |
| 184 page: 'basic', | |
| 185 section: 'people', | |
| 186 subpage: [], | |
| 187 }, | |
| 188 <if expr="chromeos"> | |
| 189 { | |
| 190 url: '/changePicture', | |
| 191 page: 'basic', | |
| 192 section: 'people', | |
| 193 subpage: ['changePicture'], | |
| 194 }, | |
| 195 </if> | |
| 196 <if expr="not chromeos"> | |
| 197 { | |
| 198 url: '/manageProfile', | |
| 199 page: 'basic', | |
| 200 section: 'people', | |
| 201 subpage: ['manageProfile'], | |
| 202 }, | |
| 203 </if> | |
| 204 { | |
| 205 url: '/syncSetup', | |
| 206 page: 'basic', | |
| 207 section: 'people', | |
| 208 subpage: ['sync'], | |
| 209 }, | |
| 210 <if expr="chromeos"> | |
| 211 { | |
| 212 url: '/quickUnlock/authenticate', | |
| 213 page: 'basic', | |
| 214 section: 'people', | |
| 215 subpage: ['quick-unlock-authenticate'], | |
| 216 }, | |
| 217 { | |
| 218 url: '/quickUnlock/chooseMethod', | |
| 219 page: 'basic', | |
| 220 section: 'people', | |
| 221 subpage: ['quick-unlock-choose-method'], | |
| 222 }, | |
| 223 { | |
| 224 url: '/quickUnlock/setupPin', | |
| 225 page: 'basic', | |
| 226 section: 'people', | |
| 227 subpage: ['quick-unlock-choose-method', 'quick-unlock-setup-pin'], | |
| 228 }, | |
| 229 { | |
| 230 url: '/accounts', | |
| 231 page: 'basic', | |
| 232 section: 'people', | |
| 233 subpage: ['users'], | |
| 234 }, | |
| 235 </if> | |
| 236 { | |
| 237 url: '/privacy', | |
| 238 page: 'advanced', | |
| 239 section: 'privacy', | |
| 240 subpage: [], | |
| 241 }, | |
| 242 { | |
| 243 url: '/certificates', | |
| 244 page: 'advanced', | |
| 245 section: 'privacy', | |
| 246 subpage: ['manage-certificates'], | |
| 247 }, | |
| 248 { | |
| 249 url: '/siteSettings', | |
| 250 page: 'advanced', | |
| 251 section: 'privacy', | |
| 252 subpage: ['site-settings'], | |
| 253 }, | |
| 254 // Site Category routes. | |
| 255 { | |
| 256 url: '/siteSettings/all', | |
| 257 page: 'advanced', | |
| 258 section: 'privacy', | |
| 259 subpage: ['site-settings', 'all-sites'], | |
| 260 }, | |
| 261 { | |
| 262 url: '/siteSettings/automaticDownloads', | |
| 263 page: 'advanced', | |
| 264 section: 'privacy', | |
| 265 subpage: ['site-settings', 'site-settings-category-automatic-downloads'], | |
| 266 }, | |
| 267 { | |
| 268 url: '/siteSettings/backgroundSync', | |
| 269 page: 'advanced', | |
| 270 section: 'privacy', | |
| 271 subpage: ['site-settings', 'site-settings-category-background-sync'], | |
| 272 }, | |
| 273 { | |
| 274 url: '/siteSettings/camera', | |
| 275 page: 'advanced', | |
| 276 section: 'privacy', | |
| 277 subpage: ['site-settings', 'site-settings-category-camera'], | |
| 278 }, | |
| 279 { | |
| 280 url: '/siteSettings/cookies', | |
| 281 page: 'advanced', | |
| 282 section: 'privacy', | |
| 283 subpage: ['site-settings', 'site-settings-category-cookies'], | |
| 284 }, | |
| 285 { | |
| 286 url: '/siteSettings/fullscreen', | |
| 287 page: 'advanced', | |
| 288 section: 'privacy', | |
| 289 subpage: ['site-settings', 'site-settings-category-fullscreen'], | |
| 290 }, | |
| 291 { | |
| 292 url: '/siteSettings/images', | |
| 293 page: 'advanced', | |
| 294 section: 'privacy', | |
| 295 subpage: ['site-settings', 'site-settings-category-images'], | |
| 296 }, | |
| 297 { | |
| 298 url: '/siteSettings/handlers', | |
| 299 page: 'advanced', | |
| 300 section: 'privacy', | |
| 301 subpage: ['site-settings', 'protocol-handlers'], | |
| 302 }, | |
| 303 { | |
| 304 url: '/siteSettings/javascript', | |
| 305 page: 'advanced', | |
| 306 section: 'privacy', | |
| 307 subpage: ['site-settings', 'site-settings-category-javascript'], | |
| 308 }, | |
| 309 { | |
| 310 url: '/siteSettings/keygen', | |
| 311 page: 'advanced', | |
| 312 section: 'privacy', | |
| 313 subpage: ['site-settings', 'site-settings-category-keygen'], | |
| 314 }, | |
| 315 { | |
| 316 url: '/siteSettings/location', | |
| 317 page: 'advanced', | |
| 318 section: 'privacy', | |
| 319 subpage: ['site-settings', 'site-settings-category-location'], | |
| 320 }, | |
| 321 { | |
| 322 url: '/siteSettings/microphone', | |
| 323 page: 'advanced', | |
| 324 section: 'privacy', | |
| 325 subpage: ['site-settings', 'site-settings-category-microphone'], | |
| 326 }, | |
| 327 { | |
| 328 url: '/siteSettings/notifications', | |
| 329 page: 'advanced', | |
| 330 section: 'privacy', | |
| 331 subpage: ['site-settings', 'site-settings-category-notifications'], | |
| 332 }, | |
| 333 { | |
| 334 url: '/siteSettings/plugins', | |
| 335 page: 'advanced', | |
| 336 section: 'privacy', | |
| 337 subpage: ['site-settings', 'site-settings-category-plugins'], | |
| 338 }, | |
| 339 { | |
| 340 url: '/siteSettings/popups', | |
| 341 page: 'advanced', | |
| 342 section: 'privacy', | |
| 343 subpage: ['site-settings', 'site-settings-category-popups'], | |
| 344 }, | |
| 345 { | |
| 346 url: '/siteSettings/unsandboxedPlugins', | |
| 347 page: 'advanced', | |
| 348 section: 'privacy', | |
| 349 subpage: ['site-settings', 'site-settings-category-unsandboxed-plugins'], | |
| 350 }, | |
| 351 // Site details routes. | |
| 352 { | |
| 353 url: '/siteSettings/all/details', | |
| 354 page: 'advanced', | |
| 355 section: 'privacy', | |
| 356 subpage: ['site-settings', 'all-sites', 'site-details'], | |
| 357 }, | |
| 358 { | |
| 359 url: '/siteSettings/automaticDownloads/details', | |
| 360 page: 'advanced', | |
| 361 section: 'privacy', | |
| 362 subpage: ['site-settings', 'site-settings-category-automatic-downloads', | |
| 363 'site-details'], | |
| 364 }, | |
| 365 { | |
| 366 url: '/siteSettings/backgroundSync/details', | |
| 367 page: 'advanced', | |
| 368 section: 'privacy', | |
| 369 subpage: ['site-settings', 'site-settings-category-background-sync', | |
| 370 'site-details'], | |
| 371 }, | |
| 372 { | |
| 373 url: '/siteSettings/camera/details', | |
| 374 page: 'advanced', | |
| 375 section: 'privacy', | |
| 376 subpage: ['site-settings', 'site-settings-category-camera', | |
| 377 'site-details'], | |
| 378 }, | |
| 379 { | |
| 380 url: '/siteSettings/cookies/details', | |
| 381 page: 'advanced', | |
| 382 section: 'privacy', | |
| 383 subpage: ['site-settings', 'site-settings-category-cookies', | |
| 384 'site-details'], | |
| 385 }, | |
| 386 { | |
| 387 url: '/siteSettings/fullscreen/details', | |
| 388 page: 'advanced', | |
| 389 section: 'privacy', | |
| 390 subpage: ['site-settings', 'site-settings-category-fullscreen', | |
| 391 'site-details'], | |
| 392 }, | |
| 393 { | |
| 394 url: '/siteSettings/images/details', | |
| 395 page: 'advanced', | |
| 396 section: 'privacy', | |
| 397 subpage: ['site-settings', 'site-settings-category-images', | |
| 398 'site-details'], | |
| 399 }, | |
| 400 { | |
| 401 url: '/siteSettings/javascript/details', | |
| 402 page: 'advanced', | |
| 403 section: 'privacy', | |
| 404 subpage: ['site-settings', 'site-settings-category-javascript', | |
| 405 'site-details'], | |
| 406 }, | |
| 407 { | |
| 408 url: '/siteSettings/keygen/details', | |
| 409 page: 'advanced', | |
| 410 section: 'privacy', | |
| 411 subpage: ['site-settings', 'site-settings-category-keygen', | |
| 412 'site-details'], | |
| 413 }, | |
| 414 { | |
| 415 url: '/siteSettings/location/details', | |
| 416 page: 'advanced', | |
| 417 section: 'privacy', | |
| 418 subpage: ['site-settings', 'site-settings-category-location', | |
| 419 'site-details'], | |
| 420 }, | |
| 421 { | |
| 422 url: '/siteSettings/microphone/details', | |
| 423 page: 'advanced', | |
| 424 section: 'privacy', | |
| 425 subpage: ['site-settings', 'site-settings-category-microphone', | |
| 426 'site-details'], | |
| 427 }, | |
| 428 { | |
| 429 url: '/siteSettings/notifications/details', | |
| 430 page: 'advanced', | |
| 431 section: 'privacy', | |
| 432 subpage: ['site-settings', 'site-settings-category-notifications', | |
| 433 'site-details'], | |
| 434 }, | |
| 435 { | |
| 436 url: '/siteSettings/plugins/details', | |
| 437 page: 'advanced', | |
| 438 section: 'privacy', | |
| 439 subpage: ['site-settings', 'site-settings-category-plugins', | |
| 440 'site-details'], | |
| 441 }, | |
| 442 { | |
| 443 url: '/siteSettings/popups/details', | |
| 444 page: 'advanced', | |
| 445 section: 'privacy', | |
| 446 subpage: ['site-settings', 'site-settings-category-popups', | |
| 447 'site-details'], | |
| 448 }, | |
| 449 { | |
| 450 url: '/siteSettings/unsandboxedPlugins/details', | |
| 451 page: 'advanced', | |
| 452 section: 'privacy', | |
| 453 subpage: ['site-settings', 'site-settings-category-unsandsboxed-plugins', | |
| 454 'site-details'], | |
| 455 }, | |
| 456 { | |
| 457 url: '/clearBrowserData', | |
| 458 page: 'advanced', | |
| 459 section: 'privacy', | |
| 460 subpage: [], | |
| 461 dialog: 'clear-browsing-data', | |
| 462 }, | |
| 463 <if expr="chromeos"> | |
| 464 { | |
| 465 url: '/dateTime', | |
| 466 page: 'advanced', | |
| 467 section: 'dateTime', | |
| 468 subpage: [], | |
| 469 }, | |
| 470 { | |
| 471 url: '/bluetooth', | |
| 472 page: 'advanced', | |
| 473 section: 'bluetooth', | |
| 474 subpage: [], | |
| 475 }, | |
| 476 { | |
| 477 url: '/bluetoothAddDevice', | |
| 478 page: 'advanced', | |
| 479 section: 'bluetooth', | |
| 480 subpage: ['bluetooth-add-device'], | |
| 481 }, | |
| 482 { | |
| 483 url: '/bluetoothAddDevice/bluetoothPairDevice', | |
| 484 page: 'advanced', | |
| 485 section: 'bluetooth', | |
| 486 subpage: ['bluetooth-add-device', 'bluetooth-pair-device'], | |
| 487 }, | |
| 488 </if> | |
| 489 { | |
| 490 url: '/autofill', | |
| 491 page: 'advanced', | |
| 492 section: 'passwordsAndForms', | |
| 493 subpage: ['manage-autofill'], | |
| 494 }, | |
| 495 { | |
| 496 url: '/passwords', | |
| 497 page: 'advanced', | |
| 498 section: 'passwordsAndForms', | |
| 499 subpage: [], | |
| 500 }, | |
| 501 { | |
| 502 url: '/managePasswords', | |
| 503 page: 'advanced', | |
| 504 section: 'passwordsAndForms', | |
| 505 subpage: ['manage-passwords'], | |
| 506 }, | |
| 507 { | |
| 508 url: '/languages', | |
| 509 page: 'advanced', | |
| 510 section: 'languages', | |
| 511 subpage: [], | |
| 512 }, | |
| 513 { | |
| 514 url: '/manageLanguages', | |
| 515 page: 'advanced', | |
| 516 section: 'languages', | |
| 517 subpage: ['manage-languages'], | |
| 518 }, | |
| 519 { | |
| 520 url: '/languages/edit', | |
| 521 page: 'advanced', | |
| 522 section: 'languages', | |
| 523 subpage: ['language-detail'], | |
| 524 }, | |
| 525 <if expr="chromeos"> | |
| 526 { | |
| 527 url: '/inputMethods', | |
| 528 page: 'advanced', | |
| 529 section: 'languages', | |
| 530 subpage: ['manage-input-methods'], | |
| 531 }, | |
| 532 </if> | |
| 533 <if expr="not is_macosx"> | |
| 534 { | |
| 535 url: '/editDictionary', | |
| 536 page: 'advanced', | |
| 537 section: 'languages', | |
| 538 subpage: ['edit-dictionary'], | |
| 539 }, | |
| 540 </if> | |
| 541 { | |
| 542 url: '/downloadsDirectory', | |
| 543 page: 'advanced', | |
| 544 section: 'downloads', | |
| 545 subpage: [], | |
| 546 }, | |
| 547 { | |
| 548 url: '/printing', | |
| 549 page: 'advanced', | |
| 550 section: 'printing', | |
| 551 subpage: [], | |
| 552 }, | |
| 553 <if expr="chromeos"> | |
| 554 { | |
| 555 url: '/cupsPrinters', | |
| 556 page: 'advanced', | |
| 557 section: 'printing', | |
| 558 subpage: ['cups-printers'], | |
| 559 }, | |
| 560 </if> | |
| 561 { | |
| 562 url: '/cloudPrinters', | |
| 563 page: 'advanced', | |
| 564 section: 'printing', | |
| 565 subpage: ['cloud-printers'], | |
| 566 }, | |
| 567 { | |
| 568 url: '/accessibility', | |
| 569 page: 'advanced', | |
| 570 section: 'a11y', | |
| 571 subpage: [], | |
| 572 }, | |
| 573 { | |
| 574 url: '/system', | |
| 575 page: 'advanced', | |
| 576 section: 'system', | |
| 577 subpage: [], | |
| 578 }, | |
| 579 { | |
| 580 url: '/reset', | |
| 581 page: 'advanced', | |
| 582 section: 'reset', | |
| 583 subpage: [], | |
| 584 }, | |
| 585 <if expr="chromeos"> | |
| 586 { | |
| 587 url: '/device', | |
| 588 page: 'basic', | |
| 589 section: 'device', | |
| 590 subpage: [], | |
| 591 }, | |
| 592 { | |
| 593 url: '/pointer-overlay', | |
| 594 page: 'basic', | |
| 595 section: 'device', | |
| 596 subpage: ['touchpad'], | |
| 597 }, | |
| 598 { | |
| 599 url: '/keyboard-overlay', | |
| 600 page: 'basic', | |
| 601 section: 'device', | |
| 602 subpage: ['keyboard'], | |
| 603 }, | |
| 604 { | |
| 605 url: '/display', | |
| 606 page: 'basic', | |
| 607 section: 'device', | |
| 608 subpage: ['display'], | |
| 609 }, | |
| 610 </if> | |
| 611 ], | |
| 612 | 102 |
| 613 /** | 103 /** |
| 614 * Sets up a history popstate observer. | 104 * Sets up a history popstate observer. |
| 615 */ | 105 */ |
| 616 created: function() { | 106 created: function() { |
| 617 window.addEventListener('popstate', function(event) { | 107 window.addEventListener('popstate', function(event) { |
| 618 if (event.state && event.state.page) | 108 if (event.state && event.state.page) |
| 619 this.currentRoute = event.state; | 109 this.currentRoute = event.state; |
| 620 }.bind(this)); | 110 }.bind(this)); |
| 621 }, | 111 }, |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 window.history.replaceState(historicRoute, document.title); | 158 window.history.replaceState(historicRoute, document.title); |
| 669 } | 159 } |
| 670 | 160 |
| 671 return; | 161 return; |
| 672 } | 162 } |
| 673 } | 163 } |
| 674 | 164 |
| 675 assertNotReached('Route not found: ' + JSON.stringify(newRoute)); | 165 assertNotReached('Route not found: ' + JSON.stringify(newRoute)); |
| 676 }, | 166 }, |
| 677 }); | 167 }); |
| OLD | NEW |