Skip to content

Commit 554b4e1

Browse files
committed
Ignore changes to mixed content blocker state during startup
For some reason firefox 26 sets block_active_content to false and then true, which was inducing: https://trac.torproject.org/projects/tor/ticket/10344
1 parent 2048767 commit 554b4e1

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

src/components/https-everywhere.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ function HTTPSEverywhere() {
182182
this.https_rules = HTTPSRules;
183183
this.INCLUDE=INCLUDE;
184184
this.ApplicableList = ApplicableList;
185+
this.browser_initialised = false; // the browser is completely loaded
185186

186187
this.prefs = this.get_prefs();
187188
this.rule_toggle_prefs = this.get_prefs(PREFBRANCH_RULE_TOGGLE);
@@ -542,12 +543,21 @@ HTTPSEverywhere.prototype = {
542543
this.log(DBUG,"Got sessionstore-windows-restored");
543544
this.maybeShowObservatoryPopup();
544545
this.maybeShowDevPopup();
546+
this.browser_initialised = true;
545547
} else if (topic == "nsPref:changed") {
546548
// If the user toggles the Mixed Content Blocker settings, reload the rulesets
547549
// to enable/disable the mixedcontent ones
550+
551+
// this pref gets set to false and then true during FF 26 startup!
552+
// so do nothing if we're being notified during startup
553+
if (!this.browser_initialised)
554+
return;
548555
switch (data) {
549556
case "security.mixed_content.block_active_content":
550557
case "extensions.https_everywhere.enable_mixed_rulesets":
558+
var p = CC["@mozilla.org/preferences-service;1"].getService(CI.nsIPrefBranch);
559+
var val = p.getBoolPref("security.mixed_content.block_active_content");
560+
this.log(INFO,"nsPref:changed for "+data + " to " + val);
551561
HTTPSRules.init();
552562
break;
553563
}

0 commit comments

Comments
 (0)