OLD | NEW |
1 description("This tests that page scaling and CSS transforms do not affect mouse
event pageX and pageY coordinates for " + | 1 description("This tests that page scaling and CSS transforms do not affect mouse
event pageX and pageY coordinates for " + |
2 "content embedded in an iframe."); | 2 "content embedded in an iframe."); |
3 | 3 |
4 var html = document.documentElement; | 4 var html = document.documentElement; |
5 | 5 |
6 var iframe = document.createElement("iframe"); | 6 var iframe = document.createElement("iframe"); |
7 iframe.style.border = "none"; | 7 iframe.style.border = "none"; |
8 iframe.style.width = "200px"; | 8 iframe.style.width = "200px"; |
9 iframe.style.height = "200px"; | 9 iframe.style.height = "200px"; |
10 iframe.style.background = "green"; | 10 iframe.style.background = "green"; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 shouldBeEqualToString("eventLog", expectedString); | 45 shouldBeEqualToString("eventLog", expectedString); |
46 clearEventLog(); | 46 clearEventLog(); |
47 debug(""); | 47 debug(""); |
48 } | 48 } |
49 | 49 |
50 function iframeLoaded() { | 50 function iframeLoaded() { |
51 // Add the div to the iframe. | 51 // Add the div to the iframe. |
52 div.addEventListener("click", appendEventLog, false); | 52 div.addEventListener("click", appendEventLog, false); |
53 iframe.contentWindow.document.body.insertBefore(div, iframe.contentWindow.docu
ment.body.firstChild); | 53 iframe.contentWindow.document.body.insertBefore(div, iframe.contentWindow.docu
ment.body.firstChild); |
54 | 54 |
55 if (window.eventSender && window.internals) { | 55 if (window.eventSender) { |
56 eventSender.mouseMoveTo(10, 10); | 56 eventSender.mouseMoveTo(10, 10); |
57 // We are clicking in the same position on screen. As we scale or transform
the page, | 57 // We are clicking in the same position on screen. As we scale or transform
the page, |
58 // we expect the pageX and pageY event coordinates to change because differe
nt | 58 // we expect the pageX and pageY event coordinates to change because differe
nt |
59 // parts of the document are under the mouse. | 59 // parts of the document are under the mouse. |
60 | 60 |
61 testEvents(0, "Unscaled", "click(10, 10)"); | 61 testEvents(0, "Unscaled", "click(10, 10)"); |
62 | 62 |
63 window.internals.setPageScaleFactor(0.5, 0, 0); | 63 window.eventSender.setPageScaleFactor(0.5, 0, 0); |
64 testEvents(0, "setPageScale(0.5)", "click(20, 20)"); | 64 testEvents(0, "setPageScale(0.5)", "click(20, 20)"); |
65 | 65 |
66 window.internals.setPageScaleFactor(1.0, 0, 0); | 66 window.eventSender.setPageScaleFactor(1.0, 0, 0); |
67 html.style["-webkit-transform"] = "scale(0.5, 2.0)"; | 67 html.style["-webkit-transform"] = "scale(0.5, 2.0)"; |
68 html.style["-webkit-transform-origin"] = "0 0"; | 68 html.style["-webkit-transform-origin"] = "0 0"; |
69 testEvents(0, "CSS scale(0.5, 2.0)", "click(20, 5)"); | 69 testEvents(0, "CSS scale(0.5, 2.0)", "click(20, 5)"); |
70 | 70 |
71 window.internals.setPageScaleFactor(0.5, 0, 0); | 71 window.eventSender.setPageScaleFactor(0.5, 0, 0); |
72 testEvents(0, "setPageScale(0.5), CSS scale(0.5, 2.0)", "click(40, 10)"); | 72 testEvents(0, "setPageScale(0.5), CSS scale(0.5, 2.0)", "click(40, 10)"); |
73 } | 73 } |
74 | 74 |
75 finishJSTest(); | 75 finishJSTest(); |
76 } | 76 } |
77 | 77 |
78 // Mouse events only work after an initial layout | 78 // Mouse events only work after an initial layout |
79 document.body.offsetLeft; | 79 document.body.offsetLeft; |
80 | 80 |
81 // Add the iframe to the document. | 81 // Add the iframe to the document. |
82 iframe.src = "resources/page-scaled-mouse-click-iframe-inner.html"; | 82 iframe.src = "resources/page-scaled-mouse-click-iframe-inner.html"; |
83 document.body.insertBefore(iframe, document.body.firstChild); | 83 document.body.insertBefore(iframe, document.body.firstChild); |
84 | 84 |
85 window.jsTestIsAsync = true; | 85 window.jsTestIsAsync = true; |
OLD | NEW |