From 77801a31cd1be29b982cf475fd4f27696f10b4e8 Mon Sep 17 00:00:00 2001 From: Caleb Richelson Date: Fri, 2 Nov 2018 12:51:47 -0400 Subject: [PATCH 1/3] GH-1429 Add WebSockets and bump mininum version numbers --- README.md | 4 ++-- manifest.json | 10 ++++++---- src/background.js | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index cf89b18cc..fefc76df8 100644 --- a/README.md +++ b/README.md @@ -140,8 +140,8 @@ $ ./fern.js pack configs/ghostery.js + Firefox: 52+ + Firefox Android: 55+ -+ Chrome: 49+ -+ Opera: 36+ ++ Chrome: 58+ ++ Opera: 45+ + Edge: 34.14291+ ## Contribute diff --git a/manifest.json b/manifest.json index cdf5d827b..48da9a9c3 100644 --- a/manifest.json +++ b/manifest.json @@ -9,8 +9,8 @@ "author": "Ghostery", "name": "__MSG_name__", "short_name": "Ghostery", - "version": "8.2.4", - "version_name": "8.2.4", + "version": "8.3.0", + "version_name": "8.3.0", "default_locale": "en", "description": "__MSG_short_description__", "debug": true, @@ -79,6 +79,8 @@ "tabs", "http://*/*", "https://*/*", + "ws://*/*", + "wss://*/*", "storage" ], "background": { @@ -88,8 +90,8 @@ "persistent": true }, "minimum_edge_version": "33.14281.1000.0", - "minimum_chrome_version": "49", - "minimum_opera_version": "36", + "minimum_chrome_version": "58", + "minimum_opera_version": "45", "web_accessible_resources": [ "app/images/*", "dist/css/rewards_styles.css" diff --git a/src/background.js b/src/background.js index 53c56b7e3..fe205a7af 100644 --- a/src/background.js +++ b/src/background.js @@ -1420,7 +1420,7 @@ function initializePopup() { */ function addCommonGhosteryAndAntitrackingListeners() { chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, { - urls: ['http://*/*', 'https://*/*'] + urls: ['http://*/*', 'https://*/*', 'ws://*/*', 'wss://*/*'] }, ['blocking']); chrome.webRequest.onHeadersReceived.addListener(onHeadersReceived, { urls: ['http://*/*', 'https://*/*'] From dc4ce3e8ce123c1e69715d787aa60b4d79e123ce Mon Sep 17 00:00:00 2001 From: Caleb Richelson Date: Mon, 5 Nov 2018 13:08:16 -0500 Subject: [PATCH 2/3] Don't listen to WebSockets on Edge, where they aren't supported --- src/background.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/background.js b/src/background.js index fe205a7af..c278e6f9c 100644 --- a/src/background.js +++ b/src/background.js @@ -1419,9 +1419,12 @@ function initializePopup() { * @memberOf Background */ function addCommonGhosteryAndAntitrackingListeners() { - chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, { - urls: ['http://*/*', 'https://*/*', 'ws://*/*', 'wss://*/*'] - }, ['blocking']); + // Edge doesn't support WebSockets + const urls = ['http://*/*', 'https://*/*']; + if (!IS_EDGE) { + urls.push('ws://*/*', 'wss://*/*'); + } + chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, { urls }, ['blocking']); chrome.webRequest.onHeadersReceived.addListener(onHeadersReceived, { urls: ['http://*/*', 'https://*/*'] }, ['responseHeaders']); From d926472d88377f51541b999f327519edf0bd3655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mar=C3=ADa=20Signanini?= Date: Tue, 6 Nov 2018 11:56:57 -0500 Subject: [PATCH 3/3] Minor refactor. --- src/background.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/background.js b/src/background.js index c278e6f9c..dfe730df2 100644 --- a/src/background.js +++ b/src/background.js @@ -1419,15 +1419,18 @@ function initializePopup() { * @memberOf Background */ function addCommonGhosteryAndAntitrackingListeners() { - // Edge doesn't support WebSockets - const urls = ['http://*/*', 'https://*/*']; - if (!IS_EDGE) { - urls.push('ws://*/*', 'wss://*/*'); + let urlFilters = ['http://*/*', 'https://*/*', 'ws://*/*', 'wss://*/*']; + if (IS_EDGE) { + // Edge doesn't support WebSockets + urlFilters = urlFilters.reduce((accumulator, currentValue) => { + if (!currentValue.match(/^wss?:\/\//)) { + accumulator.push(currentValue); + } + return accumulator; + }, []); } - chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, { urls }, ['blocking']); - chrome.webRequest.onHeadersReceived.addListener(onHeadersReceived, { - urls: ['http://*/*', 'https://*/*'] - }, ['responseHeaders']); + chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, { urls: urlFilters }, ['blocking']); + chrome.webRequest.onHeadersReceived.addListener(onHeadersReceived, { urls: urlFilters }, ['responseHeaders']); } /**