| Index: chrome/browser/ui/webui/options/options_browsertest.js
|
| diff --git a/chrome/browser/ui/webui/options/options_browsertest.js b/chrome/browser/ui/webui/options/options_browsertest.js
|
| index 9b15733a2977adea03516ed26826197652cfad82..591771f0972cec2b4d78f944ee7846d293605575 100644
|
| --- a/chrome/browser/ui/webui/options/options_browsertest.js
|
| +++ b/chrome/browser/ui/webui/options/options_browsertest.js
|
| @@ -381,19 +381,19 @@ OptionsWebUIExtendedTest.prototype = {
|
| * Verifies that the correct pages are currently open/visible.
|
| * @param {!Array.<string>} expectedPages An array of page names expected to
|
| * be open, with the topmost listed last.
|
| - * @param {string=} expectedUrl The URL path, including hash, expected to be
|
| - * open. If undefined, the topmost (last) page name in |expectedPages|
|
| + * @param {string=} opt_expectedUrl The URL path, including hash, expected to
|
| + * be open. If undefined, the topmost (last) page name in |expectedPages|
|
| * will be used. In either case, 'chrome://settings-frame/' will be
|
| * prepended.
|
| * @private
|
| */
|
| - verifyOpenPages_: function(expectedPages, expectedUrl) {
|
| + verifyOpenPages_: function(expectedPages, opt_expectedUrl) {
|
| // Check the topmost page.
|
| - assertEquals(null, OptionsPage.getVisibleBubble());
|
| + expectEquals(null, OptionsPage.getVisibleBubble());
|
| var currentPage = OptionsPage.getTopmostVisiblePage();
|
|
|
| var lastExpected = expectedPages[expectedPages.length - 1];
|
| - assertEquals(lastExpected, currentPage.name);
|
| + expectEquals(lastExpected, currentPage.name);
|
| // We'd like to check the title too, but we have to load the settings-frame
|
| // instead of the outer settings page in order to have access to
|
| // OptionsPage, and setting the title from within the settings-frame fails
|
| @@ -401,9 +401,10 @@ OptionsWebUIExtendedTest.prototype = {
|
| // TODO(pamg): Add a test fixture that loads chrome://settings and uses
|
| // UI elements to access sub-pages, so we can test the titles and
|
| // search-page URLs.
|
| - var fullExpectedUrl = 'chrome://settings-frame/' +
|
| - (expectedUrl ? expectedUrl : lastExpected);
|
| - assertEquals(fullExpectedUrl, window.location.href);
|
| + var expectedUrl = (typeof opt_expectedUrl == 'undefined') ?
|
| + lastExpected : opt_expectedUrl;
|
| + var fullExpectedUrl = 'chrome://settings-frame/' + expectedUrl;
|
| + expectEquals(fullExpectedUrl, window.location.href);
|
|
|
| // Collect open pages.
|
| var allPageNames = Object.keys(OptionsPage.registeredPages).concat(
|
| @@ -483,7 +484,7 @@ TEST_F('OptionsWebUIExtendedTest', 'DISABLED_ShowSearchPageNoQuery',
|
|
|
| // Show a page without updating history.
|
| TEST_F('OptionsWebUIExtendedTest', 'ShowPageNoHistory', function() {
|
| - this.verifyOpenPages_(['settings']);
|
| + this.verifyOpenPages_(['settings'], '');
|
| // There are only two main pages, 'settings' and 'search'. It's not possible
|
| // to show the search page using OptionsPage.showPageByName, because it
|
| // reverts to the settings page if it has no search text set. So we show the
|
| @@ -494,12 +495,12 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowPageNoHistory', function() {
|
| // the search results. Furthermore, the URL hasn't been updated in the parent
|
| // page, because we've loaded the chrome-settings frame instead of the whole
|
| // settings page, so the cross-origin call to set the URL fails.
|
| - this.verifyOpenPages_(['settings', 'search'], 'settings#query');
|
| + this.verifyOpenPages_(['settings', 'search'], 'search#query');
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'settings#query'], function() {
|
| + this.verifyHistory_(['', 'search#query'], function() {
|
| OptionsPage.showPageByName('settings', false);
|
| - self.verifyOpenPages_(['settings'], 'settings#query');
|
| - self.verifyHistory_(['settings', 'settings#query'], testDone);
|
| + self.verifyOpenPages_(['settings'], 'search#query');
|
| + self.verifyHistory_(['', 'search#query'], testDone);
|
| });
|
| });
|
|
|
| @@ -507,10 +508,10 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowPageWithHistory', function() {
|
| // See comments for ShowPageNoHistory.
|
| $('search-field').onsearch({currentTarget: {value: 'query'}});
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'settings#query'], function() {
|
| + this.verifyHistory_(['', 'search#query'], function() {
|
| OptionsPage.showPageByName('settings', true);
|
| - self.verifyOpenPages_(['settings'], 'settings#query');
|
| - self.verifyHistory_(['settings', 'settings#query', 'settings#query'],
|
| + self.verifyOpenPages_(['settings'], '#query');
|
| + self.verifyHistory_(['', 'search#query', '#query'],
|
| testDone);
|
| });
|
| });
|
| @@ -519,10 +520,10 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowPageReplaceHistory', function() {
|
| // See comments for ShowPageNoHistory.
|
| $('search-field').onsearch({currentTarget: {value: 'query'}});
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'settings#query'], function() {
|
| + this.verifyHistory_(['', 'search#query'], function() {
|
| OptionsPage.showPageByName('settings', true, {'replaceState': true});
|
| - self.verifyOpenPages_(['settings'], 'settings#query');
|
| - self.verifyHistory_(['settings', 'settings#query'], testDone);
|
| + self.verifyOpenPages_(['settings'], '#query');
|
| + self.verifyHistory_(['', '#query'], testDone);
|
| });
|
| });
|
|
|
| @@ -531,10 +532,10 @@ TEST_F('OptionsWebUIExtendedTest', 'NavigateToPage', function() {
|
| // See comments for ShowPageNoHistory.
|
| $('search-field').onsearch({currentTarget: {value: 'query'}});
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'settings#query'], function() {
|
| + this.verifyHistory_(['', 'search#query'], function() {
|
| OptionsPage.navigateToPage('settings');
|
| - self.verifyOpenPages_(['settings'], 'settings#query');
|
| - self.verifyHistory_(['settings', 'settings#query', 'settings#query'],
|
| + self.verifyOpenPages_(['settings'], '#query');
|
| + self.verifyHistory_(['', 'search#query', '#query'],
|
| testDone);
|
| });
|
| });
|
| @@ -544,16 +545,16 @@ TEST_F('OptionsWebUIExtendedTest', 'NavigateToPage', function() {
|
| TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayNoHistory', function() {
|
| // Open a layer-1 overlay, not updating history.
|
| OptionsPage.showPageByName('languages', false);
|
| - this.verifyOpenPages_(['settings', 'languages'], 'settings');
|
| + this.verifyOpenPages_(['settings', 'languages'], '');
|
|
|
| var self = this;
|
| - this.verifyHistory_(['settings'], function() {
|
| + this.verifyHistory_([''], function() {
|
| // Open a layer-2 overlay for which the layer-1 is a parent, not updating
|
| // history.
|
| OptionsPage.showPageByName('addLanguage', false);
|
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage'],
|
| - 'settings');
|
| - self.verifyHistory_(['settings'], testDone);
|
| + '');
|
| + self.verifyHistory_([''], testDone);
|
| });
|
| });
|
|
|
| @@ -563,11 +564,11 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayWithHistory', function() {
|
| this.verifyOpenPages_(['settings', 'languages']);
|
|
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'languages'], function() {
|
| + this.verifyHistory_(['', 'languages'], function() {
|
| // Open a layer-2 overlay, updating history.
|
| OptionsPage.showPageByName('addLanguage', true);
|
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']);
|
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'], testDone);
|
| + self.verifyHistory_(['', 'languages', 'addLanguage'], testDone);
|
| });
|
| });
|
|
|
| @@ -575,11 +576,11 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayReplaceHistory', function() {
|
| // Open a layer-1 overlay, updating history.
|
| OptionsPage.showPageByName('languages', true);
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'languages'], function() {
|
| + this.verifyHistory_(['', 'languages'], function() {
|
| // Open a layer-2 overlay, replacing history.
|
| OptionsPage.showPageByName('addLanguage', true, {'replaceState': true});
|
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']);
|
| - self.verifyHistory_(['settings', 'addLanguage'], testDone);
|
| + self.verifyHistory_(['', 'addLanguage'], testDone);
|
| });
|
| });
|
|
|
| @@ -590,7 +591,7 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayFurtherAbove', function() {
|
| OptionsPage.showPageByName('addLanguage', true);
|
| this.verifyOpenPages_(['settings', 'languages', 'addLanguage']);
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'addLanguage'], testDone);
|
| + this.verifyHistory_(['', 'addLanguage'], testDone);
|
| });
|
|
|
| // Directly show a layer-2 overlay for which the layer-1 overlay is not a
|
| @@ -601,11 +602,11 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowUnrelatedOverlay', function() {
|
| this.verifyOpenPages_(['settings', 'languages']);
|
|
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'languages'], function() {
|
| + this.verifyHistory_(['', 'languages'], function() {
|
| // Open an unrelated layer-2 overlay.
|
| OptionsPage.showPageByName('cookies', true);
|
| self.verifyOpenPages_(['settings', 'content', 'cookies']);
|
| - self.verifyHistory_(['settings', 'languages', 'cookies'], testDone);
|
| + self.verifyHistory_(['', 'languages', 'cookies'], testDone);
|
| });
|
| });
|
|
|
| @@ -618,18 +619,18 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlay', function() {
|
| this.verifyOpenPages_(['settings', 'languages', 'addLanguage']);
|
|
|
| var self = this;
|
| - this.verifyHistory_(['settings', 'languages', 'addLanguage'], function() {
|
| + this.verifyHistory_(['', 'languages', 'addLanguage'], function() {
|
| // Close the layer-2 overlay.
|
| OptionsPage.closeOverlay();
|
| self.verifyOpenPages_(['settings', 'languages']);
|
| self.verifyHistory_(
|
| - ['settings', 'languages', 'addLanguage', 'languages'],
|
| + ['', 'languages', 'addLanguage', 'languages'],
|
| function() {
|
| // Close the layer-1 overlay.
|
| OptionsPage.closeOverlay();
|
| - self.verifyOpenPages_(['settings']);
|
| + self.verifyOpenPages_(['settings'], '');
|
| self.verifyHistory_(
|
| - ['settings', 'languages', 'addLanguage', 'languages', 'settings'],
|
| + ['', 'languages', 'addLanguage', 'languages', ''],
|
| testDone);
|
| });
|
| });
|
| @@ -657,25 +658,25 @@ TEST_F('OptionsWebUIExtendedTest', 'OverlayTabNavigation', function() {
|
|
|
| // Go back twice, then forward twice.
|
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']);
|
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'], function() {
|
| + self.verifyHistory_(['', 'languages', 'addLanguage'], function() {
|
| window.history.back();
|
| waitForPopstate(function() {
|
| self.verifyOpenPages_(['settings', 'languages']);
|
| - self.verifyHistory_(['settings', 'languages'], function() {
|
| + self.verifyHistory_(['', 'languages'], function() {
|
| window.history.back();
|
| waitForPopstate(function() {
|
| - self.verifyOpenPages_(['settings']);
|
| - self.verifyHistory_(['settings'], function() {
|
| + self.verifyOpenPages_(['settings'], '');
|
| + self.verifyHistory_([''], function() {
|
| window.history.forward();
|
| waitForPopstate(function() {
|
| self.verifyOpenPages_(['settings', 'languages']);
|
| - self.verifyHistory_(['settings', 'languages'], function() {
|
| + self.verifyHistory_(['', 'languages'], function() {
|
| window.history.forward();
|
| waitForPopstate(function() {
|
| self.verifyOpenPages_(
|
| ['settings', 'languages', 'addLanguage']);
|
| self.verifyHistory_(
|
| - ['settings', 'languages', 'addLanguage'], testDone);
|
| + ['', 'languages', 'addLanguage'], testDone);
|
| });
|
| });
|
| });
|
| @@ -695,19 +696,19 @@ TEST_F('OptionsWebUIExtendedTest', 'OverlayBackToChild', function() {
|
| var self = this;
|
|
|
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']);
|
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'], function() {
|
| + self.verifyHistory_(['', 'languages', 'addLanguage'], function() {
|
| // Close the top overlay, then go back to it.
|
| OptionsPage.closeOverlay();
|
| self.verifyOpenPages_(['settings', 'languages']);
|
| self.verifyHistory_(
|
| - ['settings', 'languages', 'addLanguage', 'languages'],
|
| + ['', 'languages', 'addLanguage', 'languages'],
|
| function() {
|
| // Going back to the 'addLanguage' page should not close 'languages'.
|
| self.prohibitChangesToOverlay_(options.LanguageOptions.getInstance());
|
| window.history.back();
|
| waitForPopstate(function() {
|
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']);
|
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'],
|
| + self.verifyHistory_(['', 'languages', 'addLanguage'],
|
| testDone);
|
| });
|
| });
|
| @@ -721,7 +722,7 @@ TEST_F('OptionsWebUIExtendedTest', 'OverlayBackToUnrelated', function() {
|
| OptionsPage.showPageByName('cookies', true);
|
| var self = this;
|
| self.verifyOpenPages_(['settings', 'content', 'cookies']);
|
| - self.verifyHistory_(['settings', 'languages', 'cookies'], function() {
|
| + self.verifyHistory_(['', 'languages', 'cookies'], function() {
|
| window.history.back();
|
| waitForPopstate(function() {
|
| self.verifyOpenPages_(['settings', 'languages']);
|
|
|