|
CSS: Avoid style recalc when only descendants need update
When we have a style rule of the form
.a > .b { ... }
and class 'a' is added to, or removed from, an element, we
have been forcing the style of the updated element to
become recalculated, just in case there was also a style
rule of the form
.a { ... }
or
.c > .a { ... }
We introduce a 'invalidatesSelf' bit in InvalidationSet,
to indicate if a given class/id/tag/pseudo-type (class
'a' in this example) ever appears in a rightmost position.
Discussed in Sibling Invalidation design doc https://goo.gl/z0Z9gn
BUG= 532315
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=202449
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+114 lines, -102 lines) |
Patch |
|
M |
LayoutTests/fast/css/dynamic-class-backdrop-pseudo.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/dynamic-class-backdrop-pseudo-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/dynamic-class-pseudo-elements.html
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/dynamic-class-pseudo-elements-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/compound.html
|
View
|
|
5 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/full-page-media.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/full-page-media-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/fullscreen.html
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/fullscreen-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/invalidation-set-not.html
|
View
|
|
3 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/invalidation-set-with-adjacent-combinators.html
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/invalidation-set-with-adjacent-combinators-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/scrollbar-pseudo.html
|
View
|
|
1 chunk |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/scrollbar-pseudo-classes.html
|
View
|
|
1 chunk |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/scrollbar-pseudo-expected.txt
|
View
|
|
1 chunk |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/selection-pseudo.html
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/selection-pseudo-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/shadow-boundary-crossing.html
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/shadow-boundary-crossing-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/spatial-navigation-focus-pseudo.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/spatial-navigation-focus-pseudo-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-attribute-scope.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-attribute-scope-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-any-pseudo.html
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-any-pseudo-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-content-pseudo.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-content-pseudo-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-custom-pseudo.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-custom-pseudo-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-host-context.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-host-pseudo.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-host-pseudo-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-id.html
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-id-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-shadow-combinator.html
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-shadow-combinator-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-style-invalidation.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-style-invalidation-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-type-selectors.html
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-type-selectors-expected.txt
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-whole-subtree.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-class-whole-subtree-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-id-style-invalidation.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/css/invalidation/targeted-id-style-invalidation-expected.txt
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/fast/layout/display-none-no-relayout.html
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
LayoutTests/media/track/cue-style-invalidation.html
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
LayoutTests/media/track/cue-style-invalidation-expected.txt
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
Source/core/css/RuleFeature.cpp
|
View
|
1
|
2 chunks |
+4 lines, -2 lines |
0 comments
|
Download
|
|
M |
Source/core/css/invalidation/InvalidationSet.h
|
View
|
1
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/core/css/invalidation/InvalidationSet.cpp
|
View
|
1
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
Source/core/css/invalidation/StyleInvalidator.cpp
|
View
|
1
|
3 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
Total messages: 19 (6 generated)
|