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

Issue 2107903002: Repaint non-stacking-context composited children when they scroll. (Closed)

Created:
4 years, 5 months ago by skobes
Modified:
4 years, 5 months ago
Reviewers:
Ian Vollick, chrishtr
CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Repaint non-stacking-context composited children when they scroll. When a PaintLayerScrollableArea is not using composited scrolling, it must usually issue a paint invalidation for every scroll, but it can skip the invalidation if all scrolling content is composited. This optimization was added by http://crrev.com/27239004. However, one subtlety was not accounted for: a composited child that is not a stacking context paints negative z-index content into the GraphicsLayer of the nearest stacking-context ancestor. If we have such a child, we must still issue the invalidation. Note that any any transform-related property creates a stacking context (see call to setZIndex(0) in StyleAdjuster::adjustComputedStyle), so this will not de-optimize scrollers that force compositing with translateZ(0) or similar. BUG=596060 Committed: https://crrev.com/188d4f93b86d9640ccf1f05f85e08694e358fc14 Cr-Commit-Position: refs/heads/master@{#402612}

Patch Set 1 : '' #

Patch Set 2 : Add test. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+153 lines, -17 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-composited-non-stacking-child.html View 1 1 chunk +57 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-composited-non-stacking-child-expected.txt View 1 1 chunk +78 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.h View 3 chunks +5 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 3 chunks +10 lines, -7 lines 2 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 21 (11 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2107903002/40001
4 years, 5 months ago (2016-06-28 20:20:01 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2107903002/60001
4 years, 5 months ago (2016-06-28 21:37:10 UTC) #6
skobes
4 years, 5 months ago (2016-06-28 21:58:51 UTC) #10
chrishtr
https://codereview.chromium.org/2107903002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): https://codereview.chromium.org/2107903002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayer.cpp#newcode650 third_party/WebKit/Source/core/paint/PaintLayer.cpp:650: // negative z-index descendants into an ancestor's GraphicsLayer. Couldn't ...
4 years, 5 months ago (2016-06-28 22:33:06 UTC) #11
skobes
https://codereview.chromium.org/2107903002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): https://codereview.chromium.org/2107903002/diff/60001/third_party/WebKit/Source/core/paint/PaintLayer.cpp#newcode650 third_party/WebKit/Source/core/paint/PaintLayer.cpp:650: // negative z-index descendants into an ancestor's GraphicsLayer. On ...
4 years, 5 months ago (2016-06-28 22:55:53 UTC) #12
chrishtr
lgtm
4 years, 5 months ago (2016-06-28 23:33:18 UTC) #13
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 5 months ago (2016-06-28 23:36:27 UTC) #15
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/2107903002/60001
4 years, 5 months ago (2016-06-28 23:53:41 UTC) #17
commit-bot: I haz the power
Committed patchset #2 (id:60001)
4 years, 5 months ago (2016-06-29 00:23:24 UTC) #19
commit-bot: I haz the power
4 years, 5 months ago (2016-06-29 00:26:15 UTC) #21
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/188d4f93b86d9640ccf1f05f85e08694e358fc14
Cr-Commit-Position: refs/heads/master@{#402612}

Powered by Google App Engine
This is Rietveld 408576698