diff options
Diffstat (limited to 'chrome/browser/ui/webui/options/options_browsertest.js')
-rw-r--r-- | chrome/browser/ui/webui/options/options_browsertest.js | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/chrome/browser/ui/webui/options/options_browsertest.js b/chrome/browser/ui/webui/options/options_browsertest.js index a8c6b58..015f274 100644 --- a/chrome/browser/ui/webui/options/options_browsertest.js +++ b/chrome/browser/ui/webui/options/options_browsertest.js @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +GEN_INCLUDE(['options_browsertest_base.js']); GEN('#include "chrome/browser/ui/webui/options/options_browsertest.h"'); /** @const */ var SUPERVISED_USERS_PREF = 'profile.managed_users'; @@ -43,24 +44,15 @@ function waitForPopstate(afterFunction) { function OptionsWebUITest() {} OptionsWebUITest.prototype = { - __proto__: testing.Test.prototype, - - /** @override */ - accessibilityIssuesAreErrors: true, - - /** @override */ - setUp: function() { - // user-image-stream is a streaming video element used for capturing a - // user image during OOBE. - this.accessibilityAuditConfig.ignoreSelectors('videoWithoutCaptions', - '.user-image-stream'); - }, + __proto__: OptionsBrowsertestBase.prototype, /** * Browse to the options page & call our preLoad(). + * @override */ browsePreload: 'chrome://settings-frame', + /** @override */ isAsync: true, /** @@ -89,6 +81,27 @@ OptionsWebUITest.prototype = { }, }; +/** + * Wait for overlay-container-1 and overlay-container-2 to be hidden. + */ +function waitForOverlaysToHide() { + var overlay1 = $('overlay-container-1'); + var overlay2 = $('overlay-container-2'); + + document.addEventListener('webkitTransitionEnd', function f(e) { + if ((e.target.id == overlay1.id || e.target.id == overlay2.id) && + overlay1.hidden && overlay2.hidden) { + document.removeEventListener(f, 'webkitTransitionEnd'); + testDone(); + } + }); + + if (!overlay1.hidden) + ensureTransitionEndEvent(overlay1, 500); + if (!overlay2.hidden) + ensureTransitionEndEvent(overlay2, 500); +} + // Crashes on Mac only. See http://crbug.com/79181 GEN('#if defined(OS_MACOSX)'); GEN('#define MAYBE_testSetBooleanPrefTriggers ' + @@ -363,10 +376,7 @@ GEN('#endif'); // defined(OS_CHROMEOS) function OptionsWebUIExtendedTest() {} OptionsWebUIExtendedTest.prototype = { - __proto__: testing.Test.prototype, - - /** @override */ - browsePreload: 'chrome://settings-frame', + __proto__: OptionsWebUITest.prototype, /** @override */ typedefCppFixture: 'OptionsBrowserTest', @@ -376,17 +386,6 @@ OptionsWebUIExtendedTest.prototype = { GEN(' ClearPref("' + SUPERVISED_USERS_PREF + '");'); }, - /** @override */ - isAsync: true, - - /** @override */ - setUp: function() { - // user-image-stream is a streaming video element used for capturing a - // user image during OOBE. - this.accessibilityAuditConfig.ignoreSelectors('videoWithoutCaptions', - '.user-image-stream'); - }, - /** * Asserts that two non-nested arrays are equal. The arrays must contain only * plain data types, no nested arrays or other objects. @@ -676,7 +675,7 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlay', function() { self.verifyOpenPages_(['settings'], ''); self.verifyHistory_( ['', 'languages', 'addLanguage', 'languages', ''], - testDone); + waitForOverlaysToHide); }); }); }); @@ -708,7 +707,7 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlayWithHashes', function() { this.verifyHistory_( ['', 'search#1', 'languages#2', 'addLanguage#3', 'languages#2', 'search#1'], - testDone); + waitForOverlaysToHide); }.bind(this)); }.bind(this)); }); @@ -724,7 +723,7 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlayNoHistory', function() { // Close the overlay. PageManager.closeOverlay(); // Still no history changes. - this.verifyHistory_([''], testDone); + this.verifyHistory_([''], waitForOverlaysToHide); }.bind(this)); }); |