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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path-multiple-properties.html

Issue 2117143003: Add a fast-path for independent inherited properties (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@computedstyle_cleanup_rename_final_member_fields
Patch Set: Small rename Created 4 years, 5 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
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../../../resources/testharness.js"></script>
3 <script src="../../../resources/testharnessreport.js"></script>
4 <style>
5 #c {
6 pointer-events: all;
7 }
8 #e {
9 visibility: collapse;
10 }
11 </style>
12 <div id="a">
13 <div id="b">
14 <div id="c">
15 <div id="d">
16 <div id="e">
17 <div id="f">
meade_UTC10 2016/07/13 07:29:12 Is it necessary to do so many levels of nesting he
sashab 2016/07/14 05:08:41 That's a good question! Added comments to explain
18 </div>
19 </div>
20 </div>
21 </div>
22 </div>
23 </div>
24 <script>
25 test(function(t)
26 {
27 if (!window.internals)
28 assert_unreached('This test requires window.internals.');
29
30 a.offsetTop; // Force recalc.
31 assert_equals(internals.updateStyleAndReturnAffectedElementCount(), 0);
32
33 assert_equals(getComputedStyle(a).pointerEvents, "auto");
34 assert_equals(getComputedStyle(b).pointerEvents, "auto");
35 assert_equals(getComputedStyle(c).pointerEvents, "all");
36 assert_equals(getComputedStyle(d).pointerEvents, "all");
37 assert_equals(getComputedStyle(e).pointerEvents, "all");
38 assert_equals(getComputedStyle(f).pointerEvents, "all");
39 assert_equals(getComputedStyle(a).visibility, "visible");
40 assert_equals(getComputedStyle(b).visibility, "visible");
41 assert_equals(getComputedStyle(c).visibility, "visible");
42 assert_equals(getComputedStyle(d).visibility, "visible");
43 assert_equals(getComputedStyle(e).visibility, "collapse");
44 assert_equals(getComputedStyle(f).visibility, "collapse");
45
46 a.offsetTop; // Force recalc.
47 a.style.pointerEvents = "none";
48 assert_equals(internals.updateStyleAndReturnAffectedElementCount(), 1);
49
50 a.offsetTop; // Force recalc.
51 a.style.visibility = "hidden";
52 assert_equals(internals.updateStyleAndReturnAffectedElementCount(), 1);
53
54 assert_equals(getComputedStyle(a).pointerEvents, "none");
55 assert_equals(getComputedStyle(b).pointerEvents, "none");
56 assert_equals(getComputedStyle(c).pointerEvents, "all");
57 assert_equals(getComputedStyle(d).pointerEvents, "all");
58 assert_equals(getComputedStyle(e).pointerEvents, "all");
59 assert_equals(getComputedStyle(f).pointerEvents, "all");
60 assert_equals(getComputedStyle(a).visibility, "hidden");
61 assert_equals(getComputedStyle(b).visibility, "hidden");
62 assert_equals(getComputedStyle(c).visibility, "hidden");
63 assert_equals(getComputedStyle(d).visibility, "hidden");
64 assert_equals(getComputedStyle(e).visibility, "collapse");
65 assert_equals(getComputedStyle(f).visibility, "collapse");
66
67 a.offsetTop; // Force recalc.
68 d.style.pointerEvents = "painted";
69 assert_equals(internals.updateStyleAndReturnAffectedElementCount(), 1);
70
71 a.offsetTop; // Force recalc.
72 e.style.visibility = "visible";
73 assert_equals(internals.updateStyleAndReturnAffectedElementCount(), 1);
74
75 assert_equals(getComputedStyle(a).pointerEvents, "none");
76 assert_equals(getComputedStyle(b).pointerEvents, "none");
77 assert_equals(getComputedStyle(c).pointerEvents, "all");
78 assert_equals(getComputedStyle(d).pointerEvents, "painted");
79 assert_equals(getComputedStyle(e).pointerEvents, "painted");
80 assert_equals(getComputedStyle(f).pointerEvents, "painted");
81 assert_equals(getComputedStyle(a).visibility, "hidden");
82 assert_equals(getComputedStyle(b).visibility, "hidden");
83 assert_equals(getComputedStyle(c).visibility, "hidden");
84 assert_equals(getComputedStyle(d).visibility, "hidden");
85 assert_equals(getComputedStyle(e).visibility, "visible");
86 assert_equals(getComputedStyle(f).visibility, "visible");
87 }, "Changing both pointer-events and visibility on an element, both independent inherited properties, doesn't cause a style recalc for its children.");
88 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698