| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- webkit-test-runner [ PluginsEnabled=false ] --> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script> |
| description("Test that when images are moved to a new document, a new load fires."); |
| |
| jsTestIsAsync = true; |
| |
| var subframe = document.createElement("iframe"); |
| document.body.appendChild(subframe); |
| var subdocument = subframe.contentDocument; |
| |
| var types = [ "img", "input", "object", "embed" ]; |
| var i = 0; |
| var element; |
| |
| function imageLoadedInSecondDocument() |
| { |
| element.removeEventListener("load", imageLoadedInSecondDocument, false); |
| testPassed("Load event fired for " + element.tagName + " in both documents."); |
| subdocument.body.removeChild(element); |
| testNextType(); |
| } |
| |
| function imageLoadedInFirstDocument() |
| { |
| element.removeEventListener("load", imageLoadedInFirstDocument, false); |
| document.body.removeChild(element); |
| subdocument.body.appendChild(element); |
| element.addEventListener("load", imageLoadedInSecondDocument, false); |
| } |
| |
| function testNextType() |
| { |
| if (i >= types.length) { |
| document.body.removeChild(subframe); |
| finishJSTest(); |
| return; |
| } |
| var type = types[i++]; |
| element = document.createElement(type); |
| if (type == "input") |
| element.type = "image"; |
| element.data = "resources/test-load.jpg"; |
| element.src = "resources/test-load.jpg"; |
| document.body.appendChild(element); |
| element.addEventListener("load", imageLoadedInFirstDocument, false); |
| } |
| |
| testNextType(); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |