| OLD | NEW |
| 1 function assert_no_message_from_frame(test, frame) { | 1 function assert_no_message_from_frame(test, frame) { |
| 2 window.addEventListener("message", test.step_func(e => { | 2 window.addEventListener("message", test.step_func(e => { |
| 3 assert_not_equals(e.source, frame.contentWindow); | 3 assert_not_equals(e.source, frame.contentWindow); |
| 4 })); | 4 })); |
| 5 } | 5 } |
| 6 | 6 |
| 7 function appendFrameAndGetElement(test, frame) { |
| 8 return new Promise((resolve, reject) => { |
| 9 frame.onload = test.step_func(_ => { |
| 10 frame.onload = null; |
| 11 resolve(frame.contentDocument.querySelector('#dangling')); |
| 12 }); |
| 13 document.body.appendChild(frame); |
| 14 }); |
| 15 } |
| 16 |
| 7 function appendAndSubmit(test, frame) { | 17 function appendAndSubmit(test, frame) { |
| 8 return new Promise((resolve, reject) => { | 18 return new Promise((resolve, reject) => { |
| 9 frame.onload = test.step_func(_ => { | 19 frame.onload = test.step_func(_ => { |
| 10 frame.onload = null; | 20 frame.onload = null; |
| 11 frame.contentDocument.querySelector('form').addEventListener("error", _ =>
{ | 21 frame.contentDocument.querySelector('form').addEventListener("error", _ =>
{ |
| 12 resolve("error"); | 22 resolve("error"); |
| 13 }); | 23 }); |
| 14 frame.contentDocument.querySelector('form').addEventListener("submit", _ =
> { | 24 frame.contentDocument.querySelector('form').addEventListener("submit", _ =
> { |
| 15 resolve("submit"); | 25 resolve("submit"); |
| 16 }); | 26 }); |
| 17 frame.contentDocument.querySelector('[type=submit]').click(); | 27 frame.contentDocument.querySelector('[type=submit]').click(); |
| 18 }); | 28 }); |
| 19 document.body.appendChild(frame); | 29 document.body.appendChild(frame); |
| 20 }); | 30 }); |
| 21 } | 31 } |
| 22 | 32 |
| 23 function assert_no_submission(test, frame) { | 33 function assert_no_submission(test, frame) { |
| 24 assert_no_message_from_frame(test, frame); | 34 assert_no_message_from_frame(test, frame); |
| 25 | 35 |
| 26 appendAndSubmit(test, frame) | 36 appendAndSubmit(test, frame) |
| 27 .then(test.step_func_done(result => { | 37 .then(test.step_func_done(result => { |
| 28 assert_equals(result, "error"); | 38 assert_equals(result, "error"); |
| 29 frame.remove(); | 39 frame.remove(); |
| 30 })); | 40 })); |
| 31 } | 41 } |
| 32 | 42 |
| 43 function assert_img_loaded(test, frame) { |
| 44 appendFrameAndGetElement(test, frame) |
| 45 .then(test.step_func_done(img => { |
| 46 assert_equals(img.naturalHeight, 103, "Height"); |
| 47 assert_equals(img.naturalWidth, 76, "Width"); |
| 48 })); |
| 49 } |
| 50 |
| 51 function assert_img_not_loaded(test, frame) { |
| 52 appendFrameAndGetElement(test, frame) |
| 53 .then(test.step_func_done(img => { |
| 54 assert_equals(img.naturalHeight, 0, "Height"); |
| 55 assert_equals(img.naturalWidth, 0, "Width"); |
| 56 })); |
| 57 } |
| 58 |
| 33 function createFrame(markup) { | 59 function createFrame(markup) { |
| 34 var i = document.createElement('iframe'); | 60 var i = document.createElement('iframe'); |
| 35 i.srcdoc = `${markup}sekrit`; | 61 i.srcdoc = `${markup}sekrit`; |
| 36 return i; | 62 return i; |
| 37 } | 63 } |
| OLD | NEW |