| 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
 | 
| 
 |