Title: [215820] trunk/LayoutTests
Revision
215820
Author
[email protected]
Date
2017-04-26 12:03:46 -0700 (Wed, 26 Apr 2017)

Log Message

http/tests/frame-throttling tests failing on iOS
https://bugs.webkit.org/show_bug.cgi?id=171314
rdar://problem/31691134

Reviewed by Chris Dumez.

The tests use UIHelper.activateAt(), which in DumpRenderTree dispatches mouse events via EventSender, and in iOS WK2 uses
UIScriptController to dispatch touch events. The former just use standard hit testing, which works fine.
The latter go via Frame::qualifyingNodeAtViewportLocation(), which calls ancestorRespondingToClickEvents()
and does area hit testing, and this fails to find anything clickable inside the <iframe>s.

Fix by putting a div with an onlick handler inside the iframes, and adjusting the click
locations.

* http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html:
* http/tests/frame-throttling/resources/requestAnimationFrame-frame.html:
* http/tests/frame-throttling/resources/timer-throttling-frame.html:
* http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (215819 => 215820)


--- trunk/LayoutTests/ChangeLog	2017-04-26 19:01:58 UTC (rev 215819)
+++ trunk/LayoutTests/ChangeLog	2017-04-26 19:03:46 UTC (rev 215820)
@@ -1,3 +1,24 @@
+2017-04-26  Simon Fraser  <[email protected]>
+
+        http/tests/frame-throttling tests failing on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=171314
+        rdar://problem/31691134
+
+        Reviewed by Chris Dumez.
+
+        The tests use UIHelper.activateAt(), which in DumpRenderTree dispatches mouse events via EventSender, and in iOS WK2 uses
+        UIScriptController to dispatch touch events. The former just use standard hit testing, which works fine.
+        The latter go via Frame::qualifyingNodeAtViewportLocation(), which calls ancestorRespondingToClickEvents()
+        and does area hit testing, and this fails to find anything clickable inside the <iframe>s.
+
+        Fix by putting a div with an onlick handler inside the iframes, and adjusting the click
+        locations.
+
+        * http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html:
+        * http/tests/frame-throttling/resources/requestAnimationFrame-frame.html:
+        * http/tests/frame-throttling/resources/timer-throttling-frame.html:
+        * http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html:
+
 2017-04-26  Matt Lewis  <[email protected]>
 
         Removing Flaky timeout expectation for swipe/main-frame-pinning-requirement.html.

Modified: trunk/LayoutTests/http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html (215819 => 215820)


--- trunk/LayoutTests/http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html	2017-04-26 19:01:58 UTC (rev 215819)
+++ trunk/LayoutTests/http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html	2017-04-26 19:03:46 UTC (rev 215820)
@@ -27,9 +27,9 @@
 
     function interactWithSubframes()
     {
-        UIHelper.activateAt(crossOriginFrame.offsetLeft + 5, crossOriginFrame.offsetTop + 5).then(function() {
+        UIHelper.activateAt(crossOriginFrame.offsetLeft + 20, crossOriginFrame.offsetTop + 20).then(function() {
             debug("Interacted with cross-origin frame");
-            UIHelper.activateAt(sameOriginFrame.offsetLeft + 5, sameOriginFrame.offsetTop + 5).then(function() {
+            UIHelper.activateAt(sameOriginFrame.offsetLeft + 20, sameOriginFrame.offsetTop + 20).then(function() {
                 debug("Interacted with same-origin frame");
                 messageHandler = checkUnthrottledAfterInteraction;
                 messagesReceived = 0;

Modified: trunk/LayoutTests/http/tests/frame-throttling/resources/requestAnimationFrame-frame.html (215819 => 215820)


--- trunk/LayoutTests/http/tests/frame-throttling/resources/requestAnimationFrame-frame.html	2017-04-26 19:01:58 UTC (rev 215819)
+++ trunk/LayoutTests/http/tests/frame-throttling/resources/requestAnimationFrame-frame.html	2017-04-26 19:03:46 UTC (rev 215820)
@@ -28,6 +28,7 @@
     </script>
 </head>
 <body>
+    <div style="height: 100px; width: 100px; background: silver" _onclick_=""></div>
     Child frame.
 </body>
 </html>

Modified: trunk/LayoutTests/http/tests/frame-throttling/resources/timer-throttling-frame.html (215819 => 215820)


--- trunk/LayoutTests/http/tests/frame-throttling/resources/timer-throttling-frame.html	2017-04-26 19:01:58 UTC (rev 215819)
+++ trunk/LayoutTests/http/tests/frame-throttling/resources/timer-throttling-frame.html	2017-04-26 19:03:46 UTC (rev 215820)
@@ -31,6 +31,7 @@
     </script>
 </head>
 <body>
+    <div style="height: 100px; width: 100px; background: silver" _onclick_=""></div>
     Child frame.
 </body>
 </html>

Modified: trunk/LayoutTests/http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html (215819 => 215820)


--- trunk/LayoutTests/http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html	2017-04-26 19:01:58 UTC (rev 215819)
+++ trunk/LayoutTests/http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html	2017-04-26 19:03:46 UTC (rev 215820)
@@ -27,9 +27,9 @@
 
     function interactWithSubframes()
     {
-        UIHelper.activateAt(crossOriginFrame.offsetLeft + 5, crossOriginFrame.offsetTop + 5).then(function() {
+        UIHelper.activateAt(crossOriginFrame.offsetLeft + 20, crossOriginFrame.offsetTop + 20).then(function() {
             debug("Interacted with cross-origin frame");
-            UIHelper.activateAt(sameOriginFrame.offsetLeft + 5, sameOriginFrame.offsetTop + 5).then(function() {
+            UIHelper.activateAt(sameOriginFrame.offsetLeft + 20, sameOriginFrame.offsetTop + 20).then(function() {
                 debug("Interacted with same-origin frame");
                 messageHandler = checkUnthrottledAfterInteraction;
                 messagesReceived = 0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to