Index: chrome/test/data/extensions/api_test/messaging/connect/page.js |
diff --git a/chrome/test/data/extensions/api_test/messaging/connect/page.js b/chrome/test/data/extensions/api_test/messaging/connect/page.js |
index b8a88a365c17f269cbb9e81fa3513177296c0d35..bf122e7a9157e6f72809b5b348d3f06060e3911a 100644 |
--- a/chrome/test/data/extensions/api_test/messaging/connect/page.js |
+++ b/chrome/test/data/extensions/api_test/messaging/connect/page.js |
@@ -19,7 +19,7 @@ Object.prototype.toJSON = function() { |
}; |
// For complex connect tests. |
-chrome.runtime.onConnect.addListener(function(port) { |
+chrome.runtime.onConnect.addListener(function onConnect(port) { |
console.log('connected'); |
port.onMessage.addListener(function(msg) { |
console.log('got ' + msg); |
@@ -35,6 +35,10 @@ chrome.runtime.onConnect.addListener(function(port) { |
port.postMessage('from_main'); |
} else if (msg.testDisconnect) { |
port.disconnect(); |
+ } else if (msg.testConnectChildFrameAndNavigateSetup) { |
+ chrome.runtime.onConnect.removeListener(onConnect); |
+ chrome.test.assertFalse(chrome.runtime.onConnect.hasListeners()); |
+ testConnectChildFrameAndNavigateSetup(); |
} else if (msg.testDisconnectOnClose) { |
window.location = "about:blank"; |
} else if (msg.testPortName) { |
@@ -81,6 +85,17 @@ function testSendMessageFromFrame() { |
} |
} |
+function testConnectChildFrameAndNavigateSetup() { |
+ var frames = document.querySelectorAll('iframe'); |
+ for (var i = 0; i < frames.length; ++i) { |
+ frames[i].remove(); |
+ } |
+ var f = document.createElement('iframe'); |
+ f.src = '?testConnectChildFrameAndNavigateSetup'; |
+ document.body.appendChild(f); |
+ // Test will continue in frame.js |
+} |
+ |
// Tests sendMessage to an invalid extension. |
function testSendMessageFromTabError() { |
// try sending a request to a bad extension id |