| <html manifest="resources/foreign-fallback.manifest"> |
| <body> |
| <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=44406">bug 44406</a>: |
| Application Cache crash when a fallback document has a manifest URL.</p> |
| <div id="result">Testing...</div> |
| <script> |
| if (window.testRunner) { |
| testRunner.waitUntilDone(); |
| testRunner.dumpAsText(); |
| } |
| |
| |
| applicationCache.addEventListener('cached', test, false); |
| applicationCache.addEventListener('noupdate', test, false); |
| |
| function test() |
| { |
| var ifr = document.createElement("iframe"); |
| ifr.setAttribute("src", "resources/foreign-fallback/does-not-exist.html"); |
| document.body.appendChild(ifr); |
| |
| // I couldn't find any event that would fire on frame loading failure, so let's poll. |
| setTimeout(frameDone, 100); |
| } |
| |
| function frameDone() |
| { |
| try { |
| var frameContent = frames[0].document.documentElement.innerHTML; |
| if (frameContent.match("Not Found")) |
| document.getElementById("result").innerHTML = "PASS"; |
| else if (frameContent.match("FAIL")) |
| document.getElementById("result").innerHTML = "FAIL"; |
| else |
| throw "Try again"; |
| |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } catch (ex) { |
| // Not done yet. |
| setTimeout(frameDone, 100); |
| } |
| } |
| |
| </script> |
| <p>The frame below should display a Not Found error - the fallback entry is foreign, so it shouldn't be used for main resource.</p> |
| </body> |
| </html> |