gecko-dev/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_zoom.js

60 lines
2.2 KiB
JavaScript

/* 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/. */
// This test makes sure that private browsing turns off doesn't cause zoom
// settings to be reset on tab switch (bug 464962)
function test() {
waitForExplicitFinish();
function testZoom(aWindow, aCallback) {
executeSoon(function() {
let tabAbout = aWindow.gBrowser.addTab();
aWindow.gBrowser.selectedTab = tabAbout;
let aboutBrowser = aWindow.gBrowser.getBrowserForTab(tabAbout);
aboutBrowser.addEventListener("load", function onAboutBrowserLoad() {
aboutBrowser.removeEventListener("load", onAboutBrowserLoad, true);
let tabMozilla = aWindow.gBrowser.addTab();
aWindow.gBrowser.selectedTab = tabMozilla;
let mozillaBrowser = aWindow.gBrowser.getBrowserForTab(tabMozilla);
mozillaBrowser.addEventListener("load", function onMozillaBrowserLoad() {
mozillaBrowser.removeEventListener("load", onMozillaBrowserLoad, true);
let mozillaZoom = aWindow.ZoomManager.zoom;
// change the zoom on the mozilla page
aWindow.FullZoom.enlarge();
// make sure the zoom level has been changed
isnot(aWindow.ZoomManager.zoom, mozillaZoom, "Zoom level can be changed");
mozillaZoom = aWindow.ZoomManager.zoom;
// switch to about: tab
aWindow.gBrowser.selectedTab = tabAbout;
// switch back to mozilla tab
aWindow.gBrowser.selectedTab = tabMozilla;
// make sure the zoom level has not changed
is(aWindow.ZoomManager.zoom, mozillaZoom,
"Entering private browsing should not reset the zoom on a tab");
// cleanup
aWindow.FullZoom.reset();
aWindow.gBrowser.removeTab(tabMozilla);
aWindow.gBrowser.removeTab(tabAbout);
aWindow.close();
aCallback();
}, true);
mozillaBrowser.contentWindow.location = "about:mozilla";
}, true);
aboutBrowser.contentWindow.location = "about:";
});
}
whenNewWindowLoaded({private: true}, function(privateWindow) {
testZoom(privateWindow, finish);
});
}