diff options
Diffstat (limited to 'layout/base/tests/bug583889_inner1.html')
-rw-r--r-- | layout/base/tests/bug583889_inner1.html | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/layout/base/tests/bug583889_inner1.html b/layout/base/tests/bug583889_inner1.html new file mode 100644 index 0000000000..7a223569d2 --- /dev/null +++ b/layout/base/tests/bug583889_inner1.html @@ -0,0 +1,64 @@ +<html> +<body> +<iframe id="inner" style="height: 10px; width: 10px"></iframe> +<div style="width: 1000px; height: 1000px"></div> +<script type="application/javascript"> +function grabEventAndGo(event) { + gen.next(event); +} + +function waitAsync() { + setTimeout(function() { gen.next() }, 0); +} + +function postPos() { + parent.postMessage(JSON.stringify({ top: document.body.scrollTop, + left: document.body.scrollLeft }), + "*"); +} + +function* runTest() { + var inner = document.getElementById("inner"); + window.onload = grabEventAndGo; + // Wait for onLoad event. + yield; + + document.body.scrollTop = 300; + document.body.scrollLeft = 300; + + postPos(); + + inner.src = "bug583889_inner2.html#id1"; + inner.onload = grabEventAndGo; + // Let parent process sent message. + // Wait for onLoad event from 'inner' iframe. + yield; + + postPos(); + + inner.onload = null; + dump("hi\n"); + inner.contentWindow.location = "bug583889_inner2.html#id2" + waitAsync(); + // Let parent process sent message. + // Let 'inner' iframe update itself. + yield; + + postPos(); + + inner.contentWindow.location.hash = "#id3" + waitAsync(); + // Let parent process sent message. + // Let 'inner' iframe update itself. + yield; + + postPos(); + + parent.postMessage("done", "*"); +} + +var gen = runTest(); +gen.next(); +</script> +</body> +</html> |