diff options
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/chrome/content/code/ApplicableList.js')
-rw-r--r-- | data/extensions/https-everywhere@eff.org/chrome/content/code/ApplicableList.js | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/data/extensions/https-everywhere@eff.org/chrome/content/code/ApplicableList.js b/data/extensions/https-everywhere@eff.org/chrome/content/code/ApplicableList.js index 247f5b7..351530a 100644 --- a/data/extensions/https-everywhere@eff.org/chrome/content/code/ApplicableList.js +++ b/data/extensions/https-everywhere@eff.org/chrome/content/code/ApplicableList.js @@ -2,20 +2,18 @@ // were applied, and which ones weren't but might have been, to the contents // of a given page (top level nsIDOMWindow) -serial_number = 0; +var serial_number = 0; -function ApplicableList(logger, doc, domWin) { - this.domWin = domWin; - this.uri = doc.baseURIObject.clone(); +function ApplicableList(logger, uri) { + this.log = logger; + this.uri = uri.clone(); if (!this.uri) { this.log(WARN,"NULL CLONING URI " + doc); - if (doc) - this.log(WARN,"NULL CLONING URI " + doc.baseURIObject); - if (doc.baseURIObject) - this.log(WARN,"NULL CLONING URI " + doc.baseURIObject.spec); + if (uri) { + this.log(WARN,"NULL CLONING URI " + uri.spec); + } } - this.home = doc.baseURIObject.spec; // what doc we're housekeeping for - this.log = logger; + this.home = uri.spec; // what doc we're housekeeping for this.active = {}; this.breaking = {}; // rulesets with redirection loops this.inactive = {}; @@ -40,14 +38,14 @@ ApplicableList.prototype = { active_rule: function(ruleset) { this.log(INFO,"active rule " + ruleset.name +" in "+ this.home +" -> " + - this.domWin.document.baseURIObject.spec+ " serial " + this.serial); + this.uri.spec+ " serial " + this.serial); this.active[ruleset.name] = ruleset; this.all[ruleset.name] = ruleset; }, breaking_rule: function(ruleset) { this.log(NOTE,"breaking rule " + ruleset.name +" in "+ this.home +" -> " + - this.domWin.document.baseURIObject.spec+ " serial " + this.serial); + this.uri.spec+ " serial " + this.serial); this.breaking[ruleset.name] = ruleset; this.all[ruleset.name] = ruleset; }, @@ -55,7 +53,7 @@ ApplicableList.prototype = { inactive_rule: function(ruleset) { this.log(INFO,"inactive rule " + ruleset.name +" in "+ this.home +" -> " + - this.domWin.document.baseURIObject.spec+ " serial " + this.serial); + this.uri.spec+ " serial " + this.serial); this.inactive[ruleset.name] = ruleset; this.all[ruleset.name] = ruleset; }, @@ -140,8 +138,8 @@ ApplicableList.prototype = { var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator); - var domWin = wm.getMostRecentWindow("navigator:browser").content.document.defaultView.top; - var location = domWin.document.baseURIObject.asciiSpec; //full url, including about:certerror details + var browser = wm.getMostRecentWindow("navigator:browser").gBrowser.selectedBrowser; + var location = browser.currentURI.asciiSpec; //full url, including about:certerror details if(location.substr(0, 6) == "about:"){ //"From" portion of the rule is retrieved from the location bar via document.getElementById("urlbar").value |