Index: chrome/browser/resources/cryptotoken/cryptotokenapprovedorigins.js |
diff --git a/chrome/browser/resources/cryptotoken/cryptotokenapprovedorigins.js b/chrome/browser/resources/cryptotoken/cryptotokenapprovedorigins.js |
index a28a934eb74c8699e5070cf0b3078058a8a4e75e..89fc759e6da9567d2ca13d22afb1984a5d98ad7a 100644 |
--- a/chrome/browser/resources/cryptotoken/cryptotokenapprovedorigins.js |
+++ b/chrome/browser/resources/cryptotoken/cryptotokenapprovedorigins.js |
@@ -30,36 +30,28 @@ function CryptoTokenApprovedOrigin() {} |
CryptoTokenApprovedOrigin.prototype.isApprovedOrigin = |
function(origin, opt_tabId) { |
return new Promise(function(resolve, reject) { |
- if (!chrome.tabs || !chrome.tabs.get) { |
- reject(); |
- return; |
- } |
- if (!chrome.windows || !chrome.windows.get) { |
- reject(); |
- return; |
- } |
- if (!opt_tabId) { |
+ if (opt_tabId === undefined) { |
resolve(false); |
return; |
} |
var tabId = /** @type {number} */ (opt_tabId); |
- chrome.tabs.get(tabId, function(tab) { |
- if (chrome.runtime.lastError) { |
- resolve(false); |
- return; |
- } |
- if (!tab.active) { |
- resolve(false); |
- return; |
- } |
- chrome.windows.get(tab.windowId, function(aWindow) { |
- if (!aWindow || !aWindow.focused) { |
- resolve(false); |
- return; |
- } |
- var tabOrigin = getOriginFromUrl(tab.url); |
- resolve(tabOrigin == origin); |
- }); |
- }); |
+ tabInForeground(tabId).then(function(result) { |
+ if (!result) { |
+ resolve(false); |
+ return; |
+ } |
+ if (!chrome.tabs || !chrome.tabs.get) { |
+ reject(); |
+ return; |
+ } |
+ chrome.tabs.get(tabId, function(tab) { |
+ if (chrome.runtime.lastError) { |
+ resolve(false); |
+ return; |
+ } |
+ var tabOrigin = getOriginFromUrl(tab.url); |
+ resolve(tabOrigin == origin); |
+ }); |
+ }); |
}); |
}; |