| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 | |
| 3 <script> | |
| 4 var clicked = false; | |
| 5 var count = 0; | |
| 6 var requestId = 0; | |
| 7 | |
| 8 if (window.testRunner) { | |
| 9 testRunner.dumpAsText(); | |
| 10 testRunner.setCanOpenWindows(); | |
| 11 testRunner.waitUntilDone(); | |
| 12 } | |
| 13 | |
| 14 function log(message) | |
| 15 { | |
| 16 var console = document.getElementById("console"); | |
| 17 console.appendChild(document.createTextNode(message + "\n")); | |
| 18 } | |
| 19 | |
| 20 function click(newwindow, image) | |
| 21 { | |
| 22 var e = newwindow.document.createEvent("MouseEvent"); | |
| 23 e.initMouseEvent("click", true, true, newwindow, 1, 1, 1, 1, 1, false, false
, false, false, 0, newwindow.document); | |
| 24 image.dispatchEvent(e); | |
| 25 } | |
| 26 | |
| 27 window.onload = function() | |
| 28 { | |
| 29 var newwindow = window.open("resources/flowchart.jpg"); | |
| 30 if (window.testRunner) | |
| 31 testRunner.useUnfortunateSynchronousResizeMode(); | |
| 32 newwindow.onload = function() { | |
| 33 | |
| 34 newwindow.onresize = function() { | |
| 35 var image = newwindow.document.querySelector("img"); | |
| 36 if (image.clientWidth == 0) { | |
| 37 // On GTK+, sometimes the resize callback fires before the GTK | |
| 38 // window has finished resizing. If that happens, try to resize | |
| 39 // again. | |
| 40 requestId = newWindow.requestAnimationFrame(function() { | |
| 41 newwindow.resizeTo(100, 100); | |
| 42 if (requestId) | |
| 43 newwindow.cancelAnimationFrame(requestId); | |
| 44 requestId = 0; | |
| 45 }); | |
| 46 return; | |
| 47 } | |
| 48 | |
| 49 if (window.eventSender) { | |
| 50 if (!clicked) { | |
| 51 // Zoom in level 1 | |
| 52 eventSender.zoomPageIn(); | |
| 53 var w = Math.round(image.clientWidth); | |
| 54 var h = Math.round(image.clientHeight); | |
| 55 log("Size at zoomed in level : " + w + " x " + h); | |
| 56 clicked = true; | |
| 57 count++; | |
| 58 click(newwindow, image); | |
| 59 } else { | |
| 60 var w = Math.round(image.clientWidth); | |
| 61 var h = Math.round(image.clientHeight); | |
| 62 log("Size at zoomed level after scale up click " + count + "
: " + w + " x " + h); | |
| 63 if (count == 3) | |
| 64 testRunner.notifyDone(); | |
| 65 | |
| 66 // Restore the image size | |
| 67 click(newwindow, image); | |
| 68 count++; | |
| 69 // Brings to normal zoom | |
| 70 eventSender.zoomPageOut(); | |
| 71 // Zoom out level 1 | |
| 72 eventSender.zoomPageOut(); | |
| 73 // Restore the image size | |
| 74 var w = Math.round(image.clientWidth); | |
| 75 var h = Math.round(image.clientHeight); | |
| 76 log("Size at zoomed out level after click " + count + " (Ima
ge restored): " + w + " x " + h); | |
| 77 count++; | |
| 78 click(newwindow, image); | |
| 79 } | |
| 80 } | |
| 81 }; | |
| 82 | |
| 83 newwindow.resizeTo(100, 100); | |
| 84 }; | |
| 85 } | |
| 86 </script> | |
| 87 <p>This tests that on a zoomed page, click to scale up / down works fine. This
test requires testRunner to run. To test manually, open <a href="resources/dice
.png">this image</a> in a browser window, resize the window to 100px tall and zo
om out and click on the image to scale it up.</p> | |
| 88 <pre id="console"></pre> | |
| OLD | NEW |