Chromium Code Reviews| Index: LayoutTests/fast/css/dynamic-class-pseudo-elements.html |
| diff --git a/LayoutTests/fast/css/dynamic-class-pseudo-elements.html b/LayoutTests/fast/css/dynamic-class-pseudo-elements.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..19c6f160d1b17c2778e9c79f2379a768db84cf8c |
| --- /dev/null |
| +++ b/LayoutTests/fast/css/dynamic-class-pseudo-elements.html |
| @@ -0,0 +1,88 @@ |
| +<!DOCTYPE html> |
| +<script src="../../resources/js-test.js"></script> |
| +<style> |
| +.a1 .b1::before { background-color: green; content: "X" } |
| +.a2 .b2::after { background-color: green; content: "X" } |
| +.a3 .b3::first-line { background-color: green } |
| +.a4 .b4::first-letter { background-color: green } |
| + |
| +/* workaround for issue 351322 */ |
| +.b3::first-line { background-color: transparent } |
| +</style> |
| +<div id="t1"> |
| + <div class="b1" id="r1"> < Background of 'X' should be green</div> |
| + <span></span><span></span><span></span><span></span><span></span><span></span> |
| +</div> |
| +<div id="t2"> |
| + <div class="b2" id="r2">Background of 'X' should be green > </div> |
| + <span></span><span></span><span></span><span></span><span></span><span></span> |
| +</div> |
| +<div id="t3"> |
| + <div class="b3" id="r3">Background should be green</div> |
| + <span></span><span></span><span></span><span></span><span></span><span></span> |
| +</div> |
| +<div id="t4"> |
| + <div class="b4" id="r4">Background of first letter should be green</div> |
| + <span></span><span></span><span></span><span></span><span></span><span></span> |
| +</div> |
| +<script> |
| +description("Change classes affecting pseudo elements") |
| + |
| +function forceLayout() { |
| + document.body.offsetLeft; |
| +} |
| + |
| +document.body.offsetTop; // force style recalc. |
| + |
| +var transparent = 'rgba(0, 0, 0, 0)'; |
| +var green = 'rgb(0, 128, 0)'; |
| + |
| +var t1 = document.getElementById("t1"); |
| +var r1 = document.getElementById("r1"); |
| +shouldBe("getComputedStyle(r1, '::before').backgroundColor", "transparent"); |
| + |
| +forceLayout(); |
| +t1.className = "a1"; |
| + |
| +if (window.internals) |
| + shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "3"); |
| + |
| +shouldBe("getComputedStyle(r1, '::before').backgroundColor", "green"); |
| + |
| +var t2 = document.getElementById("t2"); |
| +var r2 = document.getElementById("r2"); |
| +shouldBe("getComputedStyle(r2, '::after').backgroundColor", "transparent"); |
| + |
| +forceLayout(); |
| +t2.className = "a2"; |
| + |
| +if (window.internals) |
| + shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "3"); |
| + |
| +shouldBe("getComputedStyle(r2, '::after').backgroundColor", "green"); |
| + |
| +var t3 = document.getElementById("t3"); |
| +var r3 = document.getElementById("r3"); |
| +shouldBe("getComputedStyle(r3, '::first-line').backgroundColor", "transparent"); |
| + |
| +forceLayout(); |
| +t3.className = "a3"; |
| + |
| +if (window.internals) |
| + shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "9"); |
| + |
| +shouldBe("getComputedStyle(r3, '::first-line').backgroundColor", "green"); |
| + |
| +var t4 = document.getElementById("t4"); |
| +var r4 = document.getElementById("r4"); |
| +shouldBe("getComputedStyle(r4, '::first-letter').backgroundColor", "transparent"); |
| + |
| +forceLayout(); |
| +t4.className = "a4"; |
| + |
| +if (window.internals) |
| + shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "8"); |
|
rune
2014/03/12 14:56:07
This is 8 and not 9 because the ::first-letter pse
|
| + |
| +document.body.offsetLeft; // workaround for issue 351308 |
| +shouldBe("getComputedStyle(r4, '::first-letter').backgroundColor", "green"); |
| +</script> |