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

Issue 536573002: Modifications to DisplayList for better Slimming Paint (Closed)

Created:
6 years, 3 months ago by Stephen Chennney
Modified:
6 years, 3 months ago
CC:
blink-reviews, blink-reviews-rendering, Rik, danakj, krit, eae+blinkwatch, ed+blinkwatch_opera.com, f(malita), fs, gyuyoung.kim_webkit.org, jamesr, jbroman, jchaffraix+rendering, kouhei+svg_chromium.org, leviw+renderwatch, pdr., rwlbuis, rune+blink, slimming-paint-reviews_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Modifications to DisplayList for better Slimming Paint Add clipping. Add transform. Change recording to be driven by GraphicsContext. Update dependent code. Move a method used only by SVGFEImage from AffineTransform to SVGFEImage R=pdr,senorblanco BUG=410019 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181502

Patch Set 1 #

Total comments: 14

Patch Set 2 : Fix typo. #

Patch Set 3 : beginRecording returns DisplayList #

Total comments: 6

Patch Set 4 : Remove clearPicture() #

Patch Set 5 : Return DisplayList from endRecording #

Total comments: 11

Patch Set 6 : Fix compile #

Patch Set 7 : Testing FIXME #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+122 lines, -167 lines) Patch
M Source/core/rendering/svg/RenderSVGResourceClipper.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/svg/RenderSVGResourceClipper.cpp View 1 2 3 4 3 chunks +5 lines, -4 lines 0 comments Download
M Source/core/rendering/svg/RenderSVGResourceFilter.cpp View 1 2 3 4 1 chunk +1 line, -0 lines 1 comment Download
M Source/core/rendering/svg/RenderSVGResourceMasker.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/svg/RenderSVGResourceMasker.cpp View 1 2 3 4 3 chunks +5 lines, -5 lines 0 comments Download
M Source/core/svg/graphics/filters/SVGFEImage.cpp View 1 2 3 4 2 chunks +10 lines, -1 line 0 comments Download
M Source/platform/blink_platform.gypi View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M Source/platform/graphics/DisplayList.h View 1 2 3 4 5 6 2 chunks +36 lines, -13 lines 1 comment Download
D Source/platform/graphics/DisplayList.cpp View 1 chunk +0 lines, -76 lines 0 comments Download
M Source/platform/graphics/GraphicsContext.h View 1 2 3 4 4 chunks +8 lines, -9 lines 0 comments Download
M Source/platform/graphics/GraphicsContext.cpp View 1 2 3 4 6 chunks +40 lines, -22 lines 0 comments Download
M Source/platform/graphics/GraphicsContextTest.cpp View 1 2 3 4 5 1 chunk +15 lines, -24 lines 0 comments Download
M Source/platform/transforms/AffineTransform.h View 1 chunk +0 lines, -2 lines 0 comments Download
M Source/platform/transforms/AffineTransform.cpp View 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 34 (7 generated)
Stephen Chennney
A bunch of changes brought in from the experimental branch. These are needed to enable ...
6 years, 3 months ago (2014-09-02 21:16:54 UTC) #1
chrishtr
https://codereview.chromium.org/536573002/diff/1/Source/core/rendering/svg/RenderSVGResourceFilter.cpp File Source/core/rendering/svg/RenderSVGResourceFilter.cpp (right): https://codereview.chromium.org/536573002/diff/1/Source/core/rendering/svg/RenderSVGResourceFilter.cpp#newcode147 Source/core/rendering/svg/RenderSVGResourceFilter.cpp:147: SourceGraphic* sourceGraphic = static_cast<SourceGraphic*>(filterData->builder->getEffectById(SourceGraphic::effectName())); Typo in variable name. https://codereview.chromium.org/536573002/diff/1/Source/core/rendering/svg/RenderSVGResourceFilter.cpp#newcode149 ...
6 years, 3 months ago (2014-09-02 22:05:58 UTC) #4
Stephen Chennney
Addressed comments. New patch real soon. https://codereview.chromium.org/536573002/diff/1/Source/core/rendering/svg/RenderSVGResourceFilter.cpp File Source/core/rendering/svg/RenderSVGResourceFilter.cpp (right): https://codereview.chromium.org/536573002/diff/1/Source/core/rendering/svg/RenderSVGResourceFilter.cpp#newcode147 Source/core/rendering/svg/RenderSVGResourceFilter.cpp:147: SourceGraphic* sourceGraphic = ...
6 years, 3 months ago (2014-09-03 14:19:38 UTC) #5
chrishtr
https://codereview.chromium.org/536573002/diff/1/Source/core/rendering/svg/RenderSVGResourceFilter.cpp File Source/core/rendering/svg/RenderSVGResourceFilter.cpp (right): https://codereview.chromium.org/536573002/diff/1/Source/core/rendering/svg/RenderSVGResourceFilter.cpp#newcode147 Source/core/rendering/svg/RenderSVGResourceFilter.cpp:147: SourceGraphic* sourceGraphic = static_cast<SourceGraphic*>(filterData->builder->getEffectById(SourceGraphic::effectName())); On 2014/09/03 14:19:37, Stephen Chenney ...
6 years, 3 months ago (2014-09-03 16:56:12 UTC) #6
chrishtr
https://codereview.chromium.org/536573002/diff/1/Source/platform/graphics/DisplayList.h File Source/platform/graphics/DisplayList.h (right): https://codereview.chromium.org/536573002/diff/1/Source/platform/graphics/DisplayList.h#newcode78 Source/platform/graphics/DisplayList.h:78: void setClip(const IntRect& rect) { m_clip = rect; } ...
6 years, 3 months ago (2014-09-03 17:02:24 UTC) #7
chrishtr
https://codereview.chromium.org/536573002/diff/1/Source/platform/graphics/DisplayList.h File Source/platform/graphics/DisplayList.h (right): https://codereview.chromium.org/536573002/diff/1/Source/platform/graphics/DisplayList.h#newcode78 Source/platform/graphics/DisplayList.h:78: void setClip(const IntRect& rect) { m_clip = rect; } ...
6 years, 3 months ago (2014-09-03 17:03:02 UTC) #8
Stephen Chennney
So the only open issue is the re-use of DisplayLists for re-recording, right? I actually ...
6 years, 3 months ago (2014-09-03 20:41:18 UTC) #9
Stephen Chennney
On 2014/09/03 20:41:18, Stephen Chenney wrote: > So the only open issue is the re-use ...
6 years, 3 months ago (2014-09-03 20:42:05 UTC) #10
chrishtr
On 2014/09/03 at 20:42:05, schenney wrote: > On 2014/09/03 20:41:18, Stephen Chenney wrote: > > ...
6 years, 3 months ago (2014-09-03 20:59:54 UTC) #11
Stephen Chennney
On 2014/09/03 20:59:54, chrishtr wrote: > On 2014/09/03 at 20:42:05, schenney wrote: > > On ...
6 years, 3 months ago (2014-09-04 19:05:29 UTC) #12
Stephen Chennney
OK, I think Chris was right all along.
6 years, 3 months ago (2014-09-04 20:43:49 UTC) #13
chrishtr
https://codereview.chromium.org/536573002/diff/40001/Source/platform/graphics/DisplayList.h File Source/platform/graphics/DisplayList.h (right): https://codereview.chromium.org/536573002/diff/40001/Source/platform/graphics/DisplayList.h#newcode64 Source/platform/graphics/DisplayList.h:64: void setPicture(SkPicture* picture) { m_picture = adoptRef(picture); } This ...
6 years, 3 months ago (2014-09-05 01:15:34 UTC) #14
Stephen Chennney
https://codereview.chromium.org/536573002/diff/40001/Source/platform/graphics/DisplayList.h File Source/platform/graphics/DisplayList.h (right): https://codereview.chromium.org/536573002/diff/40001/Source/platform/graphics/DisplayList.h#newcode64 Source/platform/graphics/DisplayList.h:64: void setPicture(SkPicture* picture) { m_picture = adoptRef(picture); } On ...
6 years, 3 months ago (2014-09-05 13:50:50 UTC) #15
chrishtr
Since a DisplayList is only created when recording into it, how about we go back ...
6 years, 3 months ago (2014-09-05 15:47:32 UTC) #16
Stephen Chennney
On 2014/09/05 15:47:32, chrishtr wrote: > Since a DisplayList is only created when recording into ...
6 years, 3 months ago (2014-09-05 17:55:03 UTC) #17
chrishtr
https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.cpp#newcode531 Source/platform/graphics/GraphicsContext.cpp:531: recording.m_displayList->setPicture(recording.m_recorder->endRecording()); Why not create m_displayList here? https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.cpp#newcode534 Source/platform/graphics/GraphicsContext.cpp:534: delete ...
6 years, 3 months ago (2014-09-05 18:28:13 UTC) #18
chrishtr
https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.cpp#newcode531 Source/platform/graphics/GraphicsContext.cpp:531: recording.m_displayList->setPicture(recording.m_recorder->endRecording()); On 2014/09/05 18:28:13, chrishtr wrote: > Why not ...
6 years, 3 months ago (2014-09-05 18:28:51 UTC) #19
Stephen Chennney
https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.cpp#newcode534 Source/platform/graphics/GraphicsContext.cpp:534: delete recording.m_recorder; On 2014/09/05 18:28:13, chrishtr wrote: > Put ...
6 years, 3 months ago (2014-09-05 18:36:19 UTC) #20
chrishtr
lgtm https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.h File Source/platform/graphics/GraphicsContext.h (right): https://codereview.chromium.org/536573002/diff/80001/Source/platform/graphics/GraphicsContext.h#newcode321 Source/platform/graphics/GraphicsContext.h:321: void canvasClip(const Path&, WindRule = RULE_EVENODD); On 2014/09/05 ...
6 years, 3 months ago (2014-09-05 18:40:58 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/schenney@chromium.org/536573002/120001
6 years, 3 months ago (2014-09-05 18:46:49 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: win_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/win_blink_rel/builds/25825)
6 years, 3 months ago (2014-09-05 23:12:03 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/schenney@chromium.org/536573002/120001
6 years, 3 months ago (2014-09-05 23:17:10 UTC) #27
commit-bot: I haz the power
Exceeded time limit waiting for builds to trigger.
6 years, 3 months ago (2014-09-06 06:47:42 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/schenney@chromium.org/536573002/120001
6 years, 3 months ago (2014-09-06 17:55:06 UTC) #31
commit-bot: I haz the power
Committed patchset #7 (id:120001) as 181502
6 years, 3 months ago (2014-09-07 08:14:16 UTC) #32
Stephen White
Vacation-delayed comments. https://codereview.chromium.org/536573002/diff/120001/Source/core/rendering/svg/RenderSVGResourceFilter.cpp File Source/core/rendering/svg/RenderSVGResourceFilter.cpp (right): https://codereview.chromium.org/536573002/diff/120001/Source/core/rendering/svg/RenderSVGResourceFilter.cpp#newcode147 Source/core/rendering/svg/RenderSVGResourceFilter.cpp:147: Nit: unnecessary whitespace change. https://codereview.chromium.org/536573002/diff/120001/Source/platform/graphics/DisplayList.h File Source/platform/graphics/DisplayList.h ...
6 years, 3 months ago (2014-09-08 19:51:01 UTC) #33
Stephen Chennney
6 years, 3 months ago (2014-09-08 20:00:32 UTC) #34
Message was sent while issue was closed.
On 2014/09/08 19:51:01, Stephen White wrote:
> Vacation-delayed comments.
> 
>
https://codereview.chromium.org/536573002/diff/120001/Source/core/rendering/s...
> File Source/core/rendering/svg/RenderSVGResourceFilter.cpp (right):
> 
>
https://codereview.chromium.org/536573002/diff/120001/Source/core/rendering/s...
> Source/core/rendering/svg/RenderSVGResourceFilter.cpp:147: 
> Nit: unnecessary whitespace change.
> 
>
https://codereview.chromium.org/536573002/diff/120001/Source/platform/graphic...
> File Source/platform/graphics/DisplayList.h (right):
> 
>
https://codereview.chromium.org/536573002/diff/120001/Source/platform/graphic...
> Source/platform/graphics/DisplayList.h:60: // midst of recording (i.e.,
between
> a beginRecording/endRecording pair)
> beginRecording()/endRecording() seem to be gone; should this comment be
modified
> also?

Careful reviewing! I'll fix these and clean them up in the follow-on patches.

Powered by Google App Engine
This is Rietveld 408576698