Bug 521766 - about:privatebrowsing onload handler needlessly delays work. r=ehsan

This commit is contained in:
Dão Gottwald 2009-10-17 08:36:37 +02:00
parent 6232c26818
commit 7d3d4c445f

View File

@ -51,26 +51,34 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
#ifdef XP_MACOSX
<title></title>
#else
<title>&privatebrowsingpage.title;</title>
#endif
<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"/>
<script type="application/x-javascript;version=1.7"><![CDATA[
const Cc = Components.classes;
const Ci = Components.interfaces;
window.__defineGetter__("mainWindow", function() {
delete window.mainWindow;
return window.mainWindow = window.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow);
});
var pb = Cc["@mozilla.org/privatebrowsing;1"].
getService(Ci.nsIPrivateBrowsingService);
if (!pb.privateBrowsingEnabled) {
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 openSanitizeDialog() {
let browserGlue = Cc["@mozilla.org/browser/browserglue;1"].
@ -83,21 +91,17 @@
icon.setAttribute("rel", "icon");
icon.setAttribute("type", "image/png");
icon.setAttribute("href", url);
document.getElementsByTagName("head")[0].appendChild(icon);
var head = document.getElementsByTagName("head")[0];
head.insertBefore(icon, head.firstChild);
}
function onLoad() {
document.addEventListener("DOMContentLoaded", function () {
let selector;
let pb = Cc["@mozilla.org/privatebrowsing;1"].
getService(Ci.nsIPrivateBrowsingService);
if (!pb.privateBrowsingEnabled) {
document.body.setAttribute("class", "normal");
document.title = document.body.getAttribute("normaltitle");
setFavIcon("chrome://global/skin/icons/question-16.png");
selector = ".showPrivate";
}
else {
setFavIcon("chrome://browser/skin/Privacy-16.png");
selector = ".showNormal";
}
@ -113,18 +117,12 @@
let moreInfoLink = document.getElementById("moreInfoLink");
if (moreInfoLink)
moreInfoLink.setAttribute("href", moreInfoURL + "private-browsing");
// Focus the location bar
if (mainWindow.gURLBar)
mainWindow.gURLBar.focus();
}
}, false);
]]></script>
</head>
<body dir="&locale.dir;"
class="private"
onload="onLoad();"
normaltitle="&privatebrowsingpage.title.normal;">
class="private">
<!-- PAGE CONTAINER (for styling purposes only) -->
<div id="errorPageContainer">