aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/background.js
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2017-07-27 03:10:42 +0800
committerDan Finlay <dan@danfinlay.com>2017-07-27 03:27:16 +0800
commit3d8ebf2265d167923f3b913bac3b9cc4d37fa052 (patch)
tree7e8701eac32f1d5c72d0e516cd0af52aa358df8a /app/scripts/background.js
parent0deb617d8f879b9a05c4581f16f5790cafa9789a (diff)
downloadtangerine-wallet-browser-3d8ebf2265d167923f3b913bac3b9cc4d37fa052.tar
tangerine-wallet-browser-3d8ebf2265d167923f3b913bac3b9cc4d37fa052.tar.gz
tangerine-wallet-browser-3d8ebf2265d167923f3b913bac3b9cc4d37fa052.tar.bz2
tangerine-wallet-browser-3d8ebf2265d167923f3b913bac3b9cc4d37fa052.tar.lz
tangerine-wallet-browser-3d8ebf2265d167923f3b913bac3b9cc4d37fa052.tar.xz
tangerine-wallet-browser-3d8ebf2265d167923f3b913bac3b9cc4d37fa052.tar.zst
tangerine-wallet-browser-3d8ebf2265d167923f3b913bac3b9cc4d37fa052.zip
Begin implementing live-updating blacklist, not working yet
Diffstat (limited to 'app/scripts/background.js')
-rw-r--r--app/scripts/background.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/scripts/background.js b/app/scripts/background.js
index e8987394f..c9505b237 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -90,6 +90,10 @@ function setupController (initState) {
extension.runtime.onConnect.addListener(connectRemote)
function connectRemote (remotePort) {
+ if (remotePort.name === 'blacklister') {
+ return setupBlacklist(connectRemote)
+ }
+
var isMetaMaskInternalProcess = remotePort.name === 'popup' || remotePort.name === 'notification'
var portStream = new PortStream(remotePort)
if (isMetaMaskInternalProcess) {
@@ -135,6 +139,29 @@ function setupController (initState) {
return Promise.resolve()
}
+// Listen for new pages and return if blacklisted:
+function setupBlacklist (port) {
+ console.log('Blacklist connection established')
+ const handler = handleNewPageLoad.bind(port)
+ port.onMessage.addListener(handler)
+ setTimeout(() => {
+ port.onMessage.removeListener(handler)
+ }, 30000)
+}
+
+function handleNewPageLoad (message) {
+ const { pageLoaded } = message
+ console.log('blaclist message received', message.pageLoaded)
+ if (!pageLoaded || !global.metamaskController) return
+
+ const state = global.metamaskController.getState()
+ const { blacklist } = state.metamask
+
+ if (blacklist && blacklist.includes(pageLoaded)) {
+ this.postMessage({ 'blacklist': pageLoaded })
+ }
+}
+
//
// Etc...
//