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

Issue 233323004: Move RenderLayerCompositor trigger caching to be when settings change (Closed)

Created:
6 years, 8 months ago by ojan
Modified:
6 years, 8 months ago
CC:
blink-reviews, bemjb+rendering_chromium.org, dsinclair, zoltan1, eae+blinkwatch, leviw+renderwatch, abarth-chromium, jchaffraix+rendering, pdr., rune+blink
Visibility:
Public.

Description

Move 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+71 lines, -33 lines) Patch
M Source/core/frame/FrameView.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/frame/FrameView.cpp View 3 chunks +7 lines, -5 lines 0 comments Download
M Source/core/frame/Settings.in View 3 chunks +13 lines, -14 lines 0 comments Download
M Source/core/frame/SettingsDelegate.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/Page.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/page/Page.cpp View 1 1 chunk +11 lines, -0 lines 0 comments Download
M Source/core/rendering/compositing/RenderLayerCompositor.h View 1 1 chunk +3 lines, -1 line 0 comments Download
M Source/core/rendering/compositing/RenderLayerCompositor.cpp View 1 3 chunks +20 lines, -8 lines 0 comments Download
M Source/web/ChromeClientImpl.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/web/WebViewImpl.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M Source/web/WebViewImpl.cpp View 1 4 chunks +11 lines, -3 lines 0 comments Download

Messages

Total messages: 20 (0 generated)
ojan
https://codereview.chromium.org/233323004/diff/1/Source/web/ChromeClientImpl.cpp File Source/web/ChromeClientImpl.cpp (right): https://codereview.chromium.org/233323004/diff/1/Source/web/ChromeClientImpl.cpp#newcode734 Source/web/ChromeClientImpl.cpp:734: if (settings.acceleratedCompositingForCanvasEnabled()) Reordered these to match the order in ...
6 years, 8 months ago (2014-04-11 02:10:23 UTC) #1
esprehn
lgtm https://codereview.chromium.org/233323004/diff/1/Source/core/rendering/compositing/RenderLayerCompositor.cpp File Source/core/rendering/compositing/RenderLayerCompositor.cpp (right): https://codereview.chromium.org/233323004/diff/1/Source/core/rendering/compositing/RenderLayerCompositor.cpp#newcode146 Source/core/rendering/compositing/RenderLayerCompositor.cpp:146: // FIXME: Can settings really be null here? ...
6 years, 8 months ago (2014-04-11 02:49:19 UTC) #2
esprehn
The CQ bit was checked by esprehn@chromium.org
6 years, 8 months ago (2014-04-11 02:49:23 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ojan@chromium.org/233323004/1
6 years, 8 months ago (2014-04-11 02:49:27 UTC) #4
ojan
https://codereview.chromium.org/233323004/diff/1/Source/core/rendering/compositing/RenderLayerCompositor.cpp File Source/core/rendering/compositing/RenderLayerCompositor.cpp (right): https://codereview.chromium.org/233323004/diff/1/Source/core/rendering/compositing/RenderLayerCompositor.cpp#newcode146 Source/core/rendering/compositing/RenderLayerCompositor.cpp:146: // FIXME: Can settings really be null here? On ...
6 years, 8 months ago (2014-04-11 03:08:48 UTC) #5
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-11 03:18:03 UTC) #6
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.blink on linux_blink_dbg
6 years, 8 months ago (2014-04-11 03:18:03 UTC) #7
ojan
The CQ bit was checked by ojan@chromium.org
6 years, 8 months ago (2014-04-11 04:37:24 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ojan@chromium.org/233323004/1
6 years, 8 months ago (2014-04-11 04:37:29 UTC) #9
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-11 04:52:15 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.blink on linux_blink_rel
6 years, 8 months ago (2014-04-11 04:52:15 UTC) #11
ojan
The CQ bit was checked by ojan@chromium.org
6 years, 8 months ago (2014-04-11 16:58:36 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ojan@chromium.org/233323004/1
6 years, 8 months ago (2014-04-11 16:58:55 UTC) #13
ojan
The CQ bit was unchecked by ojan@chromium.org
6 years, 8 months ago (2014-04-11 17:12:36 UTC) #14
ojan
Ugh, the webkit_unit_tests failure is my fault.
6 years, 8 months ago (2014-04-11 17:12:52 UTC) #15
ojan
Fixed. Please take another look. The issue was that ChromeClientImpl::allowedCompositingTriggers reads m_webView->allowsAcceleratedCompositing, which returns !m_compositorCreationFailed. ...
6 years, 8 months ago (2014-04-11 18:27:12 UTC) #16
esprehn
lgtm
6 years, 8 months ago (2014-04-11 18:37:24 UTC) #17
ojan
The CQ bit was checked by ojan@chromium.org
6 years, 8 months ago (2014-04-11 18:50:50 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ojan@chromium.org/233323004/20001
6 years, 8 months ago (2014-04-11 18:50:55 UTC) #19
commit-bot: I haz the power
6 years, 8 months ago (2014-04-11 20:29:22 UTC) #20
Message was sent while issue was closed.
Change committed as 171366

Powered by Google App Engine
This is Rietveld 408576698