Title: [203321] trunk/LayoutTests
Revision
203321
Author
[email protected]
Date
2016-07-15 21:17:21 -0700 (Fri, 15 Jul 2016)

Log Message

[mac] LayoutTest fast/css/ancestor-of-hovered-element-detached.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=159173

Reviewed by Alexey Proskuryakov.

The test ancestor-of-hovered-element-detached.html is not reliably
covering r202324.

In the case of that test, the first style update is done with
the flag TeardownType::KeepHoverAndActive. This keeps the ":hover" state
set despite the subtree losing their renderer.
This looks like a serious issue that should be tested separately.

* fast/css/ancestor-of-hovered-element-removed.html:
The :hover update timer is actually a zero timer.
It is reasonable to expect a full update after one frame update.

* fast/css/ancestor-of-hovered-element-detached-expected.txt: Removed.
* fast/css/ancestor-of-hovered-element-detached.html: Removed.
* platform/ios-simulator/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (203320 => 203321)


--- trunk/LayoutTests/ChangeLog	2016-07-16 04:16:30 UTC (rev 203320)
+++ trunk/LayoutTests/ChangeLog	2016-07-16 04:17:21 UTC (rev 203321)
@@ -1,3 +1,27 @@
+2016-07-15  Benjamin Poulain  <[email protected]>
+
+        [mac] LayoutTest fast/css/ancestor-of-hovered-element-detached.html is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=159173
+
+        Reviewed by Alexey Proskuryakov.
+
+        The test ancestor-of-hovered-element-detached.html is not reliably
+        covering r202324.
+
+        In the case of that test, the first style update is done with
+        the flag TeardownType::KeepHoverAndActive. This keeps the ":hover" state
+        set despite the subtree losing their renderer.
+        This looks like a serious issue that should be tested separately.
+
+        * fast/css/ancestor-of-hovered-element-removed.html:
+        The :hover update timer is actually a zero timer.
+        It is reasonable to expect a full update after one frame update.
+
+        * fast/css/ancestor-of-hovered-element-detached-expected.txt: Removed.
+        * fast/css/ancestor-of-hovered-element-detached.html: Removed.
+        * platform/ios-simulator/TestExpectations:
+        * platform/mac/TestExpectations:
+
 2016-07-15  Myles C. Maxfield  <[email protected]>
 
         Test gardening after r203314

Deleted: trunk/LayoutTests/fast/css/ancestor-of-hovered-element-detached-expected.txt (203320 => 203321)


--- trunk/LayoutTests/fast/css/ancestor-of-hovered-element-detached-expected.txt	2016-07-16 04:16:30 UTC (rev 203320)
+++ trunk/LayoutTests/fast/css/ancestor-of-hovered-element-detached-expected.txt	2016-07-16 04:17:21 UTC (rev 203321)
@@ -1,16 +0,0 @@
-Verify the hovered state is updated correctly when an ancestor of the hovered element loses its renderer
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-    Initial state
-PASS elementsWithHoverStyle() is ["html", "body", "prime-ancestor"]
-PASS elementsMatchingHoverSelector() is ["html", "body", "prime-ancestor"]
-Moving over #target
-PASS elementsWithHoverStyle() is ["html", "body", "prime-ancestor", "group", "element-to-remove", "target"]
-PASS elementsMatchingHoverSelector() is ["html", "body", "prime-ancestor", "group", "element-to-remove", "target"]
-Removing the renderer of #element-to-remove
-PASS elementsWithHoverStyle() is ["html", "body", "prime-ancestor", "interceptor"]
-PASS elementsMatchingHoverSelector() is ["html", "body", "prime-ancestor", "interceptor"]
-PASS successfullyParsed is true
-
-TEST COMPLETE
-

Deleted: trunk/LayoutTests/fast/css/ancestor-of-hovered-element-detached.html (203320 => 203321)


--- trunk/LayoutTests/fast/css/ancestor-of-hovered-element-detached.html	2016-07-16 04:16:30 UTC (rev 203320)
+++ trunk/LayoutTests/fast/css/ancestor-of-hovered-element-detached.html	2016-07-16 04:17:21 UTC (rev 203321)
@@ -1,98 +0,0 @@
-<!DOCTYPE html>
-<html id="html">
-<head>
-<style>
-    * {
-        background-color: white;
-        margin: 0;
-        padding: 0;
-    }
-    :hover {
-        background-color: rgb(50, 100, 150) !important;
-    }
-    #prime-ancestor >> div {
-        width: 100px;
-        height: 100px;
-    }
-    #target {
-        width: 100px;
-        height: 100px;
-        background-color: green;
-        position: absolute;
-        left: 100px;
-    }
-    #interceptor {
-        position: absolute;
-        left: 100px;
-    }
-</style>
-</head>
-<script src=""
-<body id="body">
-    <div id="prime-ancestor">
-        <div id="interceptor">
-        </div>
-        <div id="group">
-            <div id="element-to-remove">
-                <div id="target">
-                </div>
-            </div>
-        </div>
-    </div>
-    <div id="console">
-    </div>
-    <script>
-    description("Verify the hovered state is updated correctly when an ancestor of the hovered element loses its renderer");
-    window.jsTestIsAsync = true;
-
-    function elementsWithHoverStyle() {
-        let elements = [];
-        for (let element of document.querySelectorAll("*")) {
-            if (getComputedStyle(element).backgroundColor === "rgb(50, 100, 150)")
-                elements.push(element.id);
-        }
-        return elements;
-    }
-    function elementsMatchingHoverSelector() {
-        let elements = [];
-        for (let element of document.querySelectorAll(":hover")) {
-            elements.push(element.id);
-        }
-        return elements;
-    }
-
-    if (!window.eventSender) {
-        debug("This test requires eventSender");
-    }
-    eventSender.mouseMoveTo(300, 50);
-    {
-        // See https://bugs.webkit.org/show_bug.cgi?id=74264
-        eventSender.mouseDown()
-        eventSender.mouseUp()
-    }
-
-    debug("Initial state");
-    shouldBe('elementsWithHoverStyle()', '["html", "body", "prime-ancestor"]');
-    shouldBe('elementsMatchingHoverSelector()', '["html", "body", "prime-ancestor"]');
-
-    debug("Moving over #target")
-    eventSender.mouseMoveTo(150, 50);
-    shouldBe('elementsWithHoverStyle()', '["html", "body", "prime-ancestor", "group", "element-to-remove", "target"]');
-    shouldBe('elementsMatchingHoverSelector()', '["html", "body", "prime-ancestor", "group", "element-to-remove", "target"]');
-
-    debug("Removing the renderer of #element-to-remove");
-    var elementToRemove = document.getElementById("element-to-remove");
-    elementToRemove.style.display = "none";
-    // Force layout.
-    offsetTop = elementToRemove.offsetTop;
-
-    // hover updates happen on timer.
-    setTimeout(function() {
-        shouldBe('elementsWithHoverStyle()', '["html", "body", "prime-ancestor", "interceptor"]');
-        shouldBe('elementsMatchingHoverSelector()', '["html", "body", "prime-ancestor", "interceptor"]');
-        finishJSTest();
-    }, 125);
-    </script>
-    <script src=""
-</body>
-</html>

Modified: trunk/LayoutTests/fast/css/ancestor-of-hovered-element-removed.html (203320 => 203321)


--- trunk/LayoutTests/fast/css/ancestor-of-hovered-element-removed.html	2016-07-16 04:16:30 UTC (rev 203320)
+++ trunk/LayoutTests/fast/css/ancestor-of-hovered-element-removed.html	2016-07-16 04:17:21 UTC (rev 203321)
@@ -93,7 +93,7 @@
         shouldBe('elementsWithHoverStyle()', '["html", "body", "prime-ancestor", "interceptor"]');
         shouldBe('elementsMatchingHoverSelector()', '["html", "body", "prime-ancestor", "interceptor"]');
         finishJSTest();
-    }, 125);
+    }, 17);
     </script>
     <script src=""
 </body>

Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (203320 => 203321)


--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-07-16 04:16:30 UTC (rev 203320)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-07-16 04:17:21 UTC (rev 203321)
@@ -1412,7 +1412,6 @@
 fast/clip/clip-when-rect-has-fractional-pixel-value.html [ ImageOnlyFailure ]
 fast/css-generated-content/table-parts-before-and-after.html [ Failure ]
 fast/css/absolute-child-with-percent-height-inside-relative-parent.html [ Failure ]
-fast/css/ancestor-of-hovered-element-detached.html [ Failure ]
 fast/css/ancestor-of-hovered-element-removed.html [ Failure ]
 fast/css/background-image-with-baseurl.html [ Failure ]
 fast/css/button-height.html [ Failure ]

Modified: trunk/LayoutTests/platform/mac/TestExpectations (203320 => 203321)


--- trunk/LayoutTests/platform/mac/TestExpectations	2016-07-16 04:16:30 UTC (rev 203320)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2016-07-16 04:17:21 UTC (rev 203321)
@@ -1449,6 +1449,4 @@
 
 webkit.org/b/158500 storage/indexeddb/database-close-private.html [ Pass Failure ]
 
-webkit.org/b/159173 fast/css/ancestor-of-hovered-element-detached.html [ Pass Failure ]
-
 webkit.org/b/158640 imported/blink/storage/indexeddb/blob-valid-after-deletion.html [ Pass Failure ]
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to