| <!doctype html> |
| <html> |
| <head> |
| <title>img ismap attribute coordinate origin</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| iframe { width: 500px; height: 500px; } |
| </style> |
| </head> |
| <body> |
| <iframe></iframe> |
| <div id="log"></div> |
| <script type="text/javascript"> |
| tests = [ |
| { |
| file: "img-ismap-coordinates-iframe-inside.html", |
| }, |
| { |
| test: async_test("Coordinates within the content box of an image map have origin of the context box"), |
| resultMinXY: 0, |
| resultMaxXY: 96, |
| }, |
| { |
| file: "img-ismap-coordinates-iframe-before.html", |
| }, |
| { |
| test: async_test("Coordinates within the margin/padding (top-left) of the image map are clamped to zero"), |
| resultMinXY: 0, |
| resultMaxXY: 0, |
| }, |
| { |
| file: "img-ismap-coordinates-iframe-after.html", |
| }, |
| { |
| test: async_test("Coordinates within the margin/padding (bottom-right) of the image map have origin in the content box"), |
| resultMinXY: 97, |
| resultMaxXY: 146, |
| } |
| ]; |
| testIndex = 0; |
| |
| var iframe = document.querySelector('iframe'); |
| iframe.onload = function testInit() { |
| if (testIndex % 2 == 0) { |
| testIndex++; |
| return; |
| } |
| // User clicked on a results... |
| var url = iframe.contentWindow.location.toString(); |
| var test = tests[testIndex].test; |
| var minXY = tests[testIndex].resultMinXY; |
| var maxXY = tests[testIndex].resultMaxXY; |
| testIndex++; |
| if (testIndex < tests.length) |
| iframe.src = tests[testIndex].file; // Advance the test... |
| // Validate the last test's results... |
| test.step(function () { |
| var i = url.indexOf("?"); |
| assert_not_equals(i, -1); |
| var coordsStr = url.substr(i+1); |
| var i = coordsStr.indexOf(','); |
| assert_not_equals(i, -1); |
| var x = parseFloat(coordsStr.substring(0, i)); |
| var y = parseFloat(coordsStr.substring(i+1)); |
| assert_greater_than_equal(x, minXY); |
| assert_less_than_equal(x, maxXY); |
| assert_greater_than_equal(y, minXY); |
| assert_less_than_equal(y, maxXY); |
| test.done(); |
| }); |
| if (testIndex >= tests.length) |
| iframe.style.display = "none"; |
| } |
| iframe.src = tests[0].file; |
| </script> |
| </body> |
| </html> |