Files
tubestation/browser/devtools/webconsole/test/test-bug-678816-content.js

29 lines
1.0 KiB
JavaScript

(function () {
let ifaceReq = docShell.QueryInterface(Ci.nsIInterfaceRequestor);
let webProgress = ifaceReq.getInterface(Ci.nsIWebProgress);
let WebProgressListener = {
onStateChange: function WebProgressListener_onStateChange(
webProgress, request, flag, status) {
if (flag & Ci.nsIWebProgressListener.STATE_START &&
flag & Ci.nsIWebProgressListener.STATE_IS_WINDOW) {
// ensure the dom window is the top one
return (webProgress.DOMWindow.parent == webProgress.DOMWindow);
}
},
// ----------
// Implements progress listener interface.
QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebProgressListener,
Ci.nsISupportsWeakReference])
};
// add web progress listener
webProgress.addProgressListener(WebProgressListener, Ci.nsIWebProgress.NOTIFY_STATE_ALL);
addMessageListener("bug-678816-kill-webProgressListener", function () {
webProgress.removeProgressListener(WebProgressListener);
});
})();