| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script src="resources/cross-frame-access.js"></script> | 3 <script src="resources/cross-frame-access.js"></script> |
| 4 <script> | 4 <script> |
| 5 if (window.testRunner) { | 5 if (window.testRunner) { |
| 6 testRunner.dumpAsText(); | 6 testRunner.dumpAsText(); |
| 7 testRunner.dumpChildFramesAsText(); | 7 testRunner.dumpChildFramesAsText(); |
| 8 testRunner.waitUntilDone(); | 8 testRunner.waitUntilDone(); |
| 9 } | 9 } |
| 10 | 10 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 { | 35 { |
| 36 targetFrame = frames[0]; | 36 targetFrame = frames[0]; |
| 37 | 37 |
| 38 // Attempt to inject functions into the target frame. These will be
checked in the final step. | 38 // Attempt to inject functions into the target frame. These will be
checked in the final step. |
| 39 try { Object.prototype.__defineSetter__.call(targetFrame, 'injectedS
etter', function() { alert("Set injected setter in: " + document.URL); return "c
ustomSetter"; }); } catch(e) { log(e); } | 39 try { Object.prototype.__defineSetter__.call(targetFrame, 'injectedS
etter', function() { alert("Set injected setter in: " + document.URL); return "c
ustomSetter"; }); } catch(e) { log(e); } |
| 40 try { Object.prototype.__defineGetter__.call(targetFrame, 'injectedG
etter', function() { return "customGetter"; }); } catch(e) { log(e); } | 40 try { Object.prototype.__defineGetter__.call(targetFrame, 'injectedG
etter', function() { return "customGetter"; }); } catch(e) { log(e); } |
| 41 | 41 |
| 42 log("\n----- test getting values cross-frame using Object.prototype
-----\n"); | 42 log("\n----- test getting values cross-frame using Object.prototype
-----\n"); |
| 43 | 43 |
| 44 // Attempt to detect values set on the target frame. | 44 // Attempt to detect values set on the target frame. |
| 45 try { shouldBe("Object.prototype.__lookupGetter__.call(targetFrame,
'myGetter');", "undefined"); } catch(e) { log(e); } | 45 try { shouldThrowException("Object.prototype.__lookupGetter__.call(t
argetFrame, 'myGetter');"); } catch(e) { log(e); } |
| 46 try { shouldBe("Object.prototype.__lookupSetter__.call(targetFrame,
'mySetter');", "undefined"); } catch(e) { log(e); } | 46 try { shouldThrowException("Object.prototype.__lookupSetter__.call(t
argetFrame, 'mySetter');"); } catch(e) { log(e); } |
| 47 | 47 try { shouldThrowException("Object.prototype.propertyIsEnumerable.ca
ll(targetFrame, 'myProp');"); } catch(e) { log(e); } |
| 48 try { shouldBe("Object.prototype.propertyIsEnumerable.call(targetFra
me, 'myProp');", "false"); } catch(e) { log(e); } | |
| 49 // FIXME: Unfortunatly, all cross-cross frame calls hasOwnProperty w
ill return true so there is no way to test this right now. | 48 // FIXME: Unfortunatly, all cross-cross frame calls hasOwnProperty w
ill return true so there is no way to test this right now. |
| 50 // try { shouldBe("Object.prototype.hasOwnProperty.call(targetFrame,
'myProp');", "false"); } catch(e) { log(e); } | 49 // try { shouldBe("Object.prototype.hasOwnProperty.call(targetFrame,
'myProp');", "false"); } catch(e) { log(e); } |
| 51 | 50 |
| 52 if (window.postMessage) | 51 if (window.postMessage) |
| 53 targetFrame.postMessage("settingValuesComplete", "*"); | 52 targetFrame.postMessage("settingValuesComplete", "*"); |
| 54 else | 53 else |
| 55 log("\nSet Test complete! Click button entitled 'Step 2 - Set C
heck' to finish the test."); | 54 log("\nSet Test complete! Click button entitled 'Step 2 - Set C
heck' to finish the test."); |
| 56 } | 55 } |
| 57 </script> | 56 </script> |
| 58 </head> | 57 </head> |
| 59 <body> | 58 <body> |
| 60 <iframe name="target" src="http://localhost:8000/security/resources/cross-fr
ame-iframe-for-object-prototype-test.html"></iframe> | 59 <iframe name="target" src="http://localhost:8000/security/resources/cross-fr
ame-iframe-for-object-prototype-test.html"></iframe> |
| 61 <pre id="console"></pre> | 60 <pre id="console"></pre> |
| 62 </body> | 61 </body> |
| 63 </html> | 62 </html> |
| OLD | NEW |