aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-05-22 04:41:09 +0800
committerGitHub <noreply@github.com>2018-05-22 04:41:09 +0800
commite447438504d791f60e389c328970da7db2dbf4dc (patch)
tree001b14afe8f6b59c27dbc96eca4b6d0614a78fe3 /app
parent3180b69b974f8ffc0d6546a647725d1bf8539483 (diff)
parentad7d38c0dc206074379c813b307ed9350c7efeb0 (diff)
downloadtangerine-wallet-browser-e447438504d791f60e389c328970da7db2dbf4dc.tar
tangerine-wallet-browser-e447438504d791f60e389c328970da7db2dbf4dc.tar.gz
tangerine-wallet-browser-e447438504d791f60e389c328970da7db2dbf4dc.tar.bz2
tangerine-wallet-browser-e447438504d791f60e389c328970da7db2dbf4dc.tar.lz
tangerine-wallet-browser-e447438504d791f60e389c328970da7db2dbf4dc.tar.xz
tangerine-wallet-browser-e447438504d791f60e389c328970da7db2dbf4dc.tar.zst
tangerine-wallet-browser-e447438504d791f60e389c328970da7db2dbf4dc.zip
Merge pull request #3997 from jakubsta/master
Allow other extensions to connect
Diffstat (limited to 'app')
-rw-r--r--app/manifest.json3
-rw-r--r--app/scripts/background.js14
2 files changed, 12 insertions, 5 deletions
diff --git a/app/manifest.json b/app/manifest.json
index 8a14323f0..141026d10 100644
--- a/app/manifest.json
+++ b/app/manifest.json
@@ -67,6 +67,7 @@
"externally_connectable": {
"matches": [
"https://metamask.io/*"
- ]
+ ],
+ "ids": ["*"]
}
} \ No newline at end of file
diff --git a/app/scripts/background.js b/app/scripts/background.js
index 69d549c85..37e2b68fc 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -309,6 +309,7 @@ function setupController (initState, initLangCode) {
// connect to other contexts
//
extension.runtime.onConnect.addListener(connectRemote)
+ extension.runtime.onConnectExternal.addListener(connectExternal)
const metamaskInternalProcessHash = {
[ENVIRONMENT_TYPE_POPUP]: true,
@@ -335,9 +336,9 @@ function setupController (initState, initLangCode) {
function connectRemote (remotePort) {
const processName = remotePort.name
const isMetaMaskInternalProcess = metamaskInternalProcessHash[processName]
- const portStream = new PortStream(remotePort)
if (isMetaMaskInternalProcess) {
+ const portStream = new PortStream(remotePort)
// communication with popup
controller.isClientOpen = true
controller.setupTrustedCommunication(portStream, 'MetaMask')
@@ -370,12 +371,17 @@ function setupController (initState, initLangCode) {
})
}
} else {
- // communication with page
- const originDomain = urlUtil.parse(remotePort.sender.url).hostname
- controller.setupUntrustedCommunication(portStream, originDomain)
+ connectExternal(remotePort)
}
}
+ // communication with page or other extension
+ function connectExternal(remotePort) {
+ const originDomain = urlUtil.parse(remotePort.sender.url).hostname
+ const portStream = new PortStream(remotePort)
+ controller.setupUntrustedCommunication(portStream, originDomain)
+ }
+
//
// User Interface setup
//