Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Unified Diff: chrome/test/data/extensions/api_test/active_tab/background.js

Issue 890083002: [Extensions] Propagate activeTab hosts to extension background pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/active_tab/background.js
diff --git a/chrome/test/data/extensions/api_test/active_tab/background.js b/chrome/test/data/extensions/api_test/active_tab/background.js
index cdafdc622bc5ba2015e813b6b9331c3c8b37cc0c..74e587b41ea73344d70493959c2fdddb1a9a9232 100644
--- a/chrome/test/data/extensions/api_test/active_tab/background.js
+++ b/chrome/test/data/extensions/api_test/active_tab/background.js
@@ -10,12 +10,47 @@ var callbackPass = chrome.test.callbackPass;
var RoleType = chrome.automation.RoleType;
-chrome.browserAction.onClicked.addListener(function() {
- chrome.tabs.executeScript({ code: 'true' }, callbackPass());
+function canXhr(url) {
+ assertFalse(url == null);
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ var success = true;
+ try {
+ xhr.send();
+ } catch(e) {
+ assertEq('NetworkError', e.name);
+ success = false;
+ }
+ return success;
+}
+
+var cachedUrl = null;
+var iframeDone = null;
+
+chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
+ if (request.message == 'xhr') {
+ sendResponse({url: cachedUrl});
+ } else {
+ assertTrue(request.success);
+ iframeDone();
+ }
+});
+
+var iframeUrl = chrome.extension.getURL('iframe.html');
+var injectIframe =
+ 'var iframe = document.createElement("iframe");\n' +
+ 'iframe.src = "' + iframeUrl + '";\n' +
+ 'document.body.appendChild(iframe);\n';
+
+chrome.browserAction.onClicked.addListener(function(tab) {
+ iframeDone = chrome.test.callbackAdded();
+ cachedUrl = tab.url;
+ chrome.tabs.executeScript({ code: injectIframe }, callbackPass());
+ assertTrue(canXhr(tab.url));
+
chrome.automation.getTree(callbackPass(function(rootNode) {
assertFalse(rootNode == undefined);
assertEq(RoleType.rootWebArea, rootNode.role);
- chrome.test.succeed();
}));
});
@@ -27,4 +62,6 @@ chrome.webNavigation.onCompleted.addListener(function(details) {
chrome.automation.getTree(callbackFail(
'Cannot request automation tree on url "' + details.url +
'". Extension manifest must request permission to access this host.'));
+
+ assertFalse(canXhr(details.url));
});
« no previous file with comments | « chrome/renderer/extensions/tab_finder.cc ('k') | chrome/test/data/extensions/api_test/active_tab/iframe.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698