forked from mirrors/gecko-dev
133 lines
3.9 KiB
JavaScript
133 lines
3.9 KiB
JavaScript
// Make sure that we can open private browsing windows
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
var nonPrivateWin = OpenBrowserWindow();
|
|
ok(
|
|
!PrivateBrowsingUtils.isWindowPrivate(nonPrivateWin),
|
|
"OpenBrowserWindow() should open a normal window"
|
|
);
|
|
nonPrivateWin.close();
|
|
|
|
var privateWin = OpenBrowserWindow({ private: true });
|
|
ok(
|
|
PrivateBrowsingUtils.isWindowPrivate(privateWin),
|
|
"OpenBrowserWindow({private: true}) should open a private window"
|
|
);
|
|
|
|
nonPrivateWin = OpenBrowserWindow({ private: false });
|
|
ok(
|
|
!PrivateBrowsingUtils.isWindowPrivate(nonPrivateWin),
|
|
"OpenBrowserWindow({private: false}) should open a normal window"
|
|
);
|
|
nonPrivateWin.close();
|
|
|
|
whenDelayedStartupFinished(privateWin, function () {
|
|
nonPrivateWin = privateWin.OpenBrowserWindow({ private: false });
|
|
ok(
|
|
!PrivateBrowsingUtils.isWindowPrivate(nonPrivateWin),
|
|
"privateWin.OpenBrowserWindow({private: false}) should open a normal window"
|
|
);
|
|
|
|
nonPrivateWin.close();
|
|
|
|
[
|
|
{
|
|
normal: "menu_newNavigator",
|
|
private: "menu_newPrivateWindow",
|
|
accesskey: true,
|
|
},
|
|
{
|
|
normal: "appmenu_newNavigator",
|
|
private: "appmenu_newPrivateWindow",
|
|
accesskey: false,
|
|
},
|
|
].forEach(function (menu) {
|
|
let newWindow = privateWin.document.getElementById(menu.normal);
|
|
let newPrivateWindow = privateWin.document.getElementById(menu.private);
|
|
if (newWindow && newPrivateWindow) {
|
|
ok(
|
|
!newPrivateWindow.hidden,
|
|
"New Private Window menu item should be hidden"
|
|
);
|
|
isnot(
|
|
newWindow.label,
|
|
newPrivateWindow.label,
|
|
"New Window's label shouldn't be overwritten"
|
|
);
|
|
if (menu.accesskey) {
|
|
isnot(
|
|
newWindow.accessKey,
|
|
newPrivateWindow.accessKey,
|
|
"New Window's accessKey shouldn't be overwritten"
|
|
);
|
|
}
|
|
isnot(
|
|
newWindow.command,
|
|
newPrivateWindow.command,
|
|
"New Window's command shouldn't be overwritten"
|
|
);
|
|
}
|
|
});
|
|
|
|
is(
|
|
privateWin.gBrowser.tabs[0].label,
|
|
"New Private Tab",
|
|
"New tabs in the private browsing windows should have 'New Private Tab' as the title."
|
|
);
|
|
|
|
privateWin.close();
|
|
|
|
Services.prefs.setBoolPref("browser.privatebrowsing.autostart", true);
|
|
privateWin = OpenBrowserWindow({ private: true });
|
|
whenDelayedStartupFinished(privateWin, function () {
|
|
[
|
|
{
|
|
normal: "menu_newNavigator",
|
|
private: "menu_newPrivateWindow",
|
|
accessKey: true,
|
|
},
|
|
{
|
|
normal: "appmenu_newNavigator",
|
|
private: "appmenu_newPrivateWindow",
|
|
accessKey: false,
|
|
},
|
|
].forEach(function (menu) {
|
|
let newWindow = privateWin.document.getElementById(menu.normal);
|
|
let newPrivateWindow = privateWin.document.getElementById(menu.private);
|
|
if (newWindow && newPrivateWindow) {
|
|
ok(
|
|
newPrivateWindow.hidden,
|
|
"New Private Window menu item should be hidden"
|
|
);
|
|
is(
|
|
newWindow.label,
|
|
newPrivateWindow.label,
|
|
"New Window's label should be overwritten"
|
|
);
|
|
if (menu.accesskey) {
|
|
is(
|
|
newWindow.accessKey,
|
|
newPrivateWindow.accessKey,
|
|
"New Window's accessKey should be overwritten"
|
|
);
|
|
}
|
|
is(
|
|
newWindow.command,
|
|
newPrivateWindow.command,
|
|
"New Window's command should be overwritten"
|
|
);
|
|
}
|
|
});
|
|
|
|
is(
|
|
privateWin.gBrowser.tabs[0].label,
|
|
"New Tab",
|
|
"Normal tab title is used also in the permanent private browsing mode."
|
|
);
|
|
privateWin.close();
|
|
Services.prefs.clearUserPref("browser.privatebrowsing.autostart");
|
|
finish();
|
|
});
|
|
});
|
|
}
|