Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: LayoutTests/fast/css/invalidation/targeted-hover-invalidation.html

Issue 220943002: Use invalidation sets for :hover, :active, and :focus. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Remove unnecessary seenCombinator handling. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/css/invalidation/targeted-hover-invalidation-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../../../resources/js-test.js"></script>
3 <style>
4 .test { width: 50px; height: 50px; }
5 #t1:hover { background-color: green }
6 #t2:hover .class { background-color: green }
7 #t3:hover span { background-color: green }
8 </style>
9 <div id="t1" class="test">
10 <div></div>
11 <div></div>
12 <div></div>
13 <div></div>
14 </div>
15 <div id="t2" class="test">
16 <div></div>
17 <div></div>
18 <div class="class"></div>
19 <div></div>
20 </div>
21 <div id="t3" class="test">
22 <div></div>
23 <div></div>
24 <div><span></span></div>
25 <div><span></span></div>
26 </div>
27 <script>
28 description("Check that invalidation sets work for :hover changes.");
29
30 function hoverElement(element) {
31 eventSender.mouseMoveTo(0, 0);
32 document.body.offsetLeft; // force recalc.
33 var x = element.offsetLeft + 1;
34 var y = element.offsetTop + 1;
35 eventSender.mouseMoveTo(x, y);
36 }
37
38 shouldBeDefined("window.internals");
39 shouldBeDefined("window.eventSender");
40
41 var transparent = "rgba(0, 0, 0, 0)";
42 var green = "rgb(0, 128, 0)";
43
44 var t1 = document.getElementById("t1");
45 var t2 = document.getElementById("t2");
46 var t3 = document.getElementById("t3");
47
48 var r1 = t1;
49 var r2 = t2.querySelector(".class");
50 var r3 = t3.querySelectorAll("span");
51
52 shouldBe("getComputedStyle(r1, null).backgroundColor", "transparent");
53 shouldBe("getComputedStyle(r2, null).backgroundColor", "transparent");
54 shouldBe("r3.length", "2");
55 shouldBe("getComputedStyle(r3[0], null).backgroundColor", "transparent");
56 shouldBe("getComputedStyle(r3[1], null).backgroundColor", "transparent");
57
58 hoverElement(t1);
59 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "1");
60 shouldBe("getComputedStyle(r1, null).backgroundColor", "green");
61
62 hoverElement(t2);
63 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "2");
64 shouldBe("getComputedStyle(r2, null).backgroundColor", "green");
65
66 hoverElement(t3);
67 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "3");
68 shouldBe("getComputedStyle(r3[0], null).backgroundColor", "green");
69 shouldBe("getComputedStyle(r3[1], null).backgroundColor", "green");
70
71 </script>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/css/invalidation/targeted-hover-invalidation-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698