| <!DOCTYPE html> |
| |
| <html> |
| <head> |
| <style> |
| .container { |
| zoom: 2.3; |
| } |
| |
| #inside-zoom-box { |
| position: absolute; |
| left: 18px; |
| top: 150px; |
| height: 50px; |
| width: 40px; |
| background-color: rgba(0, 0, 0, 0.1); |
| } |
| |
| #outside-zoom-box { |
| position: absolute; |
| left: 21px; |
| top: 150px; |
| height: 50px; |
| width: 40px; |
| background-color: rgba(0, 0, 0, 0.1); |
| } |
| </style> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("Tests getBoundingClient rect with both CSS zoom and page zoom"); |
| |
| var box; |
| var bounds; |
| function doTest() |
| { |
| if (window.eventSender) { |
| eventSender.zoomPageIn(); |
| eventSender.zoomPageIn(); |
| } else { |
| debug('This tests uses eventSender to zoom in twice'); |
| } |
| |
| box = document.getElementById('inside-zoom-box'); |
| bounds = box.getBoundingClientRect(); |
| |
| debug(''); |
| debug('Testing box with CSS zoom on an ancestor') |
| shouldBeEqualToString('bounds.left.toFixed(2)', '18.00'); |
| shouldBeEqualToString('bounds.top.toFixed(2)', '150.00'); |
| shouldBeEqualToString('bounds.width.toFixed(2)', '40.00'); |
| shouldBeEqualToString('bounds.height.toFixed(2)', '50.00'); |
| |
| box = document.getElementById('outside-zoom-box'); |
| bounds = box.getBoundingClientRect(); |
| |
| debug(''); |
| debug('Testing box without CSS zoom on an ancestor'); |
| shouldBeEqualToString('bounds.left.toFixed(2)', '21.00'); |
| shouldBeEqualToString('bounds.top.toFixed(2)', '150.00'); |
| shouldBeEqualToString('bounds.width.toFixed(2)', '40.00'); |
| shouldBeEqualToString('bounds.height.toFixed(2)', '50.00'); |
| } |
| |
| window.addEventListener('load', doTest, false); |
| </script> |
| </head> |
| <body> |
| <div class="container"> |
| <div id="inside-zoom-box"></div> |
| </div> |
| <div id="outside-zoom-box"></div> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |