--- a/editor/ui/composer/content/editingOverlay.xul
+++ b/editor/ui/composer/content/editingOverlay.xul
@@ -64,16 +64,17 @@
<!-- File menu items -->
<menu id="menu_File">
<menupopup id="menu_FilePopup" onpopupshowing="EditorInitFileMenu();">
<menu id="menu_New">
<menupopup id="menu_NewPopup">
<menuitem id="menu_newEditor"/>
<menuseparator id="sep_NewPopup"/>
<menuitem id="menu_newNavigator"/>
+ <menuitem id="menu_newPrivateWindow"/>
</menupopup>
</menu>
<menuitem id="menu_openRemote"
label="&openRemoteCmd.label;"
accesskey="&openRemoteCmd.accesskey;"
key="key_openRemoteEditor"
command="cmd_openRemote"/>
<menuitem id="menu_openFile"
--- a/editor/ui/composer/content/editorOverlay.xul
+++ b/editor/ui/composer/content/editorOverlay.xul
@@ -15,16 +15,17 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://editor/content/editorUtilities.js"/>
<script type="application/javascript" src="chrome://editor/content/ComposerCommands.js"/>
<keyset id="editorKeys">
<!-- defined in globalOverlay -->
<key id="key_newNavigator"/>
+ <key id="key_newPrivateWindow"/>
<key id="key_newBlankPage"/>
<key id="key_save"
key="&saveCmd.key;"
command="cmd_save"
modifiers="accel"/>
<key id="key_print"/>
<key id="key_close"/>
<key id="key_undo"/>
@@ -276,16 +277,17 @@
<commandset id="editorCommands">
<commandset id="globalEditMenuItems"/>
<commandset id="selectEditMenuItems"/>
<commandset id="undoEditMenuItems"/>
<commandset id="clipboardEditMenuItems"/>
<command id="toggleSidebar"/>
<!-- file menu -->
<command id="cmd_newNavigator"/>
+ <command id="cmd_newPrivateWindow"/>
<command id="cmd_newEditor"/>
<command id="cmd_newEditorTemplate"/>
<command id="cmd_newEditorDraft"/>
<!-- view menu -->
<command id="cmd_viewCompToolbar" oncommand="goToggleToolbar('EditToolbar','cmd_viewCompToolbar');" checked="true"/>
<command id="cmd_viewFormatToolbar" oncommand="goToggleToolbar('FormatToolbar','cmd_viewFormatToolbar');" checked="true"/>
</commandset>
--- a/suite/browser/navigatorOverlay.xul
+++ b/suite/browser/navigatorOverlay.xul
@@ -47,18 +47,19 @@
src="chrome://navigator-region/locale/region.properties"/>
<stringbundle id="bundle_viewZoom"/>
<stringbundle id="bundle_viewApplyTheme"/>
</stringbundleset>
<!-- Keysets -->
<keyset id="navKeys">
<!-- File Menu -->
+ <key id="key_newNavigatorTab" key="&tabCmd.commandkey;" modifiers="accel" command="cmd_newNavigatorTab"/>
<key id="key_newNavigator"/>
- <key id="key_newNavigatorTab" key="&tabCmd.commandkey;" modifiers="accel" command="cmd_newNavigatorTab"/>
+ <key id="key_newPrivateWindow"/>
<key id="key_restoreTab" key="&recentTabs.commandkey;" modifiers="accel,shift" oncommand="gBrowser.undoCloseTab(0);"/>
<key id="key_restoreWindow" key="&recentWindows.commandkey;" modifiers="accel,shift" oncommand="undoCloseWindow();"/>
<key id="key_newBlankPage"/>
<key id="focusURLBar" key="&openCmd.commandkey;" oncommand="ShowAndSelectContentsOfURLBar();"
modifiers="accel"/>
<key id="openLocationKb" key="&openCmd.commandkey;" command="Browser:Open" modifiers="accel,shift"/>
<key id="openFileKb" key="&openFileCmd.commandkey;" command="Browser:OpenFile" modifiers="accel"/>
<key id="key_savePage" key="&savePageCmd.commandkey;" command="Browser:SavePage" modifiers="accel"/>
@@ -110,18 +111,19 @@
<key id="key_gotoHistory" key="&history.commandKey;" oncommand="toHistory();" modifiers="accel"/>
<keyset id="viewZoomKeys"/>
<keyset id="navigationKeys"/>
<keyset id="tasksKeys"/>
<key id="key_sanitize" command="Tools:Sanitize" keycode="VK_DELETE" modifiers="accel,shift"/>
</keyset>
<commandset id="commands">
+ <command id="cmd_newNavigatorTab" oncommand="BrowserOpenTab();"/>
<command id="cmd_newNavigator"/>
- <command id="cmd_newNavigatorTab" oncommand="BrowserOpenTab();"/>
+ <command id="cmd_newPrivateWindow"/>
<command id="cmd_newTabWithTarget" oncommand="contentAreaClick(event);"/>
<command id="cmd_handleBackspace" oncommand="BrowserHandleBackspace();" />
<command id="cmd_handleShiftBackspace" oncommand="BrowserHandleShiftBackspace();" />
<command id="cmd_newEditor"/>
<!-- NOT IMPLEMENTED
<command id="cmd_newEditorTemplate"/>
<command id="cmd_newEditorDraft"/> -->
@@ -223,19 +225,20 @@
<!-- Menu -->
<menubar id="main-menubar" class="chromeclass-menubar">
<menu id="menu_File">
<menupopup id="menu_FilePopup" onpopupshowing="updateCloseItems();getContentAreaFrameCount();updateSavePageItems();updateFileUploadItem();">
<menu id="menu_New">
<menupopup id="menu_NewPopup">
<!-- From utilityOverlay.xul -->
- <menuitem id="menu_newNavigator" command="cmd_newNavigator"/>
<menuitem id="menu_newNavigatorTab" command="cmd_newNavigatorTab" key="key_newNavigatorTab"
label="&tabCmd.label;" accesskey="&tabCmd.accesskey;"/>
+ <menuitem id="menu_newNavigator"/>
+ <menuitem id="menu_newPrivateWindow"/>
<menuseparator id="navBeginGlobalNewItems"/>
<menuitem id="menu_newEditor" command="cmd_newEditor"/>
</menupopup>
</menu>
<menuitem id="menu_openLocation"
label="&openCmd.label;"
accesskey="&openCmd.accesskey;"
key="openLocationKb"
--- a/suite/common/tasksOverlay.js
+++ b/suite/common/tasksOverlay.js
@@ -92,38 +92,39 @@ function toOpenWindowByType( inType, uri
{
// make sure that this handler is called only once
window.removeEventListener("unload", newWindowLoaded, false);
window[uri].removeEventListener("load", newWindowLoaded, false);
delete window[uri];
}
// remember the newly loading window until it's fully loaded
// or until the current window passes away
- window[uri] = window.openDialog(uri, "", features || "all,dialog=no");
+ window[uri] = openDialog(uri, "", features || "non-private,all,dialog=no");
window[uri].addEventListener("load", newWindowLoaded, false);
window.addEventListener("unload", newWindowLoaded, false);
}
}
function OpenBrowserWindow()
{
+ var win = Services.wm.getMostRecentWindow("navigator:browser");
if (document.documentElement.getAttribute("windowtype") ==
"navigator:browser" && window.content && window.content.document)
{
// if and only if the current window is a browser window and
// it has a document with a character set, then extract the
// current charset menu setting from the current document
// and use it to initialize the new browser window
window.openDialog(getBrowserURL(), "_blank",
"chrome,all,dialog=no", null,
"charset=" + window.content.document.characterSet);
- } else if (Services.wm.getMostRecentWindow("navigator:browser")) {
+ } else if (win) {
// if a browser window already exists then set startpage to null so
// navigator.js can check pref for how new window should be opened
- window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no", null);
+ win.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no", null);
} else {
// open the first browser window as if we were starting up
var cmdLine = {
handleFlagWithParam: function handleFlagWithParam(flag, caseSensitive) {
return flag == "remote" ? "xfeDoCommand(openBrowser)" : null;
},
handleFlag: function handleFlag(flag, caseSensitive) {
return false;
--- a/suite/common/utilityOverlay.js
+++ b/suite/common/utilityOverlay.js
@@ -29,16 +29,18 @@ XPCOMUtils.defineLazyGetter(this, "Weave
const kProxyManual = ["network.proxy.ftp",
"network.proxy.http",
"network.proxy.socks",
"network.proxy.ssl"];
const kExistingWindow = Components.interfaces.nsIBrowserDOMWindow.OPEN_CURRENTWINDOW;
const kNewWindow = Components.interfaces.nsIBrowserDOMWindow.OPEN_NEWWINDOW;
const kNewTab = Components.interfaces.nsIBrowserDOMWindow.OPEN_NEWTAB;
+const kExistingTab = Components.interfaces.nsIBrowserDOMWindow.OPEN_SWITCHTAB;
+const kNewPrivate = 5;
var TAB_DROP_TYPE = "application/x-moz-tabbrowser-tab";
var gShowBiDi = false;
var gUtilityBundle = null;
var gPrivate = null;
function toggleOfflineStatus()
{
var checkfunc;
@@ -239,17 +241,17 @@ function getBrowserURL() {
function goPreferences(paneID)
{
//check for an existing pref window and focus it; it's not application modal
var lastPrefWindow = Services.wm.getMostRecentWindow("mozilla:preferences");
if (lastPrefWindow)
lastPrefWindow.focus();
else
openDialog("chrome://communicator/content/pref/preferences.xul",
- "PrefWindow", "chrome,titlebar,dialog=no,resizable",
+ "PrefWindow", "non-private,chrome,titlebar,dialog=no,resizable",
paneID);
}
function goToggleToolbar( id, elementID )
{
var toolbar = document.getElementById( id );
var element = document.getElementById( elementID );
if ( toolbar )
@@ -568,17 +570,17 @@ function goClickThrobber(urlPref, aEvent
{
var url = GetLocalizedStringPref(urlPref);
if (url)
openUILinkIn(url, whereToOpenLink(aEvent, false, true, true));
}
function getTopWin()
{
- return Services.wm.getMostRecentWindow("navigator:browser");
+ return gPrivate || Services.wm.getMostRecentWindow("navigator:browser");
}
function isRestricted( url )
{
try {
const nsIURIFixup = Components.interfaces.nsIURIFixup;
var uri = Components.classes["@mozilla.org/docshell/urifixup;1"]
.getService(nsIURIFixup)
@@ -964,16 +966,17 @@ function openAsExternal(aURL)
var loadType = Services.prefs.getIntPref("browser.link.open_external");
var loadInBackground = Services.prefs.getBoolPref("browser.tabs.loadDivertedInBackground");
openNewTabWindowOrExistingWith(loadType, aURL, null, loadInBackground);
}
/**
* openNewTabWith: opens a new tab with the given URL.
* openNewWindowWith: opens a new window with the given URL.
+ * openNewPrivateWith: opens a private window with the given URL.
*
* @param aURL
* The URL to open (as a string).
* @param aDocument
* The document from which the URL came, or null. This is used to set
* the referrer header and to do a security check of whether the
* document is allowed to reference the URL. If null, there will be no
* referrer header and no security check.
@@ -987,16 +990,24 @@ function openAsExternal(aURL)
* @param aAllowThirdPartyFixup
* If true, then we allow the URL text to be sent to third party
* services (e.g., Google's I Feel Lucky) for interpretation. This
* parameter may be undefined in which case it is treated as false.
* @param [optional] aReferrer
* If aDocument is null, then this will be used as the referrer.
* There will be no security check.
*/
+function openNewPrivateWith(aURL, aDoc, aPostData, aAllowThirdPartyFixup,
+ aReferrer)
+{
+ return openNewTabWindowOrExistingWith(kNewPrivate, aURL, aDoc, false,
+ aPostData, aAllowThirdPartyFixup,
+ aReferrer);
+}
+
function openNewWindowWith(aURL, aDoc, aPostData, aAllowThirdPartyFixup,
aReferrer)
{
return openNewTabWindowOrExistingWith(kNewWindow, aURL, aDoc, false,
aPostData, aAllowThirdPartyFixup,
aReferrer);
}
@@ -1031,34 +1042,37 @@ function openNewTabWindowOrExistingWith(
urlSecurityCheck(aURL, aDoc.nodePrincipal,
Components.interfaces.nsIScriptSecurityManager.STANDARD);
// get referrer, if as external should be null
var referrerURI = aDoc ? aDoc.documentURIObject : aReferrer;
var browserWin;
// if we're not opening a new window, try and find existing window
- if (aType != kNewWindow)
+ if (aType != kNewWindow && aType != kNewPrivate)
browserWin = getTopWin();
// Where appropriate we want to pass the charset of the
// current document over to a new tab / window.
var originCharset = null;
if (aType != kExistingWindow) {
var wintype = document.documentElement.getAttribute('windowtype');
if (wintype == "navigator:browser")
originCharset = window.content.document.characterSet;
}
// We want to open in a new window or no existing window can be found.
if (!browserWin) {
+ var features = "private,chrome,all,dialog=no";
+ if (aType != kNewPrivate)
+ features = "non-" + features;
var charsetArg = null;
if (originCharset)
charsetArg = "charset=" + originCharset;
- return window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no",
+ return window.openDialog(getBrowserURL(), "_blank", features,
aURL, charsetArg, referrerURI, aPostData,
aAllowThirdPartyFixup);
}
// Get the existing browser object
var browser = browserWin.getBrowser();
// Open link in an existing window.
--- a/suite/common/utilityOverlay.xul
+++ b/suite/common/utilityOverlay.xul
@@ -148,16 +148,18 @@
<!-- File Menu -->
<menu id="menu_File"
label="&fileMenu.label;"
accesskey="&fileMenu.accesskey;"/>
<!-- New SubMenu (Under File Menu) -->
<command id="cmd_newNavigator"
oncommand="OpenBrowserWindow()"/>
+ <command id="cmd_newPrivateWindow"
+ oncommand="openNewPrivateWith('about:privatebrowsing');"/>
<command id="cmd_newEditor"
oncommand="NewEditorWindow();"/>
<!-- XXX not implemented, temporarily disabled
<command id="cmd_newEditorTemplate"
disabled="true"
oncommand="NewEditorFromTemplate();"/>
<command id="cmd_newEditorDraft"
@@ -183,16 +185,21 @@
label="&newMenu.label;"
accesskey="&newMenu.accesskey;"/>
<menuitem id="menu_newNavigator"
label="&newNavigatorCmd.label;"
accesskey="&newNavigatorCmd.accesskey;"
key="key_newNavigator"
command="cmd_newNavigator"/>
+ <menuitem id="menu_newPrivateWindow"
+ label="&newPrivateWindowCmd.label;"
+ accesskey="&newPrivateWindowCmd.accesskey;"
+ key="key_newPrivateWindow"
+ command="cmd_newPrivateWindow"/>
<menuitem id="menu_printSetup"
label="&printSetupCmd.label;"
accesskey="&printSetupCmd.accesskey;"
command="cmd_printSetup"/>
<menuitem id="menu_printPreview"
label="&printPreviewCmd.label;"
accesskey="&printPreviewCmd.accesskey;"
command="cmd_printpreview"/>
@@ -205,16 +212,20 @@
<key id="key_newBlankPage"
key="&newBlankPageCmd.key;"
command="cmd_newEditor"
modifiers="accel, shift"/>
<key id="key_newNavigator"
key="&newNavigatorCmd.key;"
command="cmd_newNavigator"
modifiers="accel"/>
+ <key id="key_newPrivateWindow"
+ key="&newPrivateWindowCmd.key;"
+ command="cmd_newPrivateWindow"
+ modifiers="accel, shift"/>
<key id="key_print"
key="&printCmd.key;"
command="cmd_print"
modifiers="accel"/>
<keyset id="findKeys">
<key id="key_find"
key="&findCmd.key;"
--- a/suite/common/viewSourceOverlay.xul
+++ b/suite/common/viewSourceOverlay.xul
@@ -24,44 +24,47 @@
<script type="application/javascript"
src="chrome://communicator/content/viewSourceOverlay.js"/>
<script type="application/javascript"
src="chrome://communicator/content/findUtils.js"/>
<window id="viewSource">
<commandset id="tasksCommands"/>
<command id="cmd_newNavigator"/>
+ <command id="cmd_newPrivateWindow"/>
<command id="cmd_newEditor"/>
<command id="cmd_editPage" oncommand="ViewSourceEditPage();"/>
<command id="cmd_find"
oncommand="findInPage(getFindInstData());"/>
<command id="cmd_findAgain"
oncommand="findAgainInPage(getFindInstData(), false);"/>
<command id="cmd_findPrevious"
oncommand="findAgainInPage(getFindInstData(), true);"/>
<stringbundle id="findBundle"
src="chrome://global/locale/finddialog.properties"/>
</window>
<keyset id="viewSourceKeys">
<keyset id="tasksKeys"/>
<key id="key_newBlankPage"/>
<key id="key_newNavigator"/>
+ <key id="key_newPrivateWindow"/>
<key id="key_editPage" key="&editPageCmd.commandkey;"
command="Browser:EditPage" modifiers="accel"/>
</keyset>
<menubar id="viewSource-main-menubar"
class="chromeclass-menubar"
grippytooltiptext="&menuBar.tooltip;">
<menu id="menu_file">
<menupopup id="menu_FilePopup">
<menu id="menu_New" position="1">
<menupopup id="menu_NewPopup">
<menuitem id="menu_newNavigator"/>
+ <menuitem id="menu_newPrivateWindow"/>
<menuitem id="menu_newEditor"/>
</menupopup>
</menu>
<menuitem id="menu_editPage" insertafter="menu_savePage"
key="key_editPage" command="cmd_editPage"
label="&editPageCmd.label;"
accesskey="&editPageCmd.accesskey;"/>
<menuseparator insertbefore="menu_pageSetup"/>
--- a/suite/locales/en-US/chrome/common/utilityOverlay.dtd
+++ b/suite/locales/en-US/chrome/common/utilityOverlay.dtd
@@ -1,32 +1,35 @@
<!-- 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/. -->
<!-- these things need to move into utilityOverlay.xul -->
<!ENTITY offlineGoOfflineCmd.label "Work Offline">
<!ENTITY offlineGoOfflineCmd.accesskey "k">
-<!-- LOCALIZATION NOTE : FILE This file contains the global menu items -->
+!-- LOCALIZATION NOTE : FILE This file contains the global menu items -->
<!ENTITY fileMenu.label "File">
<!ENTITY fileMenu.accesskey "F">
<!ENTITY newMenu.label "New">
<!ENTITY newMenu.accesskey "N">
<!ENTITY newBlankPageCmd.label "Composer Page">
<!ENTITY newBlankPageCmd.accesskey "P">
<!ENTITY newBlankPageCmd.key "n">
<!ENTITY newPageFromTemplateCmd.label "Page Using Template">
<!ENTITY newPageFromTemplateCmd.accesskey "t">
<!ENTITY newPageFromDraftCmd.label "Page Using Draft">
<!ENTITY newPageFromDraftCmd.accesskey "d">
<!ENTITY newNavigatorCmd.label "Browser Window">
<!ENTITY newNavigatorCmd.key "N">
<!ENTITY newNavigatorCmd.accesskey "B">
+<!ENTITY newPrivateWindowCmd.label "Private Window">
+<!ENTITY newPrivateWindowCmd.key "P">
+<!ENTITY newPrivateWindowCmd.accesskey "W">
<!ENTITY printSetupCmd.label "Page Setup…">
<!ENTITY printSetupCmd.accesskey "u">
<!ENTITY printPreviewCmd.label "Print Preview">
<!ENTITY printPreviewCmd.accesskey "v">
<!ENTITY printCmd.label "Print…">
<!ENTITY printCmd.accesskey "P">
<!ENTITY printCmd.key "P">
--- a/suite/mailnews/addrbook/addressbook.xul
+++ b/suite/mailnews/addrbook/addressbook.xul
@@ -63,16 +63,17 @@
<commandset id="CommandUpdate_AddressBook"
commandupdater="true"
events="focus,addrbook-select"
oncommandupdate="CommandUpdate_AddressBook()"/>
<commandset id="selectEditMenuItems"/>
<commandset id="undoEditMenuItems"/>
<commandset id="globalEditMenuItems"/>
<command id="cmd_newNavigator"/>
+ <command id="cmd_newPrivateWindow"/>
<command id="cmd_newEditor"/>
<command id="cmd_newcard" oncommand="AbNewCard();"/>
<command id="cmd_newlist" oncommand="AbNewList();"/>
<command id="cmd_newMessage" oncommand="AbNewMessage();"/>
<command id="cmd_newim" oncommand="AbIMSelected()"/>
<command id="cmd_printSetup" oncommand="PrintUtils.showPageSetup()"/>
<command id="cmd_printCard" oncommand="AbPrintCard()"/>
<command id="cmd_printPreviewCard" oncommand="AbPrintPreviewCard()"/>
@@ -103,16 +104,17 @@
<broadcaster id="Communicator:WorkMode"/>
</broadcasterset>
<broadcasterset id="mainBroadcasterSet"/>
<keyset id="tasksKeys">
<!-- File Menu -->
<key id="key_newNavigator"/>
+ <key id="key_newPrivateWindow"/>
<key id="key_newBlankPage"/>
<key id="key_newMessage"
key="&newMessageCmd.key;"
command="cmd_newMessage"
modifiers="accel"/>
<key id="key_printCard" key="&printContactViewCmd.key;"
command="cmd_printCard" modifiers="accel"/>
<key id="key_close"/>
@@ -223,16 +225,17 @@
accesskey="&newAddressBookCmd.accesskey;"
oncommand="AbNewAddressBook();"/>
<menuitem id="addLDAP"
label="&newLDAPDirectoryCmd.label;"
accesskey="&newLDAPDirectoryCmd.accesskey;"
oncommand="AbNewLDAPDirectory();"/>
<menuseparator/>
<menuitem id="menu_newNavigator"/>
+ <menuitem id="menu_newPrivateWindow"/>
<menuitem id="menu_newMessage"
label="&newMessageCmd.label;"
accesskey="&newMessageCmd.accesskey;"
key="key_newMessage"
command="cmd_newMessage"/>
<menuitem id="menu_newEditor"/>
</menupopup>
</menu>
--- a/suite/mailnews/compose/messengercompose.xul
+++ b/suite/mailnews/compose/messengercompose.xul
@@ -204,16 +204,17 @@
<menu id="menu_File">
<menupopup id="menu_FilePopup">
<menu id="menu_New">
<menupopup id="menu_NewPopup">
<menuitem id="menu_newMessage"/>
<menuseparator id="menuNewPopupSeparator"/>
<menuitem id="menu_newCard"/>
<menuitem id="menu_newNavigator"/>
+ <menuitem id="menu_newPrivateWindow"/>
<menuitem id="menu_newEditor"/>
</menupopup>
</menu>
<menu id="menu_Attach"
label="&attachMenu.label;"
accesskey="&attachMenu.accesskey;">
<menupopup id="menu_AttachPopup">
<menuitem id="menu_AttachFile"
--- a/suite/mailnews/mailEditorOverlay.xul
+++ b/suite/mailnews/mailEditorOverlay.xul
@@ -41,18 +41,18 @@
}
]]>
</script>
<!-- editor specific UI items -->
<menupopup id="menu_NewPopup">
<!-- Command nodes and implemention are in mailOverlay.xul -->
- <menuitem id="menu_newMessage" insertafter="menu_newNavigator"/>
- <menuitem id="menu_newCard" insertafter="menu_newNavigator"/>
+ <menuitem id="menu_newMessage" insertafter="menu_newPrivateWindow"/>
+ <menuitem id="menu_newCard" insertafter="menu_newPrivateWindow"/>
</menupopup>
<menupopup id="menu_FilePopup">
<!-- The command node cmd_editSendPage is in editor.xul.
Implementation is in ComposerCommands.js
-->
<menuitem id="menu_sendPage" label="&sendPage.label;" accesskey="&sendPage.accesskey;" observes="cmd_editSendPage" insertafter="previewInBrowser"/>
</menupopup>
--- a/suite/mailnews/mailWindowOverlay.xul
+++ b/suite/mailnews/mailWindowOverlay.xul
@@ -106,16 +106,17 @@
<command id="cmd_renameFolder" oncommand="goDoCommand('cmd_renameFolder')" />
<command id="cmd_sendUnsentMsgs" oncommand="goDoCommand('cmd_sendUnsentMsgs')" />
<command id="cmd_synchronizeOffline" oncommand="goDoCommand('cmd_synchronizeOffline');" disabled="true"/>
<command id="cmd_settingsOffline" oncommand="goDoCommand('cmd_settingsOffline');" disabled="true"/>
</commandset>
<commandset id="mailCommands">
<command id="cmd_newNavigator"/>
+ <command id="cmd_newPrivateWindow"/>
<command id="cmd_newEditor"/>
<command id="cmd_createFilterFromPopup" oncommand="goDoCommand('cmd_createFilterFromPopup')"/>
<command id="cmd_pageSetup"/>
</commandset>
<commandset id="mailViewMenuItems"
commandupdater="true"
events="create-menu-view"
@@ -307,16 +308,17 @@
<key id="space" key=" " modifiers="shift any" oncommand="SpaceHit(event);"/>
<!-- File Menu -->
<key id="key_newTab"
key="&newTabCmd.key;"
modifiers="accel"
oncommand="MsgOpenNewTab();"/>
<key id="key_newNavigator"/>
+ <key id="key_newPrivateWindow"/>
<key id="key_newBlankPage"/>
<key id="key_close"/>
<!-- Edit Menu -->
<key id="key_undo"/>
<key id="key_redo"/>
<key id="key_cut"/>
<key id="key_copy"/>
<key id="key_paste"/>
@@ -916,16 +918,17 @@
<menuseparator id="newPopupMenuSeparator"/>
<menuitem id="menu_newCard"/>
<menuitem id="menu_newTab"
label="&newTabCmd.label;"
accesskey="&newTabCmd.accesskey;"
key="key_newTab"
oncommand="MsgOpenNewTab();"/>
<menuitem id="menu_newNavigator"/>
+ <menuitem id="menu_newPrivateWindow"/>
<menuitem id="menu_newEditor"/>
</menupopup>
</menu>
<menuitem id="openMessageFileMenuitem" label="&openMessageFileCmd.label;"
key="key_openFileMessage"
accesskey="&openMessageFileCmd.accesskey;"
oncommand="MsgOpenFromFile();"/>
<menuitem id="menu_close"/>