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

Issue 1626623002: Skip PaintPhaseDescendantBlockBackgroundsOnly phase if possible (Closed)

Created:
4 years, 11 months ago by Xianzhu
Modified:
4 years, 10 months ago
Reviewers:
chrishtr
CC:
blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, slimming-paint-reviews_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@FloatPhase
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Skip PaintPhaseDescendantBlockBackgroundsOnly phase if possible Set containing self-painting layer's needsPaintPhaseDescendantBlockBackground() if needed during paint invalidation, and skip the phase of the layer during painting if the flag is not set. Also modified how TableSectionPainter and TableRowPainter handle PaintPhaseSelfBlockBackgroundOnly to make this CL applicable to them. Previously they ignored PaintPhaseSelfBlockBackgroundOnly and painted their own backgrounds in PaintPhaseDescendantBlockBackgroundsOnly behind cell. This conflicts with how LayoutBox::invalidatePaintIfNeeded() sets needsPaintPhaseDescendantBlockBackground(). BUG=574938 TEST=PaintLayerPainterTest.PaintPhaseBlockBackground Committed: https://crrev.com/99290b961c890e340db97b3d63028b3cf5511d32 Cr-Commit-Position: refs/heads/master@{#372730}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Rebase #

Total comments: 2

Patch Set 4 : Seperate out https://codereview.chromium.org/1646743002 #

Patch Set 5 : Rebase #

Total comments: 2

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+61 lines, -6 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.h View 1 2 3 4 5 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp View 1 2 3 4 5 1 chunk +5 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp View 1 2 3 4 2 chunks +42 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 19 (7 generated)
Xianzhu
4 years, 11 months ago (2016-01-22 22:14:54 UTC) #3
chrishtr
https://codereview.chromium.org/1626623002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/1626623002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1470 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1470: if (isFloating()) Floats? Looks like you need to sync ...
4 years, 11 months ago (2016-01-26 21:43:15 UTC) #4
Xianzhu
https://codereview.chromium.org/1626623002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/1626623002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1470 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1470: if (isFloating()) On 2016/01/26 21:43:15, chrishtr wrote: > Floats? ...
4 years, 11 months ago (2016-01-26 21:56:15 UTC) #5
Xianzhu
On 2016/01/26 21:56:15, Xianzhu wrote: > https://codereview.chromium.org/1626623002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp > File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): > > https://codereview.chromium.org/1626623002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1470 > ...
4 years, 11 months ago (2016-01-26 22:12:51 UTC) #7
chrishtr
https://codereview.chromium.org/1626623002/diff/80001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp File third_party/WebKit/Source/core/paint/TableRowPainter.cpp (right): https://codereview.chromium.org/1626623002/diff/80001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp#newcode30 third_party/WebKit/Source/core/paint/TableRowPainter.cpp:30: TableCellPainter(*cell).paintBackgroundsBehindCell(paintInfoForCells, paintOffset, &m_layoutTableRow, DisplayItem::TableCellBackgroundFromRow); Won't this paint twice now? ...
4 years, 10 months ago (2016-01-27 23:51:47 UTC) #9
Xianzhu
https://codereview.chromium.org/1626623002/diff/80001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp File third_party/WebKit/Source/core/paint/TableRowPainter.cpp (right): https://codereview.chromium.org/1626623002/diff/80001/third_party/WebKit/Source/core/paint/TableRowPainter.cpp#newcode30 third_party/WebKit/Source/core/paint/TableRowPainter.cpp:30: TableCellPainter(*cell).paintBackgroundsBehindCell(paintInfoForCells, paintOffset, &m_layoutTableRow, DisplayItem::TableCellBackgroundFromRow); On 2016/01/27 23:51:47, chrishtr wrote: ...
4 years, 10 months ago (2016-01-28 00:13:14 UTC) #10
chrishtr
https://codereview.chromium.org/1626623002/diff/120001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/1626623002/diff/120001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1474 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1474: if (hasBoxDecorationBackground() || (hasOverflowClip() && scrollableArea()->hasOverflowControls())) { Why the ...
4 years, 10 months ago (2016-02-01 17:43:49 UTC) #11
Xianzhu
https://codereview.chromium.org/1626623002/diff/120001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/1626623002/diff/120001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1474 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1474: if (hasBoxDecorationBackground() || (hasOverflowClip() && scrollableArea()->hasOverflowControls())) { On 2016/02/01 ...
4 years, 10 months ago (2016-02-01 17:58:39 UTC) #12
chrishtr
lgtm
4 years, 10 months ago (2016-02-01 18:41:12 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1626623002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1626623002/140001
4 years, 10 months ago (2016-02-01 18:42:12 UTC) #15
commit-bot: I haz the power
Committed patchset #6 (id:140001)
4 years, 10 months ago (2016-02-01 19:58:47 UTC) #17
commit-bot: I haz the power
4 years, 10 months ago (2016-02-01 19:59:46 UTC) #19
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/99290b961c890e340db97b3d63028b3cf5511d32
Cr-Commit-Position: refs/heads/master@{#372730}

Powered by Google App Engine
This is Rietveld 408576698