aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/scripts/background.js25
1 files changed, 9 insertions, 16 deletions
diff --git a/app/scripts/background.js b/app/scripts/background.js
index 58228a41a..652acc113 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -10,31 +10,22 @@ const MetamaskController = require('./metamask-controller')
const extension = require('./lib/extension')
const STORAGE_KEY = 'metamask-config'
-
+var popupIsOpen = false
const controller = new MetamaskController({
// User confirmation callbacks:
- showUnconfirmedMessage,
- unlockAccountMessage,
- showUnconfirmedTx,
+ showUnconfirmedMessage: triggerUi,
+ unlockAccountMessage: triggerUi,
+ showUnconfirmedTx: triggerUi,
// Persistence Methods:
setData,
loadData,
})
const idStore = controller.idStore
-function unlockAccountMessage () {
- notification.show()
-}
-
-function showUnconfirmedMessage (msgParams, msgId) {
- notification.show()
+function triggerUi () {
+ if (!popupIsOpen) notification.show()
}
-
-function showUnconfirmedTx (txParams, txData, onTxDoneCb) {
- notification.show()
-}
-
// On first install, open a window to MetaMask website to how-it-works.
extension.runtime.onInstalled.addListener(function (details) {
@@ -53,7 +44,8 @@ function connectRemote (remotePort) {
var portStream = new PortStream(remotePort)
if (isMetaMaskInternalProcess) {
// communication with popup
- setupTrustedCommunication(portStream, 'MetaMask')
+ popupIsOpen = remotePort.name === 'popup'
+ setupTrustedCommunication(portStream, 'MetaMask', remotePort.name)
} else {
// communication with page
var originDomain = urlUtil.parse(remotePort.sender.url).hostname
@@ -95,6 +87,7 @@ function setupControllerConnection (stream) {
// teardown on disconnect
eos(stream, () => {
controller.ethStore.removeListener('update', controller.sendUpdate.bind(controller))
+ popupIsOpen = false
})
})
}