aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgorhill <rhill@raymondhill.net>2015-06-01 15:03:22 -0400
committergorhill <rhill@raymondhill.net>2015-06-01 15:03:22 -0400
commit14371b5d925557bae22b1ed51c3e85c1a276adc0 (patch)
tree18340e733fa846fca698953b0e1b6a5c15ddd02e
parentce9781791ef79bbb96deca18d52076063d0e959e (diff)
downloaduBlock-14371b5d925557bae22b1ed51c3e85c1a276adc0.zip
uBlock-14371b5d925557bae22b1ed51c3e85c1a276adc0.tar.gz
uBlock-14371b5d925557bae22b1ed51c3e85c1a276adc0.tar.bz2
this fixes #274
-rw-r--r--platform/chromium/vapi-background.js38
-rw-r--r--platform/firefox/vapi-background.js21
-rw-r--r--src/_locales/en/messages.json4
-rw-r--r--src/js/background.js1
-rw-r--r--src/js/settings.js6
-rw-r--r--src/js/start.js2
-rw-r--r--src/js/ublock.js5
-rw-r--r--src/settings.html1
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;">