mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-25 11:28:51 +01:00
Update: allow other extension to connect
This commit is contained in:
parent
7b70804aa0
commit
ad7d38c0dc
@ -67,6 +67,7 @@
|
||||
"externally_connectable": {
|
||||
"matches": [
|
||||
"https://metamask.io/*"
|
||||
]
|
||||
],
|
||||
"ids": ["*"]
|
||||
}
|
||||
}
|
@ -197,6 +197,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,
|
||||
@ -211,9 +212,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')
|
||||
@ -246,12 +247,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
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user