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

Issue 354613003: Properly repaint RenderLayer's descendants when it moves (Closed)

Created:
6 years, 6 months ago by leviw_travelin_and_unemployed
Modified:
6 years, 6 months ago
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-rendering, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr., rune+blink, zoltan1
Project:
blink
Visibility:
Public.

Description

Properly repaint RenderLayer's descendants when it moves When a RenderLayer moves, it can cause non-composited descendants of itself that are placed relatively to it to need to be repainted. These descandants may not have needed layout themselves, nor have they moved as far as the RenderLayer itself is concerned. This patch forces all descendant RenderLayers of a moved ancestor to at a minimum be checked by invalidateTreeAfterLayout to see if they need to be repainted. Ideally we'd bail in markDescendantLayersMayNeedPaintInvalidation when we hit a composited layer, but because updateLayerPositions occurs before compositing update, this would be a chicken and egg problem. BUG=385103 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=176880

Patch Set 1 #

Patch Set 2 : Add test expectations #

Total comments: 2

Patch Set 3 : Use a flag instead of a seperate tree walk. #

Messages

Total messages: 9 (0 generated)
leviw_travelin_and_unemployed
6 years, 6 months ago (2014-06-24 18:42:40 UTC) #1
dsinclair
lgtm. Looks like you need some rebaselines though.
6 years, 6 months ago (2014-06-24 19:17:50 UTC) #2
leviw_travelin_and_unemployed
On 2014/06/24 at 19:17:50, dsinclair wrote: > lgtm. Looks like you need some rebaselines though. ...
6 years, 6 months ago (2014-06-24 20:00:35 UTC) #3
esprehn
https://codereview.chromium.org/354613003/diff/20001/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/354613003/diff/20001/Source/core/rendering/RenderLayer.cpp#newcode262 Source/core/rendering/RenderLayer.cpp:262: for (RenderLayer* childLayer = firstChild(); childLayer; childLayer = childLayer->nextSibling()) ...
6 years, 6 months ago (2014-06-24 20:37:07 UTC) #4
leviw_travelin_and_unemployed
On 2014/06/24 at 20:37:07, esprehn wrote: > https://codereview.chromium.org/354613003/diff/20001/Source/core/rendering/RenderLayer.cpp > File Source/core/rendering/RenderLayer.cpp (right): > > https://codereview.chromium.org/354613003/diff/20001/Source/core/rendering/RenderLayer.cpp#newcode262 ...
6 years, 6 months ago (2014-06-24 20:44:43 UTC) #5
esprehn
On 2014/06/24 at 20:44:43, leviw wrote: > On 2014/06/24 at 20:37:07, esprehn wrote: > > ...
6 years, 6 months ago (2014-06-24 20:54:40 UTC) #6
leviw_travelin_and_unemployed
The CQ bit was checked by leviw@chromium.org
6 years, 6 months ago (2014-06-24 20:59:10 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/leviw@chromium.org/354613003/40001
6 years, 6 months ago (2014-06-24 20:59:19 UTC) #8
commit-bot: I haz the power
6 years, 6 months ago (2014-06-24 22:21:23 UTC) #9
Message was sent while issue was closed.
Change committed as 176880

Powered by Google App Engine
This is Rietveld 408576698