| <!DOCTYPE html> |
| <title>Tests that server-side image maps with zooms and transforms produce the right click coordinates.</title> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <style> |
| img { |
| position: absolute; |
| left: 50px; |
| top: 60px; |
| width: 100px; |
| height: 50px; |
| border-left: 13px solid; |
| border-top: 13px solid; |
| border-right: 10px solid; |
| border-bottom: 10px solid; |
| padding-left: 17px; |
| padding-top: 17px; |
| padding-right: 10px; |
| padding-bottom: 10px; |
| transform: rotate(45deg); |
| } |
| </style> |
| <div style="zoom: 2;"><a href="#"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" ismap></a></div> |
| <script> |
| async_test(function(t) { |
| window.onload = t.step_func_done(function() { |
| function testClick(x, y, expectedHash) { |
| location.hash = '#'; |
| eventSender.mouseMoveTo(x, y); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| assert_equals(location.hash, expectedHash); |
| } |
| if (window.eventSender && window.internals) { |
| internals.setPageScaleFactor(1.25); // pinch scale |
| eventSender.setPageZoomFactor(1.5, 0, 0); // browser zoom |
| testClick(402, 122, '#?0,0'); // top left border |
| testClick(407, 204, '#?0,0'); // top left padding |
| testClick(517, 562, '#?82,39'); // content area |
| testClick(539, 662, '#?105,54'); // lower right padding |
| testClick(540, 714, '#?115,63'); // lower right border |
| testClick(179, 350, '#?0,63'); // lower left border |
| testClick(248, 362, '#?0,52'); // lower left padding |
| testClick(695, 488, '#?102,0'); // upper right padding |
| testClick(759, 479, '#?112,0'); // upper right border |
| } |
| }); |
| }); |
| </script> |