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

Issue 744163002: Enable fast/images with slimming paint (Closed)

Created:
6 years, 1 month ago by leviw_travelin_and_unemployed
Modified:
6 years ago
Reviewers:
chrishtr, pdr.
CC:
blink-reviews, blink-reviews-paint_chromium.org, slimming-paint-reviews_chromium.org
Project:
blink
Visibility:
Public.

Description

Enable virtual/slimmingpaint/fast/images test suite. - Refactor LayerTransparencyHelper to a more generic TransparencyRecorder. - Fix an instance of raw clipping in HTMLCanvasPainter. - Take clipping out of TransparencyDisplayItems. NOTRY=true Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=185982

Patch Set 1 #

Patch Set 2 : ToT-ed #

Patch Set 3 : Remove bad merge in virtual test suites #

Total comments: 3

Patch Set 4 : ToT-ed #

Patch Set 5 : Add missing file #

Patch Set 6 : Added a bool to control clipping #

Patch Set 7 : ToT-ed with enum. #

Total comments: 3

Patch Set 8 : New Types! #

Total comments: 2

Patch Set 9 : Honey Badger don't care one bit #

Patch Set 10 : New HTMLCanvasClipper... tho I almost shoehorned this into BoxClipper #

Patch Set 11 : Now with all the files! #

Patch Set 12 : Fix VirtualTestSuites. #

Total comments: 3

Patch Set 13 : Refactor #

Patch Set 14 : remove unnecessary numbers #

Total comments: 1

Patch Set 15 : finish this pdr #

Patch Set 16 : Add additional test expectation for icon decoding #

Patch Set 17 : ToT-ed #

Patch Set 18 : fix compile #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+214 lines, -353 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +6 lines, -0 lines 0 comments Download
M LayoutTests/VirtualTestSuites View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -0 lines 0 comments Download
A + LayoutTests/virtual/slimmingpaint/fast/images/README.txt View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +3 lines, -1 line 0 comments Download
M Source/core/paint/BoxClipper.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -34 lines 0 comments Download
M Source/core/paint/BoxPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +5 lines, -6 lines 1 comment Download
M Source/core/paint/ClipRecorder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +9 lines, -28 lines 0 comments Download
M Source/core/paint/ClipRecorder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +52 lines, -77 lines 0 comments Download
D Source/core/paint/ClipRecorderTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -56 lines 0 comments Download
M Source/core/paint/FilterPainter.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/paint/FilterPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/paint/HTMLCanvasPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +7 lines, -8 lines 3 comments Download
A + Source/core/paint/LayerClipRecorder.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +7 lines, -30 lines 0 comments Download
A + Source/core/paint/LayerClipRecorder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +5 lines, -4 lines 0 comments Download
A + Source/core/paint/LayerClipRecorderTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +5 lines, -5 lines 0 comments Download
M Source/core/paint/LayerPainter.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/paint/LayerPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 10 chunks +28 lines, -54 lines 0 comments Download
M Source/core/paint/TransparencyDisplayItem.h View 1 2 3 4 5 6 7 8 3 chunks +15 lines, -3 lines 0 comments Download
M Source/core/paint/TransparencyDisplayItem.cpp View 1 2 3 4 5 6 7 8 4 chunks +25 lines, -9 lines 0 comments Download
M Source/core/paint/ViewDisplayList.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +30 lines, -29 lines 0 comments Download
M Source/core/paint/ViewDisplayList.cpp View 1 2 3 4 5 6 7 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/paint/ViewDisplayListTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +4 lines, -4 lines 0 comments Download

Messages

Total messages: 76 (21 generated)
leviw_travelin_and_unemployed
6 years, 1 month ago (2014-11-20 19:50:51 UTC) #2
chrishtr
Also, the raw clipping is in HTMLCanvasPainter, not BoxPainter. https://codereview.chromium.org/744163002/diff/40001/Source/core/paint/TransparencyDisplayItem.h File Source/core/paint/TransparencyDisplayItem.h (right): https://codereview.chromium.org/744163002/diff/40001/Source/core/paint/TransparencyDisplayItem.h#newcode14 Source/core/paint/TransparencyDisplayItem.h:14: ...
6 years, 1 month ago (2014-11-20 20:01:24 UTC) #3
leviw_travelin_and_unemployed
> Also, the raw clipping is in HTMLCanvasPainter, not BoxPainter. Good point :) https://codereview.chromium.org/744163002/diff/40001/Source/core/paint/TransparencyDisplayItem.h File ...
6 years, 1 month ago (2014-11-20 20:09:36 UTC) #4
pdr.
LGTM modulo compile failure and Chris's comment about the change description.
6 years, 1 month ago (2014-11-20 20:10:02 UTC) #5
chrishtr
https://codereview.chromium.org/744163002/diff/40001/Source/core/paint/TransparencyDisplayItem.h File Source/core/paint/TransparencyDisplayItem.h (right): https://codereview.chromium.org/744163002/diff/40001/Source/core/paint/TransparencyDisplayItem.h#newcode14 Source/core/paint/TransparencyDisplayItem.h:14: // FIXME: Move this file to TransparencyRecorder On 2014/11/20 ...
6 years, 1 month ago (2014-11-20 20:10:47 UTC) #6
chrishtr
lgtm
6 years, 1 month ago (2014-11-20 20:10:55 UTC) #7
leviw_travelin_and_unemployed
Thanks guys :)
6 years, 1 month ago (2014-11-20 20:14:49 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/80001
6 years, 1 month ago (2014-11-20 21:14:37 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/31956)
6 years, 1 month ago (2014-11-20 21:27:58 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/80001
6 years, 1 month ago (2014-11-20 21:37:49 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/34798)
6 years, 1 month ago (2014-11-20 22:43:02 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/80001
6 years, 1 month ago (2014-11-20 23:16:51 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/31999)
6 years, 1 month ago (2014-11-21 00:07:38 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/80001
6 years, 1 month ago (2014-11-21 01:34:56 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/32044)
6 years, 1 month ago (2014-11-21 03:18:45 UTC) #24
leviw_travelin_and_unemployed
Damn... PTAL. Turns out we don't always want clipping when we create a transparency layer. ...
6 years, 1 month ago (2014-11-21 20:01:09 UTC) #25
chrishtr
https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/BoxPainter.cpp File Source/core/paint/BoxPainter.cpp (right): https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/BoxPainter.cpp#newcode536 Source/core/paint/BoxPainter.cpp:536: paintInfo.context->setCompositeOperation(CompositeDestinationIn); This line needs to be in a display ...
6 years, 1 month ago (2014-11-21 20:08:26 UTC) #26
chrishtr
https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/TransparencyDisplayItem.cpp File Source/core/paint/TransparencyDisplayItem.cpp (right): https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/TransparencyDisplayItem.cpp#newcode17 Source/core/paint/TransparencyDisplayItem.cpp:17: if (m_clipBehavior == ClipToRect) { Should we just create ...
6 years, 1 month ago (2014-11-21 20:09:02 UTC) #27
pdr.
https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/LayerPainter.cpp File Source/core/paint/LayerPainter.cpp (right): https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/LayerPainter.cpp#newcode212 Source/core/paint/LayerPainter.cpp:212: transparencyRecorder = adoptPtr(new TransparencyRecorder(context, m_renderLayer.renderer(), DisplayItem::BeginTransparency, m_renderLayer.paintingExtent(paintingInfo.rootLayer, paintingInfo.paintDirtyRect, What ...
6 years, 1 month ago (2014-11-21 20:09:05 UTC) #28
leviw_travelin_and_unemployed
On 2014/11/21 at 20:09:05, pdr wrote: > https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/LayerPainter.cpp > File Source/core/paint/LayerPainter.cpp (right): > > https://codereview.chromium.org/744163002/diff/120001/Source/core/paint/LayerPainter.cpp#newcode212 ...
6 years, 1 month ago (2014-11-21 20:10:53 UTC) #29
pdr.
On 2014/11/21 at 20:10:53, leviw wrote: > On 2014/11/21 at 20:09:05, pdr wrote: > > ...
6 years, 1 month ago (2014-11-21 20:13:37 UTC) #30
leviw_travelin_and_unemployed
https://codereview.chromium.org/744163002/diff/140001/Source/core/paint/TransparencyDisplayItem.cpp File Source/core/paint/TransparencyDisplayItem.cpp (right): https://codereview.chromium.org/744163002/diff/140001/Source/core/paint/TransparencyDisplayItem.cpp#newcode26 Source/core/paint/TransparencyDisplayItem.cpp:26: context->fillRect(clipRect, Color(0.0f, 0.0f, 0.5f, 0.2f)); How much do we ...
6 years, 1 month ago (2014-11-21 22:15:50 UTC) #31
chrishtr
https://codereview.chromium.org/744163002/diff/140001/Source/core/paint/TransparencyDisplayItem.cpp File Source/core/paint/TransparencyDisplayItem.cpp (right): https://codereview.chromium.org/744163002/diff/140001/Source/core/paint/TransparencyDisplayItem.cpp#newcode26 Source/core/paint/TransparencyDisplayItem.cpp:26: context->fillRect(clipRect, Color(0.0f, 0.0f, 0.5f, 0.2f)); On 2014/11/21 22:15:50, leviw ...
6 years, 1 month ago (2014-11-21 22:17:42 UTC) #32
pdr.
On 2014/11/21 at 22:15:50, leviw wrote: > https://codereview.chromium.org/744163002/diff/140001/Source/core/paint/TransparencyDisplayItem.cpp > File Source/core/paint/TransparencyDisplayItem.cpp (right): > > https://codereview.chromium.org/744163002/diff/140001/Source/core/paint/TransparencyDisplayItem.cpp#newcode26 ...
6 years, 1 month ago (2014-11-21 22:19:27 UTC) #33
leviw_travelin_and_unemployed
Chris, it's a debug tool you can turn on yourself if you wanna see 'em. ...
6 years, 1 month ago (2014-11-21 22:34:05 UTC) #34
chrishtr
lgtm
6 years, 1 month ago (2014-11-21 22:35:30 UTC) #35
pdr.
On 2014/11/21 at 22:35:30, chrishtr wrote: > lgtm R=me
6 years, 1 month ago (2014-11-21 22:35:51 UTC) #36
leviw_travelin_and_unemployed
<3
6 years, 1 month ago (2014-11-21 22:41:08 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/160001
6 years, 1 month ago (2014-11-21 22:41:33 UTC) #39
chrishtr
lgtm
6 years, 1 month ago (2014-11-21 22:43:21 UTC) #40
chrishtr
lgtm
6 years, 1 month ago (2014-11-21 22:43:25 UTC) #41
chrishtr
lgtm
6 years, 1 month ago (2014-11-21 22:43:30 UTC) #42
leviw_travelin_and_unemployed
Sigh... BoxClipper does a bit too much magic still and is bailing on properly clipping ...
6 years, 1 month ago (2014-11-22 00:00:03 UTC) #43
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/35073)
6 years, 1 month ago (2014-11-22 00:17:37 UTC) #45
leviw_travelin_and_unemployed
Alright... the tests pass this time, so it's just a question of whether you like ...
6 years ago (2014-11-24 23:00:30 UTC) #46
chrishtr
https://codereview.chromium.org/744163002/diff/220001/Source/core/paint/HTMLCanvasClipper.cpp File Source/core/paint/HTMLCanvasClipper.cpp (right): https://codereview.chromium.org/744163002/diff/220001/Source/core/paint/HTMLCanvasClipper.cpp#newcode17 Source/core/paint/HTMLCanvasClipper.cpp:17: HTMLCanvasClipper::HTMLCanvasClipper(RenderHTMLCanvas& canvas, const PaintInfo& paintInfo, const LayoutRect& clipRect) Can ...
6 years ago (2014-11-25 00:29:59 UTC) #47
leviw_travelin_and_unemployed
ptal
6 years ago (2014-11-25 18:19:00 UTC) #48
chrishtr
https://codereview.chromium.org/744163002/diff/260001/Source/core/paint/ViewDisplayList.cpp File Source/core/paint/ViewDisplayList.cpp (right): https://codereview.chromium.org/744163002/diff/260001/Source/core/paint/ViewDisplayList.cpp#newcode117 Source/core/paint/ViewDisplayList.cpp:117: DisplayItem::Type DisplayItem::paintPhaseToClipType(PaintPhase paintPhase) Please move to ClipRecorder.
6 years ago (2014-11-25 18:30:59 UTC) #49
leviw_travelin_and_unemployed
ptal
6 years ago (2014-11-25 18:38:23 UTC) #50
chrishtr
lgtm
6 years ago (2014-11-25 18:59:29 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/280001
6 years ago (2014-11-25 19:00:54 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/300001
6 years ago (2014-11-25 19:29:46 UTC) #55
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/32643)
6 years ago (2014-11-25 20:07:56 UTC) #57
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/320001
6 years ago (2014-11-25 21:21:58 UTC) #59
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_compile_dbg on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_compile_dbg/builds/26947)
6 years ago (2014-11-25 21:35:50 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/340001
6 years ago (2014-11-25 21:41:01 UTC) #63
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/32663)
6 years ago (2014-11-25 22:30:37 UTC) #65
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/340001
6 years ago (2014-11-25 23:15:32 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/744163002/340001
6 years ago (2014-11-25 23:17:23 UTC) #70
commit-bot: I haz the power
Committed patchset #18 (id:340001) as https://src.chromium.org/viewvc/blink?view=rev&revision=185982
6 years ago (2014-11-25 23:18:21 UTC) #71
pdr.
A revert of this CL (patchset #18 id:340001) has been created in https://codereview.chromium.org/757183003/ by pdr@chromium.org. ...
6 years ago (2014-11-26 03:49:20 UTC) #72
chrishtr
https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/BoxPainter.cpp File Source/core/paint/BoxPainter.cpp (right): https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/BoxPainter.cpp#newcode538 Source/core/paint/BoxPainter.cpp:538: transparencyRecorder = adoptPtr(new TransparencyRecorder(paintInfo.context, &m_renderBox, DisplayItem::BeginTransparency, WebBlendModeNormal, 1)); On ...
6 years ago (2014-11-26 17:20:59 UTC) #73
chrishtr
https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/HTMLCanvasPainter.cpp File Source/core/paint/HTMLCanvasPainter.cpp (left): https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/HTMLCanvasPainter.cpp#oldcode25 Source/core/paint/HTMLCanvasPainter.cpp:25: if (clip) { On 2014/11/26 at 17:20:59, chrishtr wrote: ...
6 years ago (2014-11-26 18:34:15 UTC) #74
leviw_travelin_and_unemployed
https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/HTMLCanvasPainter.cpp File Source/core/paint/HTMLCanvasPainter.cpp (left): https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/HTMLCanvasPainter.cpp#oldcode25 Source/core/paint/HTMLCanvasPainter.cpp:25: if (clip) { On 2014/11/26 18:34:15, chrishtr wrote: > ...
6 years ago (2014-11-26 18:39:08 UTC) #75
chrishtr
6 years ago (2014-11-26 18:41:36 UTC) #76
Message was sent while issue was closed.
On 2014/11/26 at 18:39:08, leviw wrote:
>
https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/HTMLC...
> File Source/core/paint/HTMLCanvasPainter.cpp (left):
> 
>
https://codereview.chromium.org/744163002/diff/340001/Source/core/paint/HTMLC...
> Source/core/paint/HTMLCanvasPainter.cpp:25: if (clip) {
> On 2014/11/26 18:34:15, chrishtr wrote:
> > On 2014/11/26 at 17:20:59, chrishtr wrote:
> > > Same comment here. Shouldn't we just be allocating a DrawingRecorder at
line
> > 26 for all of the canvas in this phase?
> > 
> > Hmm. Maybe in this case, separating the clip is necessary, because the
canvas
> > can have children that are clipped?
> 
> RenderReplaced and its ilk don't get child renderers, so maybe we don't need
the ClipRecorder.

Great. Let's try that then.

Powered by Google App Engine
This is Rietveld 408576698