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

Issue 129633003: Add a first pass of a class descendant invalidator, and a containing RuleSetAnalyzer (Closed)

Created:
6 years, 11 months ago by esprehn
Modified:
6 years, 11 months ago
Reviewers:
chrishtr, esprehn, dglazkov, ojan
CC:
blink-reviews, dglazkov+blink, apavlov+blink_chromium.org, darktears
Visibility:
Public.

Description

Add a first pass of a class descendant invalidator, and a containing RuleSetAnalyzer This allows us to (for some rule sets) only recalculate the elements necessary when changing the class on an element, rather than then entire subtree. It's the first in a sequence of CLs to continue refactoring logic into RuleSetAnalyzer, and expand the scope of targeted invalidation. Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=165256

Patch Set 1 #

Patch Set 2 : First pass #

Patch Set 3 : Move descendant invalidation code into the right place. #

Patch Set 4 : Refactored. #

Patch Set 5 : Simplify #

Patch Set 6 : Refactored some more. #

Patch Set 7 : Refactored some more. #

Patch Set 8 : Finished refactor, fixed lint. #

Patch Set 9 : Fixed lint. #

Patch Set 10 : Renamed class to RuleSetAnalyzer. #

Patch Set 11 : Cleanup. #

Patch Set 12 : Fixed a few small issues. #

Patch Set 13 : Fixed a few small issues. #

Patch Set 14 : Rebased off of head. #

Patch Set 15 : Removed extra line. #

Total comments: 43

Patch Set 16 : Addressed comments. Removed invalidaiotn code for now. #

Patch Set 17 : Fixed typos. #

Total comments: 8

Patch Set 18 : Resolved comments #

Patch Set 19 : Resolved comments #

Patch Set 20 : Fixed name #

Total comments: 8

Patch Set 21 : Final adjustments. #

Patch Set 22 : Retry after chunk mismatch #

Patch Set 23 : Implement tree walk for descendant class invalidation. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+672 lines, -103 lines) Patch
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M Source/core/css/RuleFeature.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +9 lines, -2 lines 0 comments Download
M Source/core/css/RuleFeature.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +23 lines, -6 lines 0 comments Download
M Source/core/css/RuleSet.cpp View 1 2 3 4 5 6 7 8 9 10 21 22 3 chunks +2 lines, -31 lines 0 comments Download
A + Source/core/css/analyzer/DescendantInvalidationSet.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +32 lines, -18 lines 0 comments Download
A Source/core/css/analyzer/DescendantInvalidationSet.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +93 lines, -0 lines 0 comments Download
A + Source/core/css/analyzer/RuleSetAnalyzer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +36 lines, -25 lines 0 comments Download
A Source/core/css/analyzer/RuleSetAnalyzer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +331 lines, -0 lines 0 comments Download
M Source/core/css/resolver/StyleResolver.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/resolver/StyleResolver.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/dom/Document.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 4 chunks +41 lines, -7 lines 0 comments Download
M Source/core/dom/Element.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +9 lines, -0 lines 0 comments Download
M Source/core/dom/Element.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 6 chunks +48 lines, -9 lines 0 comments Download
M Source/core/dom/Node.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +10 lines, -1 line 0 comments Download
M Source/core/dom/Node.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +19 lines, -0 lines 0 comments Download
M Source/core/dom/shadow/SelectRuleFeatureSet.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +8 lines, -0 lines 0 comments Download
M Source/core/dom/shadow/SelectRuleFeatureSet.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/style/RenderStyle.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +4 lines, -1 line 0 comments Download

Messages

Total messages: 18 (0 generated)
esprehn
6 years, 11 months ago (2014-01-08 22:30:45 UTC) #1
dglazkov
holy moley!
6 years, 11 months ago (2014-01-08 22:32:44 UTC) #2
chrishtr
FYI I chatted w/Elliot and will take over this patch. I had written a similar ...
6 years, 11 months ago (2014-01-08 22:34:54 UTC) #3
chrishtr
Ready for review. Passes all layout tests. I'm running some performance tests now.
6 years, 11 months ago (2014-01-14 21:02:03 UTC) #4
esprehn
My goal was to combine the invalidation into a single tree walk so you didn't ...
6 years, 11 months ago (2014-01-14 21:32:56 UTC) #5
esprehn
On 2014/01/14 21:32:56, esprehn wrote: > My goal was to combine the invalidation into a ...
6 years, 11 months ago (2014-01-14 21:34:58 UTC) #6
chrishtr
Removed the invalidation part for now, as that has to be rewritten to be more ...
6 years, 11 months ago (2014-01-14 23:33:00 UTC) #7
esprehn
https://codereview.chromium.org/129633003/diff/610001/Source/core/css/RuleFeature.h File Source/core/css/RuleFeature.h (right): https://codereview.chromium.org/129633003/diff/610001/Source/core/css/RuleFeature.h#newcode84 Source/core/css/RuleFeature.h:84: const RuleSetAnalyzer* getRuleSetAnalyzer() const; Still named wrong. https://codereview.chromium.org/129633003/diff/610001/Source/core/css/RuleFeature.h#newcode94 Source/core/css/RuleFeature.h:94: ...
6 years, 11 months ago (2014-01-15 04:27:32 UTC) #8
chrishtr
https://codereview.chromium.org/129633003/diff/610001/Source/core/css/RuleFeature.h File Source/core/css/RuleFeature.h (right): https://codereview.chromium.org/129633003/diff/610001/Source/core/css/RuleFeature.h#newcode94 Source/core/css/RuleFeature.h:94: RefPtr<RuleSetAnalyzer> ruleSetAnalyzer; On 2014/01/15 04:27:32, esprehn wrote: > Missing ...
6 years, 11 months ago (2014-01-15 18:28:21 UTC) #9
chrishtr
https://codereview.chromium.org/129633003/diff/610001/Source/core/css/RuleFeature.h File Source/core/css/RuleFeature.h (right): https://codereview.chromium.org/129633003/diff/610001/Source/core/css/RuleFeature.h#newcode84 Source/core/css/RuleFeature.h:84: const RuleSetAnalyzer* getRuleSetAnalyzer() const; On 2014/01/15 04:27:32, esprehn wrote: ...
6 years, 11 months ago (2014-01-15 18:29:16 UTC) #10
chrishtr
Does the patch look ok now? I'm already working on a second patch to implement ...
6 years, 11 months ago (2014-01-16 20:07:52 UTC) #11
esprehn
lgtm, fix nits before landing. https://codereview.chromium.org/129633003/diff/900001/Source/core/css/RuleFeature.cpp File Source/core/css/RuleFeature.cpp (right): https://codereview.chromium.org/129633003/diff/900001/Source/core/css/RuleFeature.cpp#newcode110 Source/core/css/RuleFeature.cpp:110: return m_ruleSetAnalyzer.get(); return *m_ruleSetAnalyzer; ...
6 years, 11 months ago (2014-01-16 20:11:47 UTC) #12
chrishtr
https://codereview.chromium.org/129633003/diff/900001/Source/core/css/RuleFeature.cpp File Source/core/css/RuleFeature.cpp (right): https://codereview.chromium.org/129633003/diff/900001/Source/core/css/RuleFeature.cpp#newcode110 Source/core/css/RuleFeature.cpp:110: return m_ruleSetAnalyzer.get(); On 2014/01/16 20:11:48, esprehn wrote: > return ...
6 years, 11 months ago (2014-01-16 20:46:21 UTC) #13
commit-bot: I haz the power
No LGTM from a valid reviewer yet. Only full committers are accepted. Even if an ...
6 years, 11 months ago (2014-01-16 20:46:36 UTC) #14
esprehn
lgtm
6 years, 11 months ago (2014-01-16 20:53:58 UTC) #15
dglazkov
lGtM
6 years, 11 months ago (2014-01-16 20:56:16 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/esprehn@chromium.org/129633003/1120001
6 years, 11 months ago (2014-01-16 21:00:26 UTC) #17
commit-bot: I haz the power
6 years, 11 months ago (2014-01-16 22:59:41 UTC) #18
Message was sent while issue was closed.
Change committed as 165256

Powered by Google App Engine
This is Rietveld 408576698