Title: [246426] trunk/LayoutTests
Revision
246426
Author
[email protected]
Date
2019-06-13 20:50:31 -0700 (Thu, 13 Jun 2019)

Log Message

[ContentChangeObserver] LayoutTest/fast/content-observation/click-event-suppression-on-content-change.html is failing
https://bugs.webkit.org/show_bug.cgi?id=198848
<rdar://problem/51689630>

Reviewed by Dean Jackson.

1. Enable content observation for this test.
2. Add role attribute to trigger fast click-through -less flaky with the sleeps.
3. Use UIHelper functions.

* fast/content-observation/click-event-suppression-on-content-change.html: Removed.
* fast/events/touch/ios/content-observation/click-event-suppression-on-content-change-expected.txt: Renamed from LayoutTests/fast/content-observation/click-event-suppression-on-content-change-expected.txt.
* fast/events/touch/ios/content-observation/click-event-suppression-on-content-change.html: Added.

Modified Paths

Added Paths

Removed Paths

  • trunk/LayoutTests/fast/content-observation/

Diff

Modified: trunk/LayoutTests/ChangeLog (246425 => 246426)


--- trunk/LayoutTests/ChangeLog	2019-06-14 03:06:20 UTC (rev 246425)
+++ trunk/LayoutTests/ChangeLog	2019-06-14 03:50:31 UTC (rev 246426)
@@ -1,3 +1,19 @@
+2019-06-13  Zalan Bujtas  <[email protected]>
+
+        [ContentChangeObserver] LayoutTest/fast/content-observation/click-event-suppression-on-content-change.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=198848
+        <rdar://problem/51689630>
+
+        Reviewed by Dean Jackson.
+
+        1. Enable content observation for this test.
+        2. Add role attribute to trigger fast click-through -less flaky with the sleeps. 
+        3. Use UIHelper functions.
+
+        * fast/content-observation/click-event-suppression-on-content-change.html: Removed.
+        * fast/events/touch/ios/content-observation/click-event-suppression-on-content-change-expected.txt: Renamed from LayoutTests/fast/content-observation/click-event-suppression-on-content-change-expected.txt.
+        * fast/events/touch/ios/content-observation/click-event-suppression-on-content-change.html: Added.
+
 2019-06-13  Daniel Bates  <[email protected]>
 
         [iOS] Normalize test result of fast/events/ios/keyboard-event-key-attribute.html to handle possible modifier dispatch

Copied: trunk/LayoutTests/fast/events/touch/ios/content-observation/click-event-suppression-on-content-change-expected.txt (from rev 246425, trunk/LayoutTests/fast/content-observation/click-event-suppression-on-content-change-expected.txt) (0 => 246426)


--- trunk/LayoutTests/fast/events/touch/ios/content-observation/click-event-suppression-on-content-change-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/events/touch/ios/content-observation/click-event-suppression-on-content-change-expected.txt	2019-06-14 03:50:31 UTC (rev 246426)
@@ -0,0 +1,14 @@
+Test that if document is visibly mutated in mouseover handler then synthetic click is not generated until the next tap.
+Tapping once
+mouseover
+mouseclick
+Tapping again
+mouseclick
+Tapping out
+mouseout
+Enabling mutation on mouseover
+Tapping once
+mouseover
+Tapping again
+mouseclick
+

Added: trunk/LayoutTests/fast/events/touch/ios/content-observation/click-event-suppression-on-content-change.html (0 => 246426)


--- trunk/LayoutTests/fast/events/touch/ios/content-observation/click-event-suppression-on-content-change.html	                        (rev 0)
+++ trunk/LayoutTests/fast/events/touch/ios/content-observation/click-event-suppression-on-content-change.html	2019-06-14 03:50:31 UTC (rev 246426)
@@ -0,0 +1,84 @@
+<!DOCTYPE html><!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<html>
+<head>
+<meta name="viewport" content="width=device-width initial-scale=1 user-scalable=no">
+<script src=""
+<style>
+#neutral { position:absolute; top:0px; left:100px; width:100px; height:100px; border:2px solid blue; }
+#testDiv { position:absolute; top:100px; left:100px; width:100px; height:100px; border:2px solid blue; }
+#testDiv div { border: 2px solid red; width: 10px; height: 10px; }
+</style>
+<script>
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    testRunner.waitUntilDone();
+}
+if (window.internals)
+    internals.settings.setContentChangeObserverEnabled(true);
+
+var outputText = "";
+
+function output(text) {
+    outputText += text + '<br>';
+}
+
+var mutateOnMouseOver = false;
+
+function mouseOver() {
+    if (mutateOnMouseOver) {
+        let newContent = document.createElement("div");
+        newContent.addEventListener("click", function( event ) {
+        }, false);
+        document.querySelector('#testDiv').appendChild(newContent);
+    }
+    output('mouseover');
+}
+function mouseOut() {
+    output('mouseout');
+}
+function mouseClick() {
+    output('mouseclick');
+}
+
+async function test() {
+    if (!window.testRunner || !window.testRunner.runUIScript)
+        return;
+    // Test tapping in a div.
+    output("Tapping once");
+    await UIHelper.tapAt(150, 150);
+    await UIHelper.delayFor(50);
+
+    output("Tapping again");
+    await UIHelper.tapAt(150, 150);
+    await UIHelper.delayFor(50);
+
+    output("Tapping out");
+    await UIHelper.tapAt(150, 50);
+    await UIHelper.delayFor(50);
+
+    output("Enabling mutation on mouseover");
+    testDiv.removeAttribute("role"); 
+    mutateOnMouseOver = true;
+    output("Tapping once");
+    await UIHelper.tapAt(150, 150);
+    await UIHelper.delayFor(50);
+
+    output("Tapping again");
+    await UIHelper.tapAt(150, 150);
+    await UIHelper.delayFor(50);
+
+    document.querySelector('#output').innerHTML += outputText;
+    testRunner.notifyDone();
+}
+
+</script>
+</head>
+<body _onload_="test()">
+    <div>Test that if document is visibly mutated in mouseover handler then synthetic click is not generated until the next tap.</div>
+    <div id='neutral' _onmouseover_='' _onmouseout_='' _onclick_=''>
+    </div>
+    <div role="checkbox" id='testDiv' _onmouseover_='mouseOver()' _onmouseout_='mouseOut()' _onclick_='mouseClick()'>
+    </div>
+    <div id='output'></div>
+</body>
+</html>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to