Revision control

Copy as Markdown

Other Tools

/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* 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/. */
const wpl = Ci.nsIWebProgressListener;
var reporterListener = {
_isBusy: false,
get securityButton() {
delete this.securityButton;
return this.securityButton = document.getElementById("security-button");
},
QueryInterface: function(aIID) {
if (aIID.equals(Ci.nsIWebProgressListener) ||
aIID.equals(Ci.nsISupportsWeakReference) ||
aIID.equals(Ci.nsISupports))
return this;
throw Cr.NS_NOINTERFACE;
},
onStateChange: function(/*in nsIWebProgress*/ aWebProgress,
/*in nsIRequest*/ aRequest,
/*in unsigned long*/ aStateFlags,
/*in nsresult*/ aStatus) {
},
onProgressChange: function(/*in nsIWebProgress*/ aWebProgress,
/*in nsIRequest*/ aRequest,
/*in long*/ aCurSelfProgress,
/*in long */aMaxSelfProgress,
/*in long */aCurTotalProgress,
/*in long */aMaxTotalProgress) {
},
onLocationChange: function(/*in nsIWebProgress*/ aWebProgress,
/*in nsIRequest*/ aRequest,
/*in nsIURI*/ aLocation) {
document.getElementById("headerMessage").textContent = aLocation.spec;
},
onStatusChange: function(/*in nsIWebProgress*/ aWebProgress,
/*in nsIRequest*/ aRequest,
/*in nsresult*/ aStatus,
/*in wstring*/ aMessage) {
},
onSecurityChange: function(/*in nsIWebProgress*/ aWebProgress,
/*in nsIRequest*/ aRequest,
/*in unsigned long*/ aState) {
const wpl_security_bits = wpl.STATE_IS_SECURE |
wpl.STATE_IS_BROKEN |
wpl.STATE_IS_INSECURE;
var browser = document.getElementById("requestFrame");
var level;
switch (aState & wpl_security_bits) {
case wpl.STATE_IS_SECURE:
level = "high";
break;
case wpl.STATE_IS_BROKEN:
level = "broken";
break;
}
if (level) {
this.securityButton.setAttribute("level", level);
this.securityButton.hidden = false;
} else {
this.securityButton.hidden = true;
this.securityButton.removeAttribute("level");
}
this.securityButton.setAttribute("tooltiptext",
browser.securityUI.tooltipText);
}
}
function cancelRequest()
{
reportUserClosed();
window.close();
}
function reportUserClosed()
{
let request = window.arguments[0].wrappedJSObject;
request.cancelled();
}
function loadRequestedUrl()
{
let request = window.arguments[0].wrappedJSObject;
document.getElementById("headerMessage").textContent = request.promptText;
let account = request.account;
if (request.iconURI != "")
document.getElementById("headerImage").src = request.iconURI;
var browser = document.getElementById("requestFrame");
browser.addProgressListener(reporterListener,
Ci.nsIWebProgress.NOTIFY_ALL);
var url = request.url;
if (url != "") {
browser.setAttribute("src", url);
document.getElementById("headerMessage").textContent = url;
}
request.loaded(window, browser.webProgress);
}