123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <!DOCTYPE HTML>
- <html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=388794
- -->
- <head>
- <title>Test for Bug 388794</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <style>
- input { padding: 0; margin: 0; border: none; }
- </style>
- </head>
- <body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=388794">Mozilla Bug 388794</a>
- <p id="display">
- <form action="data:text/html," target="test1" method="GET">
- <input id="test1image" type="image" name="testImage">
- </form>
- <form action="data:text/html," target="test2" method="GET">
- <input id="test2image" type="image">
- </form>
- <form action="data:text/html," target="test3" method="GET">
- <input id="test3image" type="image" src="nnc_lockup.gif" name="testImage">
- </form>
- <form action="data:text/html," target="test4" method="GET">
- <input id="test4image" type="image" src="nnc_lockup.gif">
- </form>
- <form action="data:text/html," target="test5" method="GET">
- <input id="test5image" type="image" src="nnc_lockup.gif" name="testImage">
- </form>
- <form action="data:text/html," target="test6" method="GET">
- <input id="test6image" type="image" src="nnc_lockup.gif">
- </form>
- <iframe name="test1" id="test1"></iframe>
- <iframe name="test2" id="test2"></iframe>
- <iframe name="test3" id="test3"></iframe>
- <iframe name="test4" id="test4"></iframe>
- <iframe name="test5" id="test5"></iframe>
- <iframe name="test6" id="test6"></iframe>
- </p>
- <div id="content" style="display: none">
-
- </div>
- <pre id="test">
- <script type="application/javascript">
- /** Test for Bug 388794 **/
- SimpleTest.waitForExplicitFinish();
- var pendingLoads = 0;
- /* Use regex due to rounding error in Fennec with C++APZ enabled */
- var hrefs = {
- test1: /data:text\/html,\?testImage\.x=0&testImage\.y=0/,
- test2: /data:text\/html,\?x=0&y=0/,
- test3: /data:text\/html,\?testImage\.x=0&testImage\.y=0/,
- test4: /data:text\/html,\?x=0&y=0/,
- test5: /data:text\/html,\?testImage\.x=[4-6]&testImage\.y=[4-6]/,
- test6: /data:text\/html,\?x=[4-6]&y=[4-6]/,
- };
- function submitForm(idNum) {
- $("test"+idNum).setAttribute("onload", "frameLoaded(this)");
- $("test" + idNum + "image").focus();
- sendKey("return");
- }
- function submitFormMouse(idNum) {
- $("test"+idNum).setAttribute("onload", "frameLoaded(this)");
- // Use 4.99 instead of 5 to guard against the possibility that the
- // image's 'top' is exactly N + 0.5 pixels from the root. In that case
- // we'd round up the widget mouse coordinate to N + 6, which relative
- // to the image would be 5.5, which would get rounded up to 6 when
- // submitting the form. Instead we round the widget mouse coordinate to
- // N + 5, which relative to the image would be 4.5 which gets rounded up
- // to 5.
- synthesizeMouse($("test" + idNum + "image"), 4.99, 4.99, {});
- }
- addLoadEvent(function() {
- // Need the timeout so painting has a chance to be unsuppressed.
- setTimeout(function() {
- submitForm(++pendingLoads);
- submitForm(++pendingLoads);
- submitForm(++pendingLoads);
- submitForm(++pendingLoads);
- submitFormMouse(++pendingLoads);
- submitFormMouse(++pendingLoads);
- }, 0);
- });
- function frameLoaded(frame) {
- ok(hrefs[frame.name].test(frame.contentWindow.location.href),
- "Unexpected href for frame " + frame.name, "expected to match: " + hrefs[frame.name].toString() + " got: " + frame.contentWindow.location.href);
- if (--pendingLoads == 0) {
- SimpleTest.finish();
- }
- }
- </script>
- </pre>
- </body>
- </html>
|