| OLD | NEW | 
| (Empty) |  | 
 |   1 <!doctype html> | 
 |   2 <html> | 
 |   3 <body> | 
 |   4 <iframe id="frame1" src="chrome-extension://ficgdghpakbhhkmdjamiedmcoobamkoo/pub
    lic.html"></iframe> | 
 |   5 <iframe id="frame2" src="chrome-extension://ficgdghpakbhhkmdjamiedmcoobamkoo/non
    existent.html"></iframe> | 
 |   6 <script> | 
 |   7  | 
 |   8 // We expect that chrome.runtime.id will not be set in this frame, and that | 
 |   9 // either chrome.runtime.sendMessage is not defined or we're able to call it | 
 |  10 // (but elsewhere in the browser_test that uses this page we check that the | 
 |  11 // message was not actually sent, or at least didn't incorrectly seem to come | 
 |  12 // from the extension ficgdghpakbhhkmdjamiedmcoobamkoo). | 
 |  13 function testFrame(win) { | 
 |  14   var haveId = true; | 
 |  15   var didRun = false; | 
 |  16   try { | 
 |  17     haveId = win.eval('typeof chrome.runtime != "undefined" && ' + | 
 |  18                       'typeof chrome.runtime.id != "undefined"'); | 
 |  19     win.eval('typeof chrome.runtime != "undefined" ' + | 
 |  20              '&& chrome.runtime.sendMessage(' + | 
 |  21              '"mlmdejkkkhmhchpmepehbcncoalclded", "evil")'); | 
 |  22     didRun = true; | 
 |  23   } catch (e) { | 
 |  24     console.log('caught exception: ' + e); | 
 |  25   } | 
 |  26   return didRun && !haveId; | 
 |  27 } | 
 |  28  | 
 |  29 // Test the two frames (actual page and nonexistent page) that were included in | 
 |  30 // the original html document. | 
 |  31 var frame1Success = testFrame(document.getElementById('frame1').contentWindow); | 
 |  32 var frame2Success = testFrame(document.getElementById('frame2').contentWindow); | 
 |  33  | 
 |  34 // Now test two frames that get dynamically created and added to the DOM, again | 
 |  35 // one actual page and one nonexistent. | 
 |  36 var frame3 = document.createElement('iframe'); | 
 |  37 frame3.src = 'chrome-extension://ficgdghpakbhhkmdjamiedmcoobamkoo/public.html'; | 
 |  38 document.body.appendChild(frame3); | 
 |  39 var frame3Success = testFrame(frame3.contentWindow); | 
 |  40  | 
 |  41 var frame4 = document.createElement('iframe'); | 
 |  42 frame4.src = | 
 |  43     'chrome-extension://ficgdghpakbhhkmdjamiedmcoobamkoo/nonexistent.html'; | 
 |  44 document.body.appendChild(frame4); | 
 |  45 var frame4Success = testFrame(frame4.contentWindow); | 
 |  46  | 
 |  47 // Finally, test against two newly opened windows. | 
 |  48 var newWin1 = window.open( | 
 |  49     'chrome-extension://ficgdghpakbhhkmdjamiedmcoobamkoo/public.html'); | 
 |  50 var newWindow1Success = testFrame(newWin1); | 
 |  51  | 
 |  52 var newWin2 = window.open( | 
 |  53     'chrome-extension://ficgdghpakbhhkmdjamiedmcoobamkoo/nonexistent.html'); | 
 |  54 var newWindow2Success = testFrame(newWin2); | 
 |  55  | 
 |  56 function getResult() { | 
 |  57   window.domAutomationController.send( | 
 |  58       frame1Success && frame2Success && frame3Success && | 
 |  59       frame4Success && newWindow1Success && newWindow2Success); | 
 |  60 } | 
 |  61  | 
 |  62 </script> | 
 |  63 </body> | 
 |  64 </html> | 
| OLD | NEW |