diff options
Diffstat (limited to 'components/privatebrowsing/content')
-rw-r--r-- | components/privatebrowsing/content/aboutPrivateBrowsing.xhtml | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/components/privatebrowsing/content/aboutPrivateBrowsing.xhtml b/components/privatebrowsing/content/aboutPrivateBrowsing.xhtml new file mode 100644 index 0000000..95744cf --- /dev/null +++ b/components/privatebrowsing/content/aboutPrivateBrowsing.xhtml @@ -0,0 +1,156 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +# 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/. +--> +<!DOCTYPE html [ + <!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> + %htmlDTD; + <!ENTITY % netErrorDTD SYSTEM "chrome://global/locale/netError.dtd"> + %netErrorDTD; + <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd"> + %globalDTD; + <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd"> + %browserDTD; +#ifdef XP_MACOSX + <!ENTITY basePBMenu.label "&fileMenu.label;"> +#else + <!ENTITY basePBMenu.label "<span class='appMenuButton'>&brandShortName;</span><span class='fileMenu'>&fileMenu.label;</span>"> +#endif + <!ENTITY % privatebrowsingpageDTD SYSTEM "chrome://browser/locale/aboutPrivateBrowsing.dtd"> + %privatebrowsingpageDTD; +]> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <link rel="stylesheet" href="chrome://global/skin/netError.css" type="text/css" media="all"/> + <link rel="stylesheet" href="chrome://browser/skin/aboutPrivateBrowsing.css" type="text/css" media="all"/> + <style type="text/css"><![CDATA[ + body.normal .showPrivate, + body.private .showNormal { + display: none; + } + body.appMenuButtonVisible .fileMenu { + display: none; + } + body.appMenuButtonInvisible .appMenuButton { + display: none; + } + ]]></style> + <script type="application/javascript;version=1.7"><![CDATA[ + const Cc = Components.classes; + const Ci = Components.interfaces; + + Components.utils.import("resource://gre/modules/PrivateBrowsingUtils.jsm"); + + if (!PrivateBrowsingUtils.isWindowPrivate(window)) { + document.title = "]]>&privatebrowsingpage.title.normal;<![CDATA["; + setFavIcon("chrome://global/skin/icons/question-16.png"); + } else { +#ifndef XP_MACOSX + document.title = "]]>&privatebrowsingpage.title;<![CDATA["; +#endif + setFavIcon("chrome://browser/skin/Privacy-16.png"); + } + + var mainWindow = window.QueryInterface(Ci.nsIInterfaceRequestor) + .getInterface(Ci.nsIWebNavigation) + .QueryInterface(Ci.nsIDocShellTreeItem) + .rootTreeItem + .QueryInterface(Ci.nsIInterfaceRequestor) + .getInterface(Ci.nsIDOMWindow); + + // Focus the location bar + mainWindow.focusAndSelectUrlBar(); + + function setFavIcon(url) { + var icon = document.createElement("link"); + icon.setAttribute("rel", "icon"); + icon.setAttribute("type", "image/png"); + icon.setAttribute("href", url); + var head = document.getElementsByTagName("head")[0]; + head.insertBefore(icon, head.firstChild); + } + + document.addEventListener("DOMContentLoaded", function () { + if (!PrivateBrowsingUtils.isWindowPrivate(window)) { + document.body.setAttribute("class", "normal"); + } + + // Set up the help link + let moreInfoURL = Cc["@mozilla.org/toolkit/URLFormatterService;1"]. + getService(Ci.nsIURLFormatter). + formatURLPref("app.support.baseURL"); + let moreInfoLink = document.getElementById("moreInfoLink"); + if (moreInfoLink) + moreInfoLink.setAttribute("href", moreInfoURL + "private-browsing"); + + // Show the correct menu structure based on whether the App Menu button is + // shown or not. + var menuBar = mainWindow.document.getElementById("toolbar-menubar"); + var appMenuButtonIsVisible = menuBar.getAttribute("autohide") == "true"; + document.body.classList.add(appMenuButtonIsVisible ? "appMenuButtonVisible" : + "appMenuButtonInvisible"); + }, false); + + function openPrivateWindow() { + mainWindow.OpenBrowserWindow({private: true}); + } + ]]></script> + </head> + + <body dir="&locale.dir;" + class="private"> + + <!-- PAGE CONTAINER (for styling purposes only) --> + <div id="errorPageContainer"> + + <!-- Error Title --> + <div id="errorTitle"> + <h1 id="errorTitleText" class="showPrivate">&privatebrowsingpage.title;</h1> + <h1 id="errorTitleTextNormal" class="showNormal">&privatebrowsingpage.title.normal;</h1> + </div> + + <!-- LONG CONTENT (the section most likely to require scrolling) --> + <div id="errorLongContent"> + + <!-- Short Description --> + <div id="errorShortDesc"> + <p id="errorShortDescText" class="showPrivate">&privatebrowsingpage.perwindow.issueDesc;</p> + <p id="errorShortDescTextNormal" class="showNormal">&privatebrowsingpage.perwindow.issueDesc.normal;</p> + </div> + + <!-- Long Description --> + <div id="errorLongDesc"> + <p id="errorLongDescText">&privatebrowsingpage.perwindow.description;</p> + </div> + + <!-- Start Private Browsing --> + <div id="startPrivateBrowsingDesc" class="showNormal"> + <button xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + id="startPrivateBrowsing" label="&privatebrowsingpage.openPrivateWindow.label;" + accesskey="&privatebrowsingpage.openPrivateWindow.accesskey;" + oncommand="openPrivateWindow();"/> + </div> + + <!-- Footer --> + <div id="footerDesc"> + <p id="footerText" class="showPrivate">&privatebrowsingpage.howToStop3;</p> + <p id="footerTextNormal" class="showNormal">&privatebrowsingpage.howToStart3;</p> + </div> + + <!-- More Info --> + <div id="moreInfo" class="showPrivate"> + <p id="moreInfoText"> + &privatebrowsingpage.moreInfo; + </p> + <p id="moreInfoLinkContainer"> + <a id="moreInfoLink" target="_blank">&privatebrowsingpage.learnMore;</a> + </p> + </div> + </div> + </div> + + </body> +</html> |