DescriptionMove RenderLayerCompositor trigger caching to be when settings change
m_hasAcceleratedCompositing, m_showRepaintCounter and
m_compositingTriggers are all just caches of values in Settings.
Instead of updating them after every style recalc and layout,
we should update them when the settings in question change.
Add an invalidation hook to Settings for updating compositing
triggers. Also, remove the hook that forces a style recalc
in acceleratedCompositingEnabled and showRepaintCounter.
As best I can tell, this call doesn't make sense anymore.
Compositing state can affect the results of style recalc,
but we're not actually setting needs recalc on any nodes,
so we wouldn't update them unless they already needed
recalc. I traced this back to
http://src.chromium.org/viewvc/blink?view=revision&revision=45199.
In addition to minimizing the amount of chicken-egg settings
update we have, this enables moving the accelerated fixed position
setting to being a trigger in CompositingReasonFinder
in https://codereview.chromium.org/231613002/. Without this patch,
we incorrectly get the wrong trigger value because we read
the compositing triggers inside of style recalc.
Unfortunately, we still need to set m_forceCompsitingMode in
updateCompositingLayersAfterLayout because layout can affect
whether we believe an iframe's content to be scrollable,
and thus whether it should be force composited.
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=171366
Patch Set 1 #
Total comments: 3
Patch Set 2 : fixed WebViewTest.SetBaseBackgroundColorAndBlendWithExistingContent #
Messages
Total messages: 20 (0 generated)
|