diff --git a/addon-sdk/source/python-lib/cuddlefish/prefs.py b/addon-sdk/source/python-lib/cuddlefish/prefs.py index 0d2b648dd39..2636bba6a7c 100644 --- a/addon-sdk/source/python-lib/cuddlefish/prefs.py +++ b/addon-sdk/source/python-lib/cuddlefish/prefs.py @@ -58,12 +58,12 @@ DEFAULT_NO_CONNECTIONS_PREFS = { 'browser.search.update': False, 'browser.search.suggest.enabled' : False, 'browser.safebrowsing.enabled' : False, - 'browser.safebrowsing.provider.google.updateURL': 'http://localhost/safebrowsing-dummy/update', - 'browser.safebrowsing.provider.google.gethashURL': 'http://localhost/safebrowsing-dummy/gethash', + 'browser.safebrowsing.updateURL': 'http://localhost/safebrowsing-dummy/update', + 'browser.safebrowsing.gethashURL': 'http://localhost/safebrowsing-dummy/gethash', 'browser.safebrowsing.malware.reportURL': 'http://localhost/safebrowsing-dummy/malwarereport', 'browser.selfsupport.url': 'https://localhost/selfsupport-dummy', - 'browser.safebrowsing.provider.mozilla.gethashURL': 'http://localhost/safebrowsing-dummy/gethash', - 'browser.safebrowsing.provider.mozilla.updateURL': 'http://localhost/safebrowsing-dummy/update', + 'browser.trackingprotection.gethashURL': 'http://localhost/safebrowsing-dummy/gethash', + 'browser.trackingprotection.updateURL': 'http://localhost/safebrowsing-dummy/update', # Disable app update 'app.update.enabled' : False, @@ -120,10 +120,8 @@ DEFAULT_FIREFOX_PREFS = { # Make url-classifier updates so rare that they won't affect tests. 'urlclassifier.updateinterval' : 172800, # Point the url-classifier to a nonexistent local URL for fast failures. - 'browser.safebrowsing.provider.google.gethashURL' : 'http://localhost/safebrowsing-dummy/gethash', - 'browser.safebrowsing.provider.google.updateURL' : 'http://localhost/safebrowsing-dummy/update', - 'browser.safebrowsing.provider.mozilla.gethashURL': 'http://localhost/safebrowsing-dummy/gethash', - 'browser.safebrowsing.provider.mozilla.updateURL': 'http://localhost/safebrowsing-dummy/update', + 'browser.safebrowsing.provider.0.gethashURL' : 'http://localhost/safebrowsing-dummy/gethash', + 'browser.safebrowsing.provider.0.updateURL' : 'http://localhost/safebrowsing-dummy/update', } # When launching a temporary new Thunderbird profile, use these preferences. diff --git a/addon-sdk/source/test/preferences/firefox.json b/addon-sdk/source/test/preferences/firefox.json index 76adf20b8cc..95a24752f0f 100644 --- a/addon-sdk/source/test/preferences/firefox.json +++ b/addon-sdk/source/test/preferences/firefox.json @@ -5,8 +5,6 @@ "devtools.errorconsole.enabled": true, "devtools.chrome.enabled": true, "urlclassifier.updateinterval": 172800, - "browser.safebrowsing.provider.google.gethashURL": "http://localhost/safebrowsing-dummy/gethash", - "browser.safebrowsing.provider.google.updateURL": "http://localhost/safebrowsing-dummy/update" - "browser.safebrowsing.provider.mozilla.gethashURL": "http://localhost/safebrowsing-dummy/gethash", - "browser.safebrowsing.provider.mozilla.updateURL": "http://localhost/safebrowsing-dummy/update" + "browser.safebrowsing.provider.0.gethashURL": "http://localhost/safebrowsing-dummy/gethash", + "browser.safebrowsing.provider.0.updateURL": "http://localhost/safebrowsing-dummy/update" } diff --git a/addon-sdk/source/test/preferences/no-connections.json b/addon-sdk/source/test/preferences/no-connections.json index 79bb06a2543..5f00738fb7d 100644 --- a/addon-sdk/source/test/preferences/no-connections.json +++ b/addon-sdk/source/test/preferences/no-connections.json @@ -15,12 +15,12 @@ "browser.search.update": false, "browser.search.suggest.enabled": false, "browser.safebrowsing.enabled": false, - "browser.safebrowsing.provider.google.updateURL": "http://localhost/safebrowsing-dummy/update", - "browser.safebrowsing.provider.google.gethashURL": "http://localhost/safebrowsing-dummy/gethash", - "browser.safebrowsing.provider.google.reportURL": "http://localhost/safebrowsing-dummy/malwarereport", + "browser.safebrowsing.updateURL": "http://localhost/safebrowsing-dummy/update", + "browser.safebrowsing.gethashURL": "http://localhost/safebrowsing-dummy/gethash", + "browser.safebrowsing.malware.reportURL": "http://localhost/safebrowsing-dummy/malwarereport", "browser.selfsupport.url": "https://localhost/selfsupport-dummy", - "browser.safebrowsing.provider.mozilla.gethashURL": "http://localhost/safebrowsing-dummy/gethash", - "browser.safebrowsing.provider.mozilla.updateURL": "http://localhost/safebrowsing-dummy/update", + "browser.trackingprotection.gethashURL": "http://localhost/safebrowsing-dummy/gethash", + "browser.trackingprotection.updateURL": "http://localhost/safebrowsing-dummy/update", "browser.newtabpage.directory.source": "data:application/json,{'jetpack':1}", "browser.newtabpage.directory.ping": "", "extensions.update.url": "http://localhost/extensions-dummy/updateURL", diff --git a/b2g/app/b2g.js b/b2g/app/b2g.js index af3e90c97f1..7274a67d61f 100644 --- a/b2g/app/b2g.js +++ b/b2g/app/b2g.js @@ -353,29 +353,42 @@ pref("dom.w3c_touch_events.safetyX", 0); // escape borders in units of 1/240" pref("dom.w3c_touch_events.safetyY", 120); // escape borders in units of 1/240" #ifdef MOZ_SAFE_BROWSING +// Safe browsing does nothing unless this pref is set pref("browser.safebrowsing.enabled", false); + // Prevent loading of pages identified as malware pref("browser.safebrowsing.malware.enabled", false); -pref("browser.safebrowsing.downloads.enabled", false); -pref("browser.safebrowsing.downloads.remote.enabled", false); -pref("browser.safebrowsing.downloads.remote.timeout_ms", 10000); + pref("browser.safebrowsing.debug", false); - -pref("browser.safebrowsing.provider.google.lists", "goog-badbinurl-shavar,goog-downloadwhite-digest256,goog-phish-shavar,goog-malware-shavar,goog-unwanted-shavar"); -pref("browser.safebrowsing.provider.google.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%"); -pref("browser.safebrowsing.provider.google.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); -pref("browser.safebrowsing.provider.google.reportURL", "https://safebrowsing.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site="); -pref("browser.safebrowsing.provider.google.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%"); - +pref("browser.safebrowsing.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%"); +pref("browser.safebrowsing.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); pref("browser.safebrowsing.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url="); pref("browser.safebrowsing.reportPhishURL", "https://%LOCALE%.phish-report.mozilla.com/?hl=%LOCALE%&url="); pref("browser.safebrowsing.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url="); +pref("browser.safebrowsing.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%"); pref("browser.safebrowsing.id", "Firefox"); // Tables for application reputation. pref("urlclassifier.downloadBlockTable", "goog-badbinurl-shavar"); +// Non-enhanced mode (local url lists) URL list to check for updates +pref("browser.safebrowsing.provider.0.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client={moz:client}&appver={moz:version}&pver=2.2&key=%GOOGLE_API_KEY%"); + +pref("browser.safebrowsing.dataProvider", 0); + +// Does the provider name need to be localizable? +pref("browser.safebrowsing.provider.0.name", "Google"); +pref("browser.safebrowsing.provider.0.reportURL", "https://safebrowsing.google.com/safebrowsing/report?"); +pref("browser.safebrowsing.provider.0.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client={moz:client}&appver={moz:version}&pver=2.2"); + +// HTML report pages +pref("browser.safebrowsing.provider.0.reportGenericURL", "http://{moz:locale}.phish-generic.mozilla.com/?hl={moz:locale}"); +pref("browser.safebrowsing.provider.0.reportErrorURL", "http://{moz:locale}.phish-error.mozilla.com/?hl={moz:locale}"); +pref("browser.safebrowsing.provider.0.reportPhishURL", "http://{moz:locale}.phish-report.mozilla.com/?hl={moz:locale}"); +pref("browser.safebrowsing.provider.0.reportMalwareURL", "http://{moz:locale}.malware-report.mozilla.com/?hl={moz:locale}"); +pref("browser.safebrowsing.provider.0.reportMalwareErrorURL", "http://{moz:locale}.malware-error.mozilla.com/?hl={moz:locale}"); + // FAQ URLs // The number of random entries to send with a gethash request. diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 817d2c98d58..b9ab8682273 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -963,15 +963,15 @@ pref("browser.safebrowsing.downloads.remote.enabled", true); pref("browser.safebrowsing.downloads.remote.timeout_ms", 10000); pref("browser.safebrowsing.debug", false); -pref("browser.safebrowsing.provider.google.lists", "goog-badbinurl-shavar,goog-downloadwhite-digest256,goog-phish-shavar,goog-malware-shavar,goog-unwanted-shavar"); -pref("browser.safebrowsing.provider.google.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%"); -pref("browser.safebrowsing.provider.google.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); -pref("browser.safebrowsing.provider.google.reportURL", "https://safebrowsing.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site="); -pref("browser.safebrowsing.provider.google.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%"); - +pref("browser.safebrowsing.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%"); +pref("browser.safebrowsing.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); pref("browser.safebrowsing.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url="); pref("browser.safebrowsing.reportPhishURL", "https://%LOCALE%.phish-report.mozilla.com/?hl=%LOCALE%&url="); pref("browser.safebrowsing.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url="); +pref("browser.safebrowsing.malware.reportURL", "https://safebrowsing.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site="); + +pref("browser.safebrowsing.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%"); + #ifdef MOZILLA_OFFICIAL // Normally the "client ID" sent in updates is appinfo.name, but for // official Firefox releases from Mozilla we use a special identifier. diff --git a/layout/tools/reftest/remotereftest.py b/layout/tools/reftest/remotereftest.py index 697e988d70e..a6e270c3e22 100644 --- a/layout/tools/reftest/remotereftest.py +++ b/layout/tools/reftest/remotereftest.py @@ -359,10 +359,8 @@ class RemoteReftest(RefTest): prefs["datareporting.policy.dataSubmissionPolicyBypassAcceptance"] = True # Point the url-classifier to the local testing server for fast failures - prefs["browser.safebrowsing.provider.google.gethashURL"] = "http://127.0.0.1:8888/safebrowsing-dummy/gethash" - prefs["browser.safebrowsing.provider.google.updateURL"] = "http://127.0.0.1:8888/safebrowsing-dummy/update" - prefs["browser.safebrowsing.provider.mozilla.gethashURL"] = "http://127.0.0.1:8888/safebrowsing-dummy/gethash" - prefs["browser.safebrowsing.provider.mozilla.updateURL"] = "http://127.0.0.1:8888/safebrowsing-dummy/update" + prefs["browser.safebrowsing.gethashURL"] = "http://127.0.0.1:8888/safebrowsing-dummy/gethash" + prefs["browser.safebrowsing.updateURL"] = "http://127.0.0.1:8888/safebrowsing-dummy/update" # Point update checks to the local testing server for fast failures prefs["extensions.update.url"] = "http://127.0.0.1:8888/extensions-dummy/updateURL" prefs["extensions.update.background.url"] = "http://127.0.0.1:8888/extensions-dummy/updateBackgroundURL" diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js index 9b964b0e611..bbdfaa232d0 100644 --- a/mobile/android/app/mobile.js +++ b/mobile/android/app/mobile.js @@ -611,20 +611,14 @@ pref("dom.w3c_touch_events.enabled", 1); #ifdef MOZ_SAFE_BROWSING pref("browser.safebrowsing.enabled", true); pref("browser.safebrowsing.malware.enabled", true); -pref("browser.safebrowsing.downloads.enabled", false); -pref("browser.safebrowsing.downloads.remote.enabled", false); -pref("browser.safebrowsing.downloads.remote.timeout_ms", 10000); pref("browser.safebrowsing.debug", false); -pref("browser.safebrowsing.provider.google.lists", "goog-badbinurl-shavar,goog-downloadwhite-digest256,goog-phish-shavar,goog-malware-shavar,goog-unwanted-shavar"); -pref("browser.safebrowsing.provider.google.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%"); -pref("browser.safebrowsing.provider.google.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); -pref("browser.safebrowsing.provider.google.reportURL", "https://safebrowsing.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site="); -pref("browser.safebrowsing.provider.google.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%"); - +pref("browser.safebrowsing.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%"); +pref("browser.safebrowsing.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); pref("browser.safebrowsing.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url="); pref("browser.safebrowsing.reportPhishURL", "https://%LOCALE%.phish-report.mozilla.com/?hl=%LOCALE%&url="); -pref("browser.safebrowsing.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url +pref("browser.safebrowsing.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url="); +pref("browser.safebrowsing.malware.reportURL", "https://safebrowsing.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site="); pref("browser.safebrowsing.id", @MOZ_APP_UA_NAME@); diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 88ddf7532db..4770a37172f 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -4786,10 +4786,8 @@ pref("urlclassifier.disallow_completions", "test-malware-simple,test-phish-simpl // checks. pref("urlclassifier.trackingTable", "test-track-simple,mozpub-track-digest256"); pref("urlclassifier.trackingWhitelistTable", "test-trackwhite-simple,mozpub-trackwhite-digest256"); - -pref("browser.safebrowsing.provider.mozilla.lists", "mozpub-track-digest256,mozpub-trackwhite-digest256"); -pref("browser.safebrowsing.provider.mozilla.updateURL", "https://tracking.services.mozilla.com/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); -pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://tracking.services.mozilla.com/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); +pref("browser.trackingprotection.updateURL", "https://tracking.services.mozilla.com/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); +pref("browser.trackingprotection.gethashURL", "https://tracking.services.mozilla.com/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); // Turn off Spatial navigation by default. pref("snav.enabled", false); diff --git a/testing/profiles/prefs_general.js b/testing/profiles/prefs_general.js index 2201ba0408b..b8e0e469d3c 100644 --- a/testing/profiles/prefs_general.js +++ b/testing/profiles/prefs_general.js @@ -86,10 +86,10 @@ user_pref("geo.wifi.logging.enabled", true); user_pref("urlclassifier.updateinterval", 172800); // Point the url-classifier to the local testing server for fast failures user_pref("browser.safebrowsing.gethashURL", "http://%(server)s/safebrowsing-dummy/gethash"); -user_pref("browser.safebrowsing.provider.google.updateURL", "http://%(server)s/safebrowsing-dummy/update"); -user_pref("browser.safebrowsing.provider.google.appRepURL", "http://%(server)s/safebrowsing-dummy/update"); -user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "http://%(server)s/safebrowsing-dummy/gethash"); -user_pref("browser.safebrowsing.provider.mozilla.updateURL", "http://%(server)s/safebrowsing-dummy/update"); +user_pref("browser.safebrowsing.updateURL", "http://%(server)s/safebrowsing-dummy/update"); +user_pref("browser.safebrowsing.appRepURL", "http://%(server)s/safebrowsing-dummy/update"); +user_pref("browser.trackingprotection.gethashURL", "http://%(server)s/safebrowsing-dummy/gethash"); +user_pref("browser.trackingprotection.updateURL", "http://%(server)s/safebrowsing-dummy/update"); user_pref("privacy.trackingprotection.introURL", "http://%(server)s/trackingprotection/tour"); // Point update checks to the local testing server for fast failures user_pref("extensions.update.url", "http://%(server)s/extensions-dummy/updateURL"); diff --git a/testing/talos/talos.json b/testing/talos/talos.json index fb7796c1717..25cb0e909bd 100644 --- a/testing/talos/talos.json +++ b/testing/talos/talos.json @@ -5,7 +5,7 @@ }, "global": { "talos_repo": "https://hg.mozilla.org/build/talos", - "talos_revision": "3b94adbd66f1" + "talos_revision": "c0039de7a1c6" }, "extra_options": { "android": [ "--apkPath=%(apk_path)s" ] diff --git a/toolkit/components/url-classifier/SafeBrowsing.jsm b/toolkit/components/url-classifier/SafeBrowsing.jsm index c4480346ef3..17a24b62fe9 100644 --- a/toolkit/components/url-classifier/SafeBrowsing.jsm +++ b/toolkit/components/url-classifier/SafeBrowsing.jsm @@ -13,13 +13,7 @@ Cu.import("resource://gre/modules/Services.jsm"); // Skip all the ones containining "test", because we never need to ask for // updates for them. function getLists(prefName) { - log("getLists: " + prefName); - let pref = null; - try { - pref = Services.prefs.getCharPref(prefName); - } catch(e) { - return null; - } + let pref = Services.prefs.getCharPref(prefName); // Splitting an empty string returns [''], we really want an empty array. if (!pref) { return []; @@ -59,6 +53,32 @@ this.SafeBrowsing = { Services.prefs.addObserver("browser.safebrowsing", this.readPrefs.bind(this), false); Services.prefs.addObserver("privacy.trackingprotection", this.readPrefs.bind(this), false); this.readPrefs(); + + // Register our two types of tables, and add custom Mozilla entries + let listManager = Cc["@mozilla.org/url-classifier/listmanager;1"]. + getService(Ci.nsIUrlListManager); + for (let i = 0; i < phishingLists.length; ++i) { + listManager.registerTable(phishingLists[i], this.updateURL, this.gethashURL); + } + for (let i = 0; i < malwareLists.length; ++i) { + listManager.registerTable(malwareLists[i], this.updateURL, this.gethashURL); + } + for (let i = 0; i < downloadBlockLists.length; ++i) { + listManager.registerTable(downloadBlockLists[i], this.updateURL, this.gethashURL); + } + for (let i = 0; i < downloadAllowLists.length; ++i) { + listManager.registerTable(downloadAllowLists[i], this.updateURL, this.gethashURL); + } + for (let i = 0; i < trackingProtectionLists.length; ++i) { + listManager.registerTable(trackingProtectionLists[i], + this.trackingUpdateURL, + this.trackingGethashURL); + } + for (let i = 0; i < trackingProtectionWhitelists.length; ++i) { + listManager.registerTable(trackingProtectionWhitelists[i], + this.trackingUpdateURL, + this.trackingGethashURL); + } this.addMozEntries(); this.controlUpdateChecking(); @@ -67,37 +87,6 @@ this.SafeBrowsing = { log("init() finished"); }, - registerTableWithURLs: function(listname) { - let listManager = Cc["@mozilla.org/url-classifier/listmanager;1"]. - getService(Ci.nsIUrlListManager); - - let providerName = this.listToProvider[listname]; - let provider = this.providers[providerName]; - - listManager.registerTable(listname, provider.updateURL, provider.gethashURL); - }, - - registerTables: function() { - for (let i = 0; i < phishingLists.length; ++i) { - this.registerTableWithURLs(phishingLists[i]); - } - for (let i = 0; i < malwareLists.length; ++i) { - this.registerTableWithURLs(malwareLists[i]); - } - for (let i = 0; i < downloadBlockLists.length; ++i) { - this.registerTableWithURLs(downloadBlockLists[i]); - } - for (let i = 0; i < downloadAllowLists.length; ++i) { - this.registerTableWithURLs(downloadAllowLists[i]); - } - for (let i = 0; i < trackingProtectionLists.length; ++i) { - this.registerTableWithURLs(trackingProtectionLists[i]); - } - for (let i = 0; i < trackingProtectionWhitelists.length; ++i) { - this.registerTableWithURLs(trackingProtectionWhitelists[i]); - } - }, - initialized: false, phishingEnabled: false, @@ -148,7 +137,6 @@ this.SafeBrowsing = { this.malwareEnabled = Services.prefs.getBoolPref("browser.safebrowsing.malware.enabled"); this.trackingEnabled = Services.prefs.getBoolPref("privacy.trackingprotection.enabled") || Services.prefs.getBoolPref("privacy.trackingprotection.pbmode.enabled"); this.updateProviderURLs(); - this.registerTables(); // XXX The listManager backend gets confused if this is called before the // lists are registered. So only call it here when a pref changes, and not @@ -163,61 +151,21 @@ this.SafeBrowsing = { try { var clientID = Services.prefs.getCharPref("browser.safebrowsing.id"); } catch(e) { - clientID = Services.appinfo.name; + var clientID = Services.appinfo.name; } - log("initializing safe browsing URLs, client id", clientID); + log("initializing safe browsing URLs, client id ", clientID); - // Get the different providers - let branch = Services.prefs.getBranch("browser.safebrowsing.provider."); - let children = branch.getChildList("", {}); - this.providers = {}; - this.listToProvider = {}; + // Urls used to update DB + this.updateURL = Services.urlFormatter.formatURLPref("browser.safebrowsing.updateURL"); + this.gethashURL = Services.urlFormatter.formatURLPref("browser.safebrowsing.gethashURL"); - for (let child of children) { - log("Child: " + child); - let prefComponents = child.split("."); - let providerName = prefComponents[0]; - this.providers[providerName] = {}; - } - - if (debug) { - let providerStr = ""; - Object.keys(this.providers).forEach(function(provider) { - if (providerStr === "") { - providerStr = provider; - } else { - providerStr += ", " + provider; - } - }); - log("Providers: " + providerStr); - } - - Object.keys(this.providers).forEach(function(provider) { - let updateURL = Services.urlFormatter.formatURLPref( - "browser.safebrowsing.provider." + provider + ".updateURL"); - let gethashURL = Services.urlFormatter.formatURLPref( - "browser.safebrowsing.provider." + provider + ".gethashURL"); - updateURL = updateURL.replace("SAFEBROWSING_ID", clientID); - gethashURL = gethashURL.replace("SAFEBROWSING_ID", clientID); - - log("Provider: " + provider + " updateURL=" + updateURL); - log("Provider: " + provider + " gethashURL=" + gethashURL); - - // Urls used to update DB - this.providers[provider].updateURL = updateURL; - this.providers[provider].gethashURL = gethashURL; - - // Get lists this provider manages - let lists = getLists("browser.safebrowsing.provider." + provider + ".lists"); - if (lists) { - lists.forEach(function(list) { - this.listToProvider[list] = provider; - }, this); - } else { - log("Update URL given but no lists managed for provider: " + provider); - } - }, this); + this.updateURL = this.updateURL.replace("SAFEBROWSING_ID", clientID); + this.gethashURL = this.gethashURL.replace("SAFEBROWSING_ID", clientID); + this.trackingUpdateURL = Services.urlFormatter.formatURLPref( + "browser.trackingprotection.updateURL"); + this.trackingGethashURL = Services.urlFormatter.formatURLPref( + "browser.trackingprotection.gethashURL"); }, controlUpdateChecking: function() {