Bug 1296751 - Skip observe browser.safebrowsing.provider.*.(nextupdatetime|lastupdatetime). r?francois draft
authorThomas Nguyen <tnguyen@mozilla.com>
Wed, 24 Aug 2016 17:06:48 +0800
changeset 404851 ef77b176020d62f8b34d230b6fdc73f34182a56e
parent 403581 f97a056ae6235de7855fd8aaa04fb1c8d183bd06
child 529294 49d7a028c3669fc220155caa447d4a26b96dda0a
push id27328
push usertnguyen@mozilla.com
push dateWed, 24 Aug 2016 09:08:31 +0000
reviewersfrancois
bugs1296751
milestone51.0a1
Bug 1296751 - Skip observe browser.safebrowsing.provider.*.(nextupdatetime|lastupdatetime). r?francois MozReview-Commit-ID: 6yNWVJ3LYBE
toolkit/components/url-classifier/SafeBrowsing.jsm
--- a/toolkit/components/url-classifier/SafeBrowsing.jsm
+++ b/toolkit/components/url-classifier/SafeBrowsing.jsm
@@ -56,19 +56,19 @@ const tablePreferences = [
 this.SafeBrowsing = {
 
   init: function() {
     if (this.initialized) {
       log("Already initialized");
       return;
     }
 
-    Services.prefs.addObserver("browser.safebrowsing", this.readPrefs.bind(this), false);
-    Services.prefs.addObserver("privacy.trackingprotection", this.readPrefs.bind(this), false);
-    Services.prefs.addObserver("urlclassifier", this.readPrefs.bind(this), false);
+    Services.prefs.addObserver("browser.safebrowsing", this, false);
+    Services.prefs.addObserver("privacy.trackingprotection", this, false);
+    Services.prefs.addObserver("urlclassifier", this, false);
 
     this.readPrefs();
     this.addMozEntries();
 
     this.controlUpdateChecking();
     this.initialized = true;
 
     log("init() finished");
@@ -160,16 +160,23 @@ this.SafeBrowsing = {
     if (pageUri instanceof Ci.nsIURL)
       pageUri.query = '';
 
     reportUrl += encodeURIComponent(pageUri.asciiSpec);
 
     return reportUrl;
   },
 
+  observe: function(aSubject, aTopic, aData) {
+    // skip nextupdatetime and lastupdatetime
+    if (aData.indexOf("lastupdatetime") >= 0 || aData.indexOf("nextupdatetime") >= 0) {
+      return;
+    }
+    this.readPrefs();
+  },
 
   readPrefs: function() {
     log("reading prefs");
 
     this.debug = Services.prefs.getBoolPref("browser.safebrowsing.debug");
     this.phishingEnabled = Services.prefs.getBoolPref("browser.safebrowsing.phishing.enabled");
     this.malwareEnabled = Services.prefs.getBoolPref("browser.safebrowsing.malware.enabled");
     this.trackingEnabled = Services.prefs.getBoolPref("privacy.trackingprotection.enabled") || Services.prefs.getBoolPref("privacy.trackingprotection.pbmode.enabled");