| <html> |
| <head> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| var object1Result = ""; |
| var object2Result = ""; |
| var embed3Result = ""; |
| var embed4Result = ""; |
| var object5Result = ""; |
| var notified = false; |
| |
| document.addEventListener("beforeload", function(event) { |
| if (event.url == "") |
| return; |
| |
| if (event.target.id == "object1") { |
| object1Result = (event.url == "object-attr" ? "does" : "does not"); |
| } else if (event.target.id == "object2") { |
| object2Result = (event.url == "object-param" ? "does" : "does not"); |
| } else if (event.target.id == "embed3") { |
| embed3Result = (event.url == "embed-attr" ? "does" : "does not"); |
| } else if (event.target.id == "embed4") { |
| embed4Result = (event.url == "embed-attr" ? "does" : "does not"); |
| } else if (event.target.id == "object5") { |
| object5Result = (event.url == "object-param" ? "does" : "does not"); |
| } |
| |
| if (!notified && object1Result != "" && object2Result != "" && embed3Result != "" && embed4Result != "" && object5Result != "") { |
| debug("An <object> with a 'data' @attr and a 'src' <param> should load the URL from the 'data' @attr and " + object1Result + "."); |
| debug("An <object> with a 'src' <param> should load the URL from the 'src' <param> and " + object2Result + "."); |
| debug("An <object> with no URL specified and a nested <embed> should load the URL from the 'src' @attr of the <embed> and " + embed3Result + "."); |
| debug("An <object> with a URL specified in a 'src' <param> and a nested <embed> should load the URL from the 'src' @attr of the <embed> and " + embed3Result + "."); |
| debug("An <object> with a URL specified in a 'src' <param> and a MIME type specified in a 'type' <param> should load the URL from the 'src' <param> and " + object5Result + "."); |
| notified = true; |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| }, true); |
| |
| function debug(str) { |
| document.getElementById('console').innerHTML += str + "<br>"; |
| } |
| </script> |
| </head> |
| <body> |
| <p>This test verifies that the right URL is loaded when there is an <object> with a 'src' <param> and a fallback <embed>.</p> |
| <div id="console"></div> |
| <object id="object1" type="application/x-webkit-test-netscape" data="object-attr"> |
| <param name="src" value="object-param"></param> |
| <embed id="embed1" type="application/x-webkit-test-netscape" src="embed-attr"> |
| </object> |
| <object id="object2" type="application/x-webkit-test-netscape"> |
| <param name="movie" value="object-param"></param> |
| <embed id="embed2" type="application/x-webkit-test-netscape" src="embed-attr"> |
| </object> |
| <object id="object3"> |
| <embed id="embed3" type="application/x-webkit-test-netscape" src="embed-attr"> |
| </object> |
| <object id="object4"> |
| <param name="code" value="object-param"></param> |
| <embed id="embed4" type="application/x-webkit-test-netscape" src="embed-attr"> |
| </object> |
| <object id="object5"> |
| <param name="url" value="object-param"></param> |
| <param name="type" value="application/x-webkit-test-netscape"></param> |
| </object> |
| </body> |
| </html> |