diff options
author | gorhill <rhill@raymondhill.net> | 2015-06-01 15:03:22 -0400 |
---|---|---|
committer | gorhill <rhill@raymondhill.net> | 2015-06-01 15:03:22 -0400 |
commit | 14371b5d925557bae22b1ed51c3e85c1a276adc0 (patch) | |
tree | 18340e733fa846fca698953b0e1b6a5c15ddd02e | |
parent | ce9781791ef79bbb96deca18d52076063d0e959e (diff) | |
download | uBlock-14371b5d925557bae22b1ed51c3e85c1a276adc0.zip uBlock-14371b5d925557bae22b1ed51c3e85c1a276adc0.tar.gz uBlock-14371b5d925557bae22b1ed51c3e85c1a276adc0.tar.bz2 |
this fixes #274
-rw-r--r-- | platform/chromium/vapi-background.js | 38 | ||||
-rw-r--r-- | platform/firefox/vapi-background.js | 21 | ||||
-rw-r--r-- | src/_locales/en/messages.json | 4 | ||||
-rw-r--r-- | src/js/background.js | 1 | ||||
-rw-r--r-- | src/js/settings.js | 6 | ||||
-rw-r--r-- | src/js/start.js | 2 | ||||
-rw-r--r-- | src/js/ublock.js | 5 | ||||
-rw-r--r-- | src/settings.html | 1 |
8 files changed, 71 insertions, 7 deletions
diff --git a/platform/chromium/vapi-background.js b/platform/chromium/vapi-background.js index 4c48d4c..16aa7d3 100644 --- a/platform/chromium/vapi-background.js +++ b/platform/chromium/vapi-background.js @@ -42,13 +42,6 @@ var noopFunc = function(){}; /******************************************************************************/ -// https://github.com/gorhill/uMatrix/issues/234 -// https://developer.chrome.com/extensions/privacy#property-network - -chrome.privacy.network.networkPredictionEnabled.set({ value: false }); - -/******************************************************************************/ - vAPI.app = { name: manifest.name, version: manifest.version @@ -68,6 +61,37 @@ vAPI.storage = chrome.storage.local; /******************************************************************************/ +// https://github.com/gorhill/uMatrix/issues/234 +// https://developer.chrome.com/extensions/privacy#property-network + +chrome.privacy.network.networkPredictionEnabled.set({ + value: false, + scope: 'regular' +}); + +vAPI.browserSettings = { + set: function(details) { + for ( var setting in details ) { + if ( details.hasOwnProperty(setting) === false ) { + continue; + } + switch ( setting ) { + case 'prefetching': + chrome.privacy.network.networkPredictionEnabled.set({ + value: !!details[setting], + scope: 'regular' + }); + break; + + default: + break; + } + } + } +}; + +/******************************************************************************/ + vAPI.tabs = {}; /******************************************************************************/ diff --git a/platform/firefox/vapi-background.js b/platform/firefox/vapi-background.js index e3b7d1a..c14d4c3 100644 --- a/platform/firefox/vapi-background.js +++ b/platform/firefox/vapi-background.js @@ -97,6 +97,26 @@ window.addEventListener('unload', function() { /******************************************************************************/ +vAPI.browserSettings = { + set: function(details) { + for ( var setting in details ) { + if ( details.hasOwnProperty(setting) === false ) { + continue; + } + switch ( setting ) { + case 'prefetching': + // noop until I find what to use in Firefox + break; + + default: + break; + } + } + } +}; + +/******************************************************************************/ + // API matches that of chrome.storage.local: // https://developer.chrome.com/extensions/storage @@ -404,6 +424,7 @@ vAPI.tabs.registerListeners = function() { /******************************************************************************/ // Firefox: +// https://developer.mozilla.org/en-US/Add-ons/Code_snippets/Tabbed_browser // // browser --> ownerDocument --> defaultView --> gBrowser --> browsers --+ // ^ | diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index f361ead..522a15c 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -171,6 +171,10 @@ "message":"I am an advanced user (<a href='https:\/\/github.com\/gorhill\/uBlock\/wiki\/Advanced-user-features'>Required reading<\/a>)", "description":"English: " }, + "settingsPrefetchingDisabledPrompt":{ + "message":"Disable pre-fetching (to prevent any connection for blocked network requests)", + "description":"English: " + }, "settingsExperimentalPrompt":{ "message":"Enable experimental features (<a href='https:\/\/github.com\/gorhill\/uBlock\/wiki\/Experimental-features'>About<\/a>)", "description":"English: Enable experimental features" diff --git a/src/js/background.js b/src/js/background.js index 30539c3..bd8329b 100644 --- a/src/js/background.js +++ b/src/js/background.js @@ -63,6 +63,7 @@ return { externalLists: defaultExternalLists, firewallPaneMinimized: true, parseAllABPHideFilters: true, + prefetchingDisabled: true, requestLogMaxEntries: 1000, showIconBadge: true }, diff --git a/src/js/settings.js b/src/js/settings.js index 6a9359d..5a29143 100644 --- a/src/js/settings.js +++ b/src/js/settings.js @@ -186,6 +186,12 @@ var onUserSettingsReceived = function(details) { changeUserSettings('colorBlindFriendly', this.checked); }); + uDom('#prefetching-disabled') + .prop('checked', details.prefetchingDisabled === true) + .on('change', function(){ + changeUserSettings('prefetchingDisabled', this.checked); + }); + uDom('#advanced-user-enabled') .prop('checked', details.advancedUserEnabled === true) .on('change', function(){ diff --git a/src/js/start.js b/src/js/start.js index 913621e..2a6ecda 100644 --- a/src/js/start.js +++ b/src/js/start.js @@ -144,6 +144,8 @@ var onUserSettingsReady = function(fetched) { userSettings.experimentalEnabled = false; µb.contextMenu.toggle(userSettings.contextMenuEnabled); + vAPI.browserSettings.set({ 'prefetching': !userSettings.prefetchingDisabled }); + µb.permanentFirewall.fromString(fetched.dynamicFilteringString); µb.sessionFirewall.assign(µb.permanentFirewall); µb.permanentURLFiltering.fromString(fetched.urlFilteringString); diff --git a/src/js/ublock.js b/src/js/ublock.js index e501d70..39d3919 100644 --- a/src/js/ublock.js +++ b/src/js/ublock.js @@ -273,6 +273,11 @@ var matchWhitelistDirective = function(url, hostname, directive) { break; case 'experimentalEnabled': break; + case 'prefetchingDisabled': + vAPI.browserSettings.set({ + 'prefetching': !value + }); + break; default: break; } diff --git a/src/settings.html b/src/settings.html index 9c9f6f8..644a662 100644 --- a/src/settings.html +++ b/src/settings.html @@ -17,6 +17,7 @@ <li><input id="color-blind-friendly" type="checkbox"><label data-i18n="settingsColorBlindPrompt" for="color-blind-friendly"></label> <li><input id="advanced-user-enabled" type="checkbox"><label data-i18n="settingsAdvancedUserPrompt" for="advanced-user-enabled"></label> <!-- <li><input id="experimental-enabled" type="checkbox" disabled><label data-i18n="settingsExperimentalPrompt" for="experimental-enabled"></label> --> + <li><input id="prefetching-disabled" type="checkbox"><label data-i18n="settingsPrefetchingDisabledPrompt" for="prefetching-disabled"></label> </ul> <div id="localData" style="margin: 0 1em;"> |