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 1e3a7e8eb3dcc68b0c9b3f2f7ba8204ef1819a7a..abd1f4ef12928ed2b01ed1830a9a60856fe26449 100644 |
--- a/chrome/test/data/extensions/api_test/messaging/connect/page.js |
+++ b/chrome/test/data/extensions/api_test/messaging/connect/page.js |
@@ -29,6 +29,8 @@ chrome.runtime.onConnect.addListener(function(port) { |
testPostMessageFromTab(port); |
} else if (msg.testSendMessageFromTab) { |
testSendMessageFromTab(); |
+ } else if (msg.testSendMessageFromFrame) { |
+ testSendMessageFromFrame(); |
} else if (msg.testDisconnect) { |
port.disconnect(); |
} else if (msg.testDisconnectOnClose) { |
@@ -65,6 +67,18 @@ function testSendMessageFromTab() { |
}); |
} |
+function testSendMessageFromFrame() { |
+ // Add two frames. The content script declared in manifest.json (frame.js) |
+ // runs in frames whose URL matches ?testSendMessageFromFrame. |
+ // frame.js sends a message to the background page, which checks that |
+ // sender.frameId exists and is different for both frames. |
+ for (var i = 0; i < 2; ++i) { |
+ var f = document.createElement('iframe'); |
+ f.src = '?testSendMessageFromFrame' + i; |
+ document.body.appendChild(f); |
+ } |
+} |
+ |
// Tests sendMessage to an invalid extension. |
function testSendMessageFromTabError() { |
// try sending a request to a bad extension id |