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

Issue 2572473006: Revert of Collect active stylesheets and and apply asynchronously. (Closed)

Created:
4 years ago by paulmeyer
Modified:
4 years ago
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-css, blink-reviews-dom_chromium.org, blink-reviews-style_chromium.org, caseq+blink_chromium.org, chromium-reviews, devtools-reviews_chromium.org, dglazkov+blink, eae+blinkwatch, Eric Willigers, kozyatinskiy+blink_chromium.org, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, rjwright, rwlbuis, shans, sof
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Collect active stylesheets and and apply asynchronously. (patchset #4 id:60001 of https://codereview.chromium.org/2557533005/ ) Reason for revert: Suspected cause of failing WebKit tests on bots. Example: https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Mac10.11%20%28dbg%29/builds/6390 BUG=673850 Original issue's description: > Collect active stylesheets and and apply asynchronously. > > This CL enables asynchronously updating the lists of active stylesheets > applying any style changes using rule set invalidations. This means we > more often avoid full style recalcs when we add or remove stylesheets > from the document as well as when the evaluation of media queries > change. > > In general, we now alway compare new and old stylesheets by comparing > their rulesets and schedule style invalidations for removed and added > rulesets. > > When media queries changes, we used to give completely in and > recalculate all style once we discovered a media query changed its > evaluation. With this patch, we clear rule sets for sheets which > contain media queries which means we will invalidate rules for the sets > before and after the query change. This can be further refined by only > clearing rule sets when the sheets has a media query which actually did > change evaluation, and also just schedule invalidations for rules which > are inside @media rules. > > TreeScopeStyleSheetCollectionTest.cpp is removed as it is replaced by > ActiveStyleSheetsTest.cpp which landed earlier. > > updateActiveStyle() has been added a few places where > ensureStyleResolver() previously caused active stylesheets to be up-to- > date. ensureStyleResolver() is now merely a method which creates the > StyleResolver if necessary and returns it. > > There are some cleanups and code removal which needs to be done after > this CL, but I have left those out to make this CL as small as > possible. For instance resolverChanged(), which synchronously updated > the active stylesheets, has an empty implementation instead of > including a lot of removals in this CL. The code for lazy-appending > stylesheets in StyleResolver is still there, but not in use. > > R=meade@chromium.org > BUG=567021 > > Committed: https://crrev.com/9fb5b60edfb769134733009f9447bad3eaf347b0 > Cr-Commit-Position: refs/heads/master@{#438148} TBR=esprehn@chromium.org,meade@chromium.org,sashab@chromium.org,rune@opera.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=567021 Committed: https://crrev.com/14e73349c627e9e861263bd069d63ac7df9c3147 Cr-Commit-Position: refs/heads/master@{#438278}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+588 lines, -142 lines) Patch
M third_party/WebKit/LayoutTests/animations/add-keyframes-in-shadow-recalc.html View 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/css/modify-stylesheet-minimal-recalc-style.html View 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/css/modify-stylesheet-minimal-recalc-style-expected.txt View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/FontFaceSet.cpp View 2 chunks +3 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/css/StyleSheetContents.cpp View 2 chunks +11 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 2 chunks +3 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DocumentStyleSheetCollection.h View 3 chunks +5 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DocumentStyleSheetCollection.cpp View 2 chunks +49 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DocumentStyleSheetCollector.h View 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DocumentStyleSheetCollector.cpp View 2 chunks +7 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/dom/ShadowTreeStyleSheetCollection.h View 3 chunks +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/ShadowTreeStyleSheetCollection.cpp View 2 chunks +36 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/dom/StyleEngine.h View 8 chunks +19 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/dom/StyleEngine.cpp View 9 chunks +87 lines, -26 lines 0 comments Download
M third_party/WebKit/Source/core/dom/StyleEngineTest.cpp View 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/StyleSheetCollection.h View 4 chunks +7 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/dom/StyleSheetCollection.cpp View 2 chunks +14 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.h View 3 chunks +37 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollection.cpp View 2 chunks +127 lines, -19 lines 0 comments Download
A third_party/WebKit/Source/core/dom/TreeScopeStyleSheetCollectionTest.cpp View 1 chunk +152 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 3 chunks +1 line, -5 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp View 1 chunk +6 lines, -3 lines 0 comments Download

Messages

Total messages: 11 (4 generated)
paulmeyer
Created Revert of Collect active stylesheets and and apply asynchronously.
4 years ago (2016-12-13 20:52:31 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2572473006/1
4 years ago (2016-12-13 20:53:29 UTC) #3
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years ago (2016-12-13 20:55:26 UTC) #6
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/14e73349c627e9e861263bd069d63ac7df9c3147 Cr-Commit-Position: refs/heads/master@{#438278}
4 years ago (2016-12-13 20:57:23 UTC) #8
esprehn
Is there a public builder link? The contributor is external to Google, they can't see ...
4 years ago (2016-12-13 21:02:02 UTC) #9
esprehn
On 2016/12/13 at 21:02:02, esprehn wrote: > Is there a public builder link? The contributor ...
4 years ago (2016-12-13 21:04:08 UTC) #10
rune
4 years ago (2016-12-13 21:45:44 UTC) #11
Message was sent while issue was closed.
On 2016/12/13 21:04:08, esprehn wrote:
> On 2016/12/13 at 21:02:02, esprehn wrote:
> > Is there a public builder link? The contributor is external to Google, they
> can't see the .corp.google.com links.
> 
> rune@ FYI:
> 
> webkit_tests webkit_tests
> 
> unexpected_failures:
> virtual/mojo-loading/http/tests/webfont/font-display.html
> http/tests/webfont/font-display.html
> virtual/mojo-loading/http/tests/webfont/font-display-intervention.html
> http/tests/webfont/font-display-intervention.html
> 
> Total executed: 47002

Thanks. Luckily I have a MacBook with this patch compiled readily available here
and it turns out both tests fail with --debug and not in release.

Powered by Google App Engine
This is Rietveld 408576698