@@ -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