Title: [190501] branches/safari-601-branch

Diff

Modified: branches/safari-601-branch/LayoutTests/ChangeLog (190500 => 190501)


--- branches/safari-601-branch/LayoutTests/ChangeLog	2015-10-02 13:57:48 UTC (rev 190500)
+++ branches/safari-601-branch/LayoutTests/ChangeLog	2015-10-02 13:58:00 UTC (rev 190501)
@@ -1,5 +1,27 @@
 2015-10-02  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r189560. rdar://problem/22824659
+
+    2015-09-09  Benjamin Poulain  <bpoul...@apple.com>
+
+            CSS general sibling selectors does not work without CSS JIT
+            https://bugs.webkit.org/show_bug.cgi?id=148987
+            rdar://problem/22559860
+
+            Reviewed by Andreas Kling.
+
+            There are multiple variations of the same tests to test
+            cases where we JIT and cases without JIT.
+
+            * fast/css/indirect-adjacent-style-invalidation-1-expected.txt: Added.
+            * fast/css/indirect-adjacent-style-invalidation-1.html: Added.
+            * fast/css/indirect-adjacent-style-invalidation-2-expected.txt: Added.
+            * fast/css/indirect-adjacent-style-invalidation-2.html: Added.
+            * fast/css/indirect-adjacent-style-invalidation-3-expected.txt: Added.
+            * fast/css/indirect-adjacent-style-invalidation-3.html: Added.
+
+2015-10-02  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r188768. rdar://problem/22802019
 
     2015-08-21  Joseph Pecoraro  <pecor...@apple.com>

Added: branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-1-expected.txt (0 => 190501)


--- branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-1-expected.txt	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-1-expected.txt	2015-10-02 13:58:00 UTC (rev 190501)
@@ -0,0 +1,35 @@
+Test the style invalidation of elements affected by an indirect adjacent.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 0, 0)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 1, 2)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 1, 2)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 0, 0)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-1.html (0 => 190501)


--- branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-1.html	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-1.html	2015-10-02 13:58:00 UTC (rev 190501)
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<style>
+* {
+    color: black;
+}
+:checked ~ target {
+    color: rgb(0, 1, 2);
+}
+</style>
+</head>
+<body>
+    <div>
+        <!-- With renderer -->
+        <input class="activator" type="checkbox">
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <target></target>
+    </div>
+    <div style="display:none;">
+        <!-- Without renderer -->
+        <input class="activator" type="radio">
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <target></target>
+    </div>
+</body>
+<script>
+
+description('Test the style invalidation of elements affected by an indirect adjacent.');
+
+function shouldNeedStyleRecalc(expected) {
+    var testFunction = expected ? shouldBeTrue : shouldBeFalse;
+    testFunction("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\".activator\")[0])");
+    testFunction("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\".activator\")[1])");
+    shouldBeFalse("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\"target\")[0])");
+    shouldBeFalse("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\"target\")[1])");
+}
+
+function setId(name) {
+    var allTargets = document.querySelectorAll("target");
+    allTargets[0].id = name;
+    allTargets[1].id = name;
+}
+
+function checkStyle(expectedColor) {
+    var allTargets = document.querySelectorAll("target");
+    shouldBeEqualToString('getComputedStyle(document.querySelectorAll("target")[0]).color', expectedColor);
+    shouldBeEqualToString('getComputedStyle(document.querySelectorAll("target")[1]).color', expectedColor);
+}
+// Force a layout to ensure we don't have dirty styles.
+var offsetTop = document.documentElement.offsetTop;
+
+// Initial state.
+shouldNeedStyleRecalc(false);
+checkStyle("rgb(0, 0, 0)");
+
+// Check the input fields.
+var allActivators = document.querySelectorAll("input.activator:matches([type=checkbox], [type=radio])");
+for (let i = 0; i < allActivators.length; ++i) {
+    allActivators[i].checked = true;
+}
+shouldNeedStyleRecalc(true);
+checkStyle("rgb(0, 1, 2)");
+shouldNeedStyleRecalc(false);
+
+// Uncheck the input fields.
+var allActivators = document.querySelectorAll("input.activator:matches([type=checkbox], [type=radio])");
+for (let i = 0; i < allActivators.length; ++i) {
+    allActivators[i].checked = false;
+}
+shouldNeedStyleRecalc(true);
+checkStyle("rgb(0, 0, 0)");
+shouldNeedStyleRecalc(false);
+
+</script>
+<script src=""
+</html>

Added: branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-2-expected.txt (0 => 190501)


--- branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-2-expected.txt	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-2-expected.txt	2015-10-02 13:58:00 UTC (rev 190501)
@@ -0,0 +1,35 @@
+Test the style invalidation of elements affected by an indirect adjacent.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 0, 0)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 1, 2)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 1, 2)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 0, 0)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-2.html (0 => 190501)


--- branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-2.html	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-2.html	2015-10-02 13:58:00 UTC (rev 190501)
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<style>
+* {
+    color: black;
+}
+:checked:first-of-type ~ target {
+    color: rgb(0, 1, 2);
+}
+</style>
+</head>
+<body>
+    <div>
+        <!-- With renderer -->
+        <input class="activator" type="checkbox">
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <target></target>
+    </div>
+    <div style="display:none;">
+        <!-- Without renderer -->
+        <input class="activator" type="radio">
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <target></target>
+    </div>
+</body>
+<script>
+
+description('Test the style invalidation of elements affected by an indirect adjacent.');
+
+function shouldNeedStyleRecalc(expected) {
+    var testFunction = expected ? shouldBeTrue : shouldBeFalse;
+    testFunction("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\".activator\")[0])");
+    testFunction("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\".activator\")[1])");
+    shouldBeFalse("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\"target\")[0])");
+    shouldBeFalse("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\"target\")[1])");
+}
+
+function setId(name) {
+    var allTargets = document.querySelectorAll("target");
+    allTargets[0].id = name;
+    allTargets[1].id = name;
+}
+
+function checkStyle(expectedColor) {
+    var allTargets = document.querySelectorAll("target");
+    shouldBeEqualToString('getComputedStyle(document.querySelectorAll("target")[0]).color', expectedColor);
+    shouldBeEqualToString('getComputedStyle(document.querySelectorAll("target")[1]).color', expectedColor);
+}
+// Force a layout to ensure we don't have dirty styles.
+var offsetTop = document.documentElement.offsetTop;
+
+// Initial state.
+shouldNeedStyleRecalc(false);
+checkStyle("rgb(0, 0, 0)");
+
+// Check the input fields.
+var allActivators = document.querySelectorAll("input.activator:matches([type=checkbox], [type=radio])");
+for (let i = 0; i < allActivators.length; ++i) {
+    allActivators[i].checked = true;
+}
+shouldNeedStyleRecalc(true);
+checkStyle("rgb(0, 1, 2)");
+shouldNeedStyleRecalc(false);
+
+// Uncheck the input fields.
+var allActivators = document.querySelectorAll("input.activator:matches([type=checkbox], [type=radio])");
+for (let i = 0; i < allActivators.length; ++i) {
+    allActivators[i].checked = false;
+}
+shouldNeedStyleRecalc(true);
+checkStyle("rgb(0, 0, 0)");
+shouldNeedStyleRecalc(false);
+
+</script>
+<script src=""
+</html>

Added: branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-3-expected.txt (0 => 190501)


--- branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-3-expected.txt	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-3-expected.txt	2015-10-02 13:58:00 UTC (rev 190501)
@@ -0,0 +1,35 @@
+Test the style invalidation of elements affected by an indirect adjacent.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 0, 0)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 1, 2)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 1, 2)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is true
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS getComputedStyle(document.querySelectorAll("target")[0]).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.querySelectorAll("target")[1]).color is "rgb(0, 0, 0)"
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(".activator")[1]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[0]) is false
+PASS window.internals.nodeNeedsStyleRecalc(document.querySelectorAll("target")[1]) is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-3.html (0 => 190501)


--- branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-3.html	                        (rev 0)
+++ branches/safari-601-branch/LayoutTests/fast/css/indirect-adjacent-style-invalidation-3.html	2015-10-02 13:58:00 UTC (rev 190501)
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<style>
+* {
+    color: black;
+}
+:checked:matches(*, :last-of-type, *) ~ target {
+    color: rgb(0, 1, 2);
+}
+</style>
+</head>
+<body>
+    <div>
+        <!-- With renderer -->
+        <input class="activator" type="checkbox">
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <target></target>
+    </div>
+    <div style="display:none;">
+        <!-- Without renderer -->
+        <input class="activator" type="radio">
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <padding></padding>
+        <target></target>
+    </div>
+</body>
+<script>
+
+description('Test the style invalidation of elements affected by an indirect adjacent.');
+
+function shouldNeedStyleRecalc(expected) {
+    var testFunction = expected ? shouldBeTrue : shouldBeFalse;
+    testFunction("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\".activator\")[0])");
+    testFunction("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\".activator\")[1])");
+    shouldBeFalse("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\"target\")[0])");
+    shouldBeFalse("window.internals.nodeNeedsStyleRecalc(document.querySelectorAll(\"target\")[1])");
+}
+
+function setId(name) {
+    var allTargets = document.querySelectorAll("target");
+    allTargets[0].id = name;
+    allTargets[1].id = name;
+}
+
+function checkStyle(expectedColor) {
+    var allTargets = document.querySelectorAll("target");
+    shouldBeEqualToString('getComputedStyle(document.querySelectorAll("target")[0]).color', expectedColor);
+    shouldBeEqualToString('getComputedStyle(document.querySelectorAll("target")[1]).color', expectedColor);
+}
+// Force a layout to ensure we don't have dirty styles.
+var offsetTop = document.documentElement.offsetTop;
+
+// Initial state.
+shouldNeedStyleRecalc(false);
+checkStyle("rgb(0, 0, 0)");
+
+// Check the input fields.
+var allActivators = document.querySelectorAll("input.activator:matches([type=checkbox], [type=radio])");
+for (let i = 0; i < allActivators.length; ++i) {
+    allActivators[i].checked = true;
+}
+shouldNeedStyleRecalc(true);
+checkStyle("rgb(0, 1, 2)");
+shouldNeedStyleRecalc(false);
+
+// Uncheck the input fields.
+var allActivators = document.querySelectorAll("input.activator:matches([type=checkbox], [type=radio])");
+for (let i = 0; i < allActivators.length; ++i) {
+    allActivators[i].checked = false;
+}
+shouldNeedStyleRecalc(true);
+checkStyle("rgb(0, 0, 0)");
+shouldNeedStyleRecalc(false);
+
+</script>
+<script src=""
+</html>

Modified: branches/safari-601-branch/Source/WebCore/ChangeLog (190500 => 190501)


--- branches/safari-601-branch/Source/WebCore/ChangeLog	2015-10-02 13:57:48 UTC (rev 190500)
+++ branches/safari-601-branch/Source/WebCore/ChangeLog	2015-10-02 13:58:00 UTC (rev 190501)
@@ -1,5 +1,27 @@
 2015-10-02  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r189560. rdar://problem/22824659
+
+    2015-09-09  Benjamin Poulain  <bpoul...@apple.com>
+
+            CSS general sibling selectors does not work without CSS JIT
+            https://bugs.webkit.org/show_bug.cgi?id=148987
+            rdar://problem/22559860
+
+            Reviewed by Andreas Kling.
+
+            When traversing with the indirect adjacent combinator, SelectorChecker
+            was not setting the style invalidation flag on the right element.
+
+            Tests: fast/css/indirect-adjacent-style-invalidation-1.html
+                   fast/css/indirect-adjacent-style-invalidation-2.html
+                   fast/css/indirect-adjacent-style-invalidation-3.html
+
+            * css/SelectorChecker.cpp:
+            (WebCore::SelectorChecker::matchRecursively):
+
+2015-10-02  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r188990. rdar://problem/22802029
 
     2015-08-26  Beth Dakin  <bda...@apple.com>

Modified: branches/safari-601-branch/Source/WebCore/css/SelectorChecker.cpp (190500 => 190501)


--- branches/safari-601-branch/Source/WebCore/css/SelectorChecker.cpp	2015-10-02 13:57:48 UTC (rev 190500)
+++ branches/safari-601-branch/Source/WebCore/css/SelectorChecker.cpp	2015-10-02 13:58:00 UTC (rev 190501)
@@ -353,7 +353,7 @@
         nextContext.elementStyle = nullptr;
         for (; nextContext.element; nextContext.element = nextContext.element->previousElementSibling()) {
             if (context.resolvingMode == Mode::ResolvingStyle)
-                context.element->setAffectsNextSiblingElementStyle();
+                nextContext.element->setAffectsNextSiblingElementStyle();
 
             PseudoIdSet ignoreDynamicPseudo;
             unsigned indirectAdjacentSpecificity = 0;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to