| OLD | NEW |
| 1 <script src="../editing.js"></script> | 1 <!DOCTYPE html> |
| 2 <script src="../../resources/testharness.js"></script> |
| 3 <script src="../../resources/testharnessreport.js"></script> |
| 2 | 4 |
| 3 <script> | 5 <script> |
| 4 function log(message) { | 6 function part1() { |
| 5 var console = document.getElementById("console"); | 7 add_result_callback(function(result) { |
| 6 var li = document.createElement("li"); | 8 if (result.status == result.PASS) |
| 7 var text = document.createTextNode(message); | 9 window.location = window.location.toString() + '?part2'; |
| 8 li.appendChild(text); | 10 }); |
| 9 console.appendChild(li); | |
| 10 } | |
| 11 | 11 |
| 12 function part1() { | 12 test(function() { |
| 13 frames['iframe'].document.body.focus(); | 13 frames['iframe'].document.body.focus(); |
| 14 | 14 frames['iframe'].document.execCommand('InsertText', false, 'c'); |
| 15 // Hack to perform the editing command. Should be able to | |
| 16 // call execCommand on the main document. | |
| 17 frames['iframe'].document.execCommand('InsertText', false, 'c'); | |
| 18 | 15 |
| 19 if (frames['iframe'].document.body.innerText != 'c') { | 16 assert_equals(frames['iframe'].document.body.innerText, 'c', |
| 20 log("FAIL: could not insert text."); | 17 'Text should be inserted into the subframe.'); |
| 21 if (window.testRunner) | |
| 22 testRunner.notifyDone(); | |
| 23 return; | |
| 24 } | |
| 25 | 18 |
| 26 if (!document.queryCommandEnabled('Undo')) { | 19 assert_false(document.queryCommandEnabled('Undo'), |
| 27 log("FAIL: Undo is not enabled after text insertion."); | 20 'Undo should not be enabled in main document by text insert
ion in subframe.'); |
| 28 if (window.testRunner) | 21 }, 'Checks with modification in the subframe.'); |
| 29 testRunner.notifyDone(); | |
| 30 return; | |
| 31 } | |
| 32 | |
| 33 window.location = window.location.toString() + "?part2"; | |
| 34 } | 22 } |
| 35 | 23 |
| 36 function part2() { | 24 function part2() { |
| 37 if (frames['iframe'].document.body.innerText != '') | 25 test(function() { |
| 38 log("FAIL: subframe still has old content after navigaiton."); | 26 assert_equals(frames['iframe'].document.body.innerText, '', |
| 27 'Subframe should not have old content after navigaiton.'); |
| 39 | 28 |
| 40 if (!document.queryCommandEnabled('Undo')) | 29 assert_false(document.queryCommandEnabled('Undo'), |
| 41 log("Success"); | 30 'Undo should not be enabled after the location changed.'); |
| 42 else | 31 }, 'Checks after the subframe has navigated'); |
| 43 log("Failure, Undo was still enabled after the location changed (but at
least we didn't crash!)"); | |
| 44 | |
| 45 if (window.testRunner) | |
| 46 testRunner.notifyDone(); | |
| 47 } | 32 } |
| 48 | 33 |
| 49 function runTest() { | 34 function runTest() { |
| 50 if (window.location.toString().indexOf("?part2") == -1) { | 35 if (window.location.toString().indexOf("?part2") == -1) { |
| 51 part1(); | 36 part1(); |
| 52 } else { | 37 } else { |
| 53 part2(); | 38 part2(); |
| 54 } | 39 } |
| 55 } | 40 } |
| 56 | |
| 57 if (window.testRunner) { | |
| 58 testRunner.waitUntilDone(); | |
| 59 testRunner.dumpAsText(); | |
| 60 } | |
| 61 | |
| 62 </script> | 41 </script> |
| 63 | 42 |
| 64 <body onload="runTest()"> | 43 <body onload="runTest()"> |
| 65 <iframe name="iframe" src="../resources/contenteditable-iframe-src.html"></ifram
e> | 44 <iframe name="iframe" src="../resources/contenteditable-iframe-src.html"></ifram
e> |
| 66 <ul id="console"></ul> | 45 <div id="log"></div> |
| 67 </body> | 46 </body> |
| OLD | NEW |