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

Side by Side Diff: LayoutTests/fast/css/invalidation/scrollbar-pseudo.html

Issue 653423003: Support style invalidation for scrollbar pseudo elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git/+/master
Patch Set: Created 6 years, 2 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/scrollbar-pseudo-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 .scroller::-webkit-scrollbar {
5 height: 5px;
6 }
7
8 .scroller {
9 width: 200px;
10 height: 10px;
11 overflow-x: scroll;
12 }
13
14 .scroller > div {
15 width: 400px;
16 }
17
18 .t1 .scroller::-webkit-scrollbar,
19 .t2 + .scroller::-webkit-scrollbar,
20 .t3 .scroller::-webkit-scrollbar-button,
21 .t4 + .scroller::-webkit-scrollbar-button,
22 .t5 .scroller::-webkit-scrollbar-corner,
23 .t6 + .scroller::-webkit-scrollbar-corner,
24 .t7 .scroller::-webkit-scrollbar-thumb,
25 .t8 + .scroller::-webkit-scrollbar-thumb,
26 .t9 .scroller::-webkit-scrollbar-track,
27 .t10 + .scroller::-webkit-scrollbar-track,
28 .t11 .scroller::-webkit-scrollbar-track-piece,
29 .t12 + .scroller::-webkit-scrollbar-track-piece {
30 background-color: green;
31 }
32 </style>
33 <div>
34 <div id="scrollerParent">
35 <div>
36 <div id="scroller1" class="scroller">
37 <div>
38 <span></span>
39 <span></span>
40 <span></span>
41 <span></span>
42 </div>
43 </div>
44 <div></div>
45 </div>
46 </div>
47 </div>
48 <div>
49 <div id="scrollerSibling"></div>
50 <div id="scroller2" class="scroller">
51 <div>
52 <span></span>
53 <span></span>
54 <span></span>
55 <span></span>
56 </div>
57 </div>
58 <div>
59 <div></div>
60 </div>
61 <script>
62 description("Style invalidation for scrollbar pseudo elements.");
63
64 var transparent = "rgba(0, 0, 0, 0)";
65 var green = "rgb(0, 128, 0)";
66
67 function testScrollbarPseudo(pseudoElm, scroller, classElement, testClass, expec tedCount) {
68
69 var computedString = "getComputedStyle(" + scroller + ", '" + pseudoElm + "' ).backgroundColor";
70
71 shouldBe(computedString, "transparent");
72
73 document.body.offsetTop; // force recalc
74 classElement.className = testClass;
75
76 if (window.internals)
77 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "" + ex pectedCount);
78
79 shouldBe(computedString, "green");
80 classElement.className = "";
81 }
82
83 // The expected affected element counts below need an explanation:
84 //
85 // The descendant selector tests invalidate 2 normal dom elements:
86 // #scrollerParent, #scroller1
87 //
88 // The sibling selector tests invalidate 7 normal dom elements:
89 // #scrollerSibling, #scroller2, the div child of #scroller2 and its 4 spans
90 //
91 // In addition there the pseudo element selectors add the following pseudo eleme nts
92 // on the #scroller1 and #scroller2 elements:
93 //
94 // ::-webkit-scrollbar: 1 scrollbar pseudo element (in total 3 and 8)
95 // ::-webkit-scrollbar-button: 1 scrollbar + 4 buttons (in total 7 and 12)
96 // ::-webkit-scrollbar-corner: 1 scrollbar + 1 corner (in total 4 and 9)
97 // ::-webkit-scrollbar-thumb: 1 scrollbar + 1 thumb (in total 4 and 9)
98 // ::-webkit-scrollbar-track: 1 scrollbar + 1 track (in total 4 and 9)
99 // ::-webkit-scrollbar-track-piece: 1 scrollbar + 2 track pieces (in total 5 and 12)
100
101 testScrollbarPseudo("::-webkit-scrollbar", "scroller1", scrollerParent, "t1", 3) ;
102 testScrollbarPseudo("::-webkit-scrollbar", "scroller2", scrollerSibling, "t2", 8 );
103 testScrollbarPseudo("::-webkit-scrollbar-button", "scroller1", scrollerParent, " t3", 7);
104 testScrollbarPseudo("::-webkit-scrollbar-button", "scroller2", scrollerSibling, "t4", 12);
105 testScrollbarPseudo("::-webkit-scrollbar-corner", "scroller1", scrollerParent, " t5", 4);
106 testScrollbarPseudo("::-webkit-scrollbar-corner", "scroller2", scrollerSibling, "t6", 9);
107 testScrollbarPseudo("::-webkit-scrollbar-thumb", "scroller1", scrollerParent, "t 7", 4);
108 testScrollbarPseudo("::-webkit-scrollbar-thumb", "scroller2", scrollerSibling, " t8", 9);
109 testScrollbarPseudo("::-webkit-scrollbar-track", "scroller1", scrollerParent, "t 9", 4);
110 testScrollbarPseudo("::-webkit-scrollbar-track", "scroller2", scrollerSibling, " t10", 9);
111 testScrollbarPseudo("::-webkit-scrollbar-track-piece", "scroller1", scrollerPare nt, "t11", 5);
112 testScrollbarPseudo("::-webkit-scrollbar-track-piece", "scroller2", scrollerSibl ing, "t12", 10);
113 </script>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/css/invalidation/scrollbar-pseudo-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698