diff -r 000000000000 -r 6474c204b198 browser/components/customizableui/test/browser_909779_overflow_toolbars_new_window.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/components/customizableui/test/browser_909779_overflow_toolbars_new_window.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,31 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +// Resize to a small window, open a new window, check that new window handles overflow properly +add_task(function() { + let originalWindowWidth = window.outerWidth; + let navbar = document.getElementById(CustomizableUI.AREA_NAVBAR); + ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar."); + let oldChildCount = navbar.customizationTarget.childElementCount; + window.resizeTo(400, window.outerHeight); + yield waitForCondition(() => navbar.hasAttribute("overflowing")); + ok(navbar.hasAttribute("overflowing"), "Should have an overflowing toolbar."); + + ok(navbar.customizationTarget.childElementCount < oldChildCount, "Should have fewer children."); + let newWindow = yield openAndLoadWindow(); + let otherNavBar = newWindow.document.getElementById(CustomizableUI.AREA_NAVBAR); + yield waitForCondition(() => otherNavBar.hasAttribute("overflowing")); + ok(otherNavBar.hasAttribute("overflowing"), "Other window should have an overflowing toolbar."); + yield promiseWindowClosed(newWindow); + + window.resizeTo(originalWindowWidth, window.outerHeight); + yield waitForCondition(() => !navbar.hasAttribute("overflowing")); + ok(!navbar.hasAttribute("overflowing"), "Should no longer have an overflowing toolbar."); +}); + +add_task(function asyncCleanup() { + yield resetCustomization(); +});