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

Issue 1312493007: Fix table cell background caching issue about interest rect (Closed)

Created:
5 years, 3 months ago by Xianzhu
Modified:
5 years, 3 months ago
Reviewers:
chrishtr, pdr.
CC:
blink-reviews, blink-reviews-paint_chromium.org, Rik, danakj, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Fix table cell background caching issue about interest rect For all display items for one object, if we check for interect rect intersection and early return, we must use the same rule. Otherwise, we may generate display item A but not display item B in some cases; and once we generate display item B again, we'll mistakenly generate CachedDisplayItem for it because we think the object is validly cached. Table cell may generate more than two display items for backgrounds, one drawing backgrounds from containers, one drawing its own background. Previously they use different early return rules. Now let them use the same rule (BlockPainter::isVisibleInPaintRect()). Also add DisplayItem::TableCellBackgroundFromContainers because the display items are issued by TableSectionPainter which doesn't know if TableCellPainter::paint() would use the phase for other display items. BUG=522338 TEST=DisplayItemListPaintTest.TableCellBackbroundInterestRect Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201820

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 4

Patch Set 4 : #

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+216 lines, -148 lines) Patch
M Source/core/core.gypi View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/paint/BlockPainter.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/paint/BlockPainter.cpp View 1 2 3 2 chunks +11 lines, -16 lines 0 comments Download
A Source/core/paint/DisplayItemListPaintTest.h View 1 2 3 4 1 chunk +140 lines, -0 lines 0 comments Download
M Source/core/paint/DisplayItemListPaintTest.cpp View 1 2 3 1 chunk +1 line, -127 lines 0 comments Download
A Source/core/paint/TableCellPainterTest.cpp View 1 2 3 4 1 chunk +52 lines, -0 lines 0 comments Download
M Source/core/paint/TableSectionPainter.cpp View 1 2 3 3 chunks +5 lines, -3 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItem.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M Source/platform/graphics/paint/DisplayItem.cpp View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (3 generated)
Xianzhu
5 years, 3 months ago (2015-09-03 01:34:38 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1312493007/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1312493007/20001
5 years, 3 months ago (2015-09-03 01:34:52 UTC) #4
chrishtr
https://codereview.chromium.org/1312493007/diff/40001/Source/core/paint/BlockPainter.h File Source/core/paint/BlockPainter.h (right): https://codereview.chromium.org/1312493007/diff/40001/Source/core/paint/BlockPainter.h#newcode40 Source/core/paint/BlockPainter.h:40: bool isVisibleInPaintRect(const PaintInfo&, const LayoutPoint& paintOffset) const; intersectsPaintRect https://codereview.chromium.org/1312493007/diff/40001/Source/core/paint/DisplayItemListPaintTest.cpp ...
5 years, 3 months ago (2015-09-03 17:25:34 UTC) #5
Xianzhu
https://codereview.chromium.org/1312493007/diff/40001/Source/core/paint/BlockPainter.h File Source/core/paint/BlockPainter.h (right): https://codereview.chromium.org/1312493007/diff/40001/Source/core/paint/BlockPainter.h#newcode40 Source/core/paint/BlockPainter.h:40: bool isVisibleInPaintRect(const PaintInfo&, const LayoutPoint& paintOffset) const; On 2015/09/03 ...
5 years, 3 months ago (2015-09-04 16:52:56 UTC) #6
pdr.
On 2015/09/04 at 16:52:56, wangxianzhu wrote: > https://codereview.chromium.org/1312493007/diff/40001/Source/core/paint/BlockPainter.h > File Source/core/paint/BlockPainter.h (right): > > https://codereview.chromium.org/1312493007/diff/40001/Source/core/paint/BlockPainter.h#newcode40 ...
5 years, 3 months ago (2015-09-04 16:53:28 UTC) #7
chrishtr
lgtm
5 years, 3 months ago (2015-09-04 17:40:38 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1312493007/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1312493007/80001
5 years, 3 months ago (2015-09-04 18:31:18 UTC) #10
commit-bot: I haz the power
5 years, 3 months ago (2015-09-04 20:33:53 UTC) #11
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=201820

Powered by Google App Engine
This is Rietveld 408576698