Revert of Prepare for multiple !important author ranges. (patchset #11...
Revert of Prepare for multiple !important author ranges. (patchset #11 id:200001 of https://codereview.chromium.org/1282243002/ ) Reason for revert: This caused oilpan plugin errors on Windows. From http://build.chromium.org/p/chromium.fyi/builders/ClangToTWin/builds/2535/steps/compile/logs/stdio: ..\..\third_party\WebKit\Source\core/css/resolver/MatchResult.h(115,1) : error: [blink-gc] Class 'ImportantAuthorRangeIterator' contains invalid fields. class ImportantAuthorRangeIterator { ^ ..\..\third_party\WebKit\Source\core/css/resolver/MatchResult.h(140,5) : note: [blink-gc] Stack-allocated field 'm_result' declared here: const MatchResult& m_result; ^ ..\..\third_party\WebKit\Source\core/css/resolver/MatchResult.h(144,1) : error: [blink-gc] Class 'ImportantAuthorRanges' contains invalid fields. class ImportantAuthorRanges { ^ ..\..\third_party\WebKit\Source\core/css/resolver/MatchResult.h(152,5) : note: [blink-gc] Stack-allocated field 'm_result' declared here: const MatchResult& m_result; ^ Original issue's description: > Prepare for multiple !important author ranges. > > This CL is split out from [1] where we support multiple author origins in > terms of shadow dom scopes. The vector of MatchedProperties contains > matched declarations from all origins in the order in which they should > be applied. For !important declarations, they are applied in the same > order within the same origin, but the order of the origins are different > as the cascading order is: > > - UA important > - Author important > - Author > - UA > > We used to have two ranges, one for UA and one for author to accomplish > this. However, with the normal/!important cascading order for > declarations from different shadow doms, we need multiple author ranges: > > - UA important > - Author important scope n > ... > - Author important scope 1 > - Author scope 1 > ... > - Author scope n > - UA > > We introduce an ImportantAuthorRangeIterator to iterate through the > author ranges and add iterator-style iteration for each range through the > MatchedPropertiesRange class. > > As the applyMatchedProperties code is hot, I've run the blink_perf.css > tests locally. Some improved by 2-4%, some became worse by similar > percentages. > > [1] https://codereview.chromium.org/1224673002/ > > BUG=487125 > TEST=fast/css > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=200697 TBR=kochi@chromium.org,timloh@chromium.org,rune@opera.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=487125 Review URL: https://codereview.chromium.org/1303513002 git-svn-id: svn://svn.chromium.org/blink/trunk@200728 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Showing
Please register or sign in to comment