aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/controllers
diff options
context:
space:
mode:
authorbitpshr <mail@bitpshr.net>2018-10-04 23:05:32 +0800
committerDan Finlay <542863+danfinlay@users.noreply.github.com>2018-11-06 07:07:09 +0800
commitbfcb73ad533b7c2acea012a586c2a391811faf03 (patch)
treeff3f8290e01d56396aa93424eadcd535ea0ec954 /app/scripts/controllers
parent89b4aa5d62237f36fac9dcce9c546005ec18968b (diff)
downloadtangerine-wallet-browser-bfcb73ad533b7c2acea012a586c2a391811faf03.tar
tangerine-wallet-browser-bfcb73ad533b7c2acea012a586c2a391811faf03.tar.gz
tangerine-wallet-browser-bfcb73ad533b7c2acea012a586c2a391811faf03.tar.bz2
tangerine-wallet-browser-bfcb73ad533b7c2acea012a586c2a391811faf03.tar.lz
tangerine-wallet-browser-bfcb73ad533b7c2acea012a586c2a391811faf03.tar.xz
tangerine-wallet-browser-bfcb73ad533b7c2acea012a586c2a391811faf03.tar.zst
tangerine-wallet-browser-bfcb73ad533b7c2acea012a586c2a391811faf03.zip
EIP-1102: add isEnabled convenience method to provider
Diffstat (limited to 'app/scripts/controllers')
-rw-r--r--app/scripts/controllers/provider-approval.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/app/scripts/controllers/provider-approval.js b/app/scripts/controllers/provider-approval.js
index 8c7520d59..918fc8ad0 100644
--- a/app/scripts/controllers/provider-approval.js
+++ b/app/scripts/controllers/provider-approval.js
@@ -18,7 +18,15 @@ class ProviderApprovalController {
this.publicConfigStore = publicConfigStore
this.approvedOrigins = {}
platform && platform.addMessageListener && platform.addMessageListener(({ action, origin }) => {
- action && action === 'init-provider-request' && this.handleProviderRequest(origin)
+ if (!action) { return }
+ switch (action) {
+ case 'init-provider-request':
+ this.handleProviderRequest(origin)
+ break
+ case 'provider-status-request':
+ this.handleProviderStatusRequest(origin)
+ break
+ }
})
}
@@ -37,6 +45,16 @@ class ProviderApprovalController {
}
/**
+ * Called by a tab to detemrine if a full Ethereum provider API is exposed
+ *
+ * @param {string} origin - Origin of the window requesting provider status
+ */
+ async handleProviderStatusRequest (origin) {
+ const isEnabled = await this.isApproved(origin)
+ this.platform && this.platform.sendMessage({ action: 'provider-status', isEnabled }, { active: true })
+ }
+
+ /**
* Called when a user approves access to a full Ethereum provider API
*
* @param {string} origin - Origin of the target window to approve provider access