summaryrefslogtreecommitdiffstats
path: root/components/privatebrowsing/content
diff options
context:
space:
mode:
Diffstat (limited to 'components/privatebrowsing/content')
-rw-r--r--components/privatebrowsing/content/aboutPrivateBrowsing.xhtml156
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>