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

Issue 1134173002: Get rid of TreeBoundaryCrossingRules. (Closed)

Created:
5 years, 7 months ago by rune
Modified:
4 years, 11 months ago
Reviewers:
esprehn
CC:
ojan, darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-css, blink-reviews-dom_chromium.org, blink-reviews-style_chromium.org, dglazkov+blink, eae+blinkwatch, rwlbuis, sof, webcomponents-bugzilla_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Get rid of TreeBoundaryCrossingRules. *** NOT FOR LANDING - WORK IN PROGRESS *** - Another attempt at walking the composed tree ancestors for matching boundary-crossing rules instead of collecting from all scoped resolvers with boundary-crossing rules. - Prepare for non-global RuleFeatureSets, even for ::content by supporting cheaper traversal of ancestor tree-scopes by caching the composed tree TreeScope parent on TreeScope. - Fixes shadow dom cascading issues as a side-effect. BUG=401359, 452542, 437846

Patch Set 1 #

Patch Set 2 : Missing resolver decrement and adjusted test. #

Total comments: 6

Patch Set 3 : Review fixes and an !important test. #

Patch Set 4 : New cascade order #

Patch Set 5 : Missing important UA rules. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+407 lines, -293 lines) Patch
M LayoutTests/fast/css/content-distributed-nodes.html View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M LayoutTests/fast/css/content-distributed-nodes-expected.txt View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M LayoutTests/fast/css/getComputedStyle/computed-style-redistribution.html View 1 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/fast/dom/shadow/cascade-of-treeboundary-crossing-rules.html View 1 2 3 2 chunks +19 lines, -3 lines 0 comments Download
M LayoutTests/fast/dom/shadow/cascade-of-treeboundary-crossing-rules-expected.txt View 1 2 1 chunk +1 line, -0 lines 0 comments Download
A LayoutTests/fast/dom/shadow/inner-scope-important-wins.html View 1 2 3 1 chunk +21 lines, -0 lines 0 comments Download
A LayoutTests/fast/dom/shadow/inner-scope-important-wins-expected.txt View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
A LayoutTests/fast/dom/shadow/outer-scope-lower-specificity-wins.html View 1 chunk +21 lines, -0 lines 0 comments Download
A LayoutTests/fast/dom/shadow/outer-scope-lower-specificity-wins-expected.txt View 1 chunk +10 lines, -0 lines 0 comments Download
A LayoutTests/fast/dom/shadow/outer-scope-wins.html View 1 chunk +13 lines, -0 lines 0 comments Download
A LayoutTests/fast/dom/shadow/outer-scope-wins-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/dom/shadow/style-with-shadow-pseudo-element.html View 5 chunks +6 lines, -7 lines 0 comments Download
M LayoutTests/fast/dom/shadow/style-with-shadow-pseudo-element-expected.txt View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M Source/core/core.gypi View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/css/ElementRuleCollector.h View 1 2 3 2 chunks +7 lines, -11 lines 0 comments Download
M Source/core/css/ElementRuleCollector.cpp View 1 2 3 8 chunks +17 lines, -18 lines 0 comments Download
D Source/core/css/TreeBoundaryCrossingRules.h View 1 chunk +0 lines, -55 lines 0 comments Download
D Source/core/css/TreeBoundaryCrossingRules.cpp View 1 chunk +0 lines, -82 lines 0 comments Download
M Source/core/css/resolver/MatchResult.h View 1 2 3 1 chunk +75 lines, -9 lines 0 comments Download
M Source/core/css/resolver/MatchResult.cpp View 1 2 3 1 chunk +13 lines, -2 lines 0 comments Download
M Source/core/css/resolver/MatchedPropertiesCache.h View 1 2 3 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/css/resolver/MatchedPropertiesCache.cpp View 1 2 3 4 chunks +7 lines, -7 lines 0 comments Download
M Source/core/css/resolver/ScopedStyleResolver.h View 1 2 3 2 chunks +8 lines, -4 lines 0 comments Download
M Source/core/css/resolver/ScopedStyleResolver.cpp View 1 2 3 4 chunks +22 lines, -7 lines 0 comments Download
M Source/core/css/resolver/StyleResolver.h View 1 2 3 5 chunks +4 lines, -6 lines 0 comments Download
M Source/core/css/resolver/StyleResolver.cpp View 1 2 3 4 17 chunks +98 lines, -70 lines 0 comments Download
M Source/core/dom/StyleEngine.h View 1 2 3 2 chunks +5 lines, -1 line 0 comments Download
M Source/core/dom/StyleEngine.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/dom/TreeScope.h View 3 chunks +6 lines, -0 lines 0 comments Download
M Source/core/dom/TreeScope.cpp View 3 2 chunks +25 lines, -0 lines 0 comments Download
M Source/core/dom/shadow/ShadowRoot.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/dom/shadow/ShadowRoot.cpp View 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (3 generated)
rune
Ran some performance tests locally. blink_perf.css: No noticable differences blink_perf.shadow_dom: - Consistenly around ~20% improvement ...
5 years, 7 months ago (2015-05-13 11:09:35 UTC) #1
rune
On 2015/05/13 11:09:35, rune wrote: > Ran some performance tests locally. blink_perf.events: 2-3% worse for ...
5 years, 7 months ago (2015-05-13 11:16:55 UTC) #2
dglazkov
On 2015/05/13 at 11:16:55, rune wrote: > On 2015/05/13 11:09:35, rune wrote: > > Ran ...
5 years, 7 months ago (2015-05-13 16:36:54 UTC) #3
rune
On 2015/05/13 16:36:54, dglazkov wrote: > On 2015/05/13 at 11:16:55, rune wrote: > > On ...
5 years, 7 months ago (2015-05-15 22:53:13 UTC) #5
esprehn
https://codereview.chromium.org/1134173002/diff/20001/Source/core/dom/TreeScope.cpp File Source/core/dom/TreeScope.cpp (right): https://codereview.chromium.org/1134173002/diff/20001/Source/core/dom/TreeScope.cpp#newcode581 Source/core/dom/TreeScope.cpp:581: m_composedParent = treeScopeInComposedTree(*host); Can we update these pointers inside ...
5 years, 7 months ago (2015-05-19 02:37:56 UTC) #7
rune
https://codereview.chromium.org/1134173002/diff/20001/Source/core/dom/TreeScope.cpp File Source/core/dom/TreeScope.cpp (right): https://codereview.chromium.org/1134173002/diff/20001/Source/core/dom/TreeScope.cpp#newcode581 Source/core/dom/TreeScope.cpp:581: m_composedParent = treeScopeInComposedTree(*host); On 2015/05/19 02:37:56, esprehn wrote: > ...
5 years, 7 months ago (2015-05-19 11:08:18 UTC) #8
esprehn
The distribution phase is where we compute what ::parent() is going to return, I'm pretty ...
5 years, 7 months ago (2015-05-20 00:38:18 UTC) #9
rune
On 2015/05/20 00:38:18, esprehn wrote: > The distribution phase is where we compute what ::parent() ...
5 years, 7 months ago (2015-05-20 07:51:45 UTC) #10
esprehn
This patch is not correct though, we need to know what rules could match you ...
5 years, 7 months ago (2015-05-20 09:58:47 UTC) #11
rune
On 2015/05/20 09:58:47, esprehn wrote: > This patch is not correct though, we need to ...
5 years, 7 months ago (2015-05-20 10:54:48 UTC) #12
esprehn
On 2015/05/20 at 10:54:48, rune wrote: > On 2015/05/20 09:58:47, esprehn wrote: > > This ...
5 years, 7 months ago (2015-05-20 11:06:43 UTC) #13
esprehn
Let me think about this some more tomorrow. Only ::content rules need the complex version ...
5 years, 7 months ago (2015-05-20 11:36:44 UTC) #14
rune
On 2015/05/20 11:36:44, esprehn wrote: > Let me think about this some more tomorrow. Only ...
5 years, 7 months ago (2015-05-20 12:03:07 UTC) #15
rune
5 years, 6 months ago (2015-05-31 23:37:21 UTC) #16
This is still experimental - work in progress.

Powered by Google App Engine
This is Rietveld 408576698