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

Issue 2341923002: Harmonize FilterEffect::mapRect and mapPaintRect (Closed)

Created:
4 years, 3 months ago by fs
Modified:
4 years, 3 months ago
Reviewers:
pdr., Stephen White
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), gyuyoung2, jbroman, Justin Novosad, kouhei+svg_chromium.org, pdr+graphicswatchlist_chromium.org, pdr+svgwatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Harmonize FilterEffect::mapRect and mapPaintRect This CL terminates the FilterEffect::determineAbsolutePaintRect codepath, replacing the last user (SVGFilterPainter) with mapRect(). A new structure for FilterEffect::mapRect is introduced (taking some hints from the SkImageFilter implementation), where mapRect is the entry- point (replacing mapRectRecursive), which in turn calls: 1) mapInputs, 2) mapEffect and 3) applyBounds. The last simply applies any clip bounds set on the effect, while also adjusting for affectsTransparentPixels(). mapInputs() computes the contribution from inputs to the current effect, while mapEffect() applies the contribution from the current effect itself. The notion of forward/reverse is not retained since only forward mapping is used. BUG=642035, 640264, 611674, 600430 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9 Cr-Commit-Position: refs/heads/master@{#420293}

Patch Set 1 #

Patch Set 2 : Tweaks #

Patch Set 3 : Tweak SourceGraphic #

Patch Set 4 : Fix FEComposite k4>0 #

Patch Set 5 : Baselines #

Total comments: 10

Patch Set 6 : Add comments #

Patch Set 7 : Baselines (again) #

Total comments: 15

Patch Set 8 : Tests and tweaks #

Total comments: 8

Patch Set 9 : Expected files and lighting tweaks #

Patch Set 10 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+570 lines, -231 lines) Patch
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1.html View 1 2 3 4 5 6 7 1 chunk +32 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1-expected.html View 1 2 3 4 5 6 7 1 chunk +17 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-2.html View 1 2 3 4 5 6 7 1 chunk +32 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-2-expected.html View 1 2 3 4 5 6 7 1 chunk +17 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-2-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-3.html View 1 2 3 4 5 6 7 1 chunk +33 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-3-expected.html View 1 2 3 4 5 6 7 1 chunk +18 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-3-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-4.html View 1 2 3 4 5 6 7 1 chunk +32 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-4-expected.html View 1 2 3 4 5 6 7 1 chunk +17 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-4-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-5.html View 1 2 3 4 5 6 7 1 chunk +32 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-5-expected.html View 1 2 3 4 5 6 7 1 chunk +17 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-5-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-6.html View 1 2 3 4 5 6 7 1 chunk +32 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-6-expected.html View 1 2 3 4 5 6 7 1 chunk +17 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-6-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-displacement.html View 1 2 3 4 5 6 7 1 chunk +33 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-displacement-expected.html View 1 2 3 4 5 6 7 1 chunk +18 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-displacement-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-lighting.html View 1 2 3 4 5 6 7 8 1 chunk +34 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-lighting-expected.html View 1 2 3 4 5 6 7 8 1 chunk +19 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-lighting-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-merge.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-merge-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-merge-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-xonly.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-xonly-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-yonly.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-yonly-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-offset.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-offset-expected.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-offset-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/css3/filters/filter-repaint-feimage-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/css3/filters/filter-repaint-turbulence-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/css3/filters/effect-reference-hidpi-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/css3/filters/filter-repaint-feimage-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/css3/filters/filter-repaint-turbulence-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/css3/filters/effect-reference-hidpi-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/css3/filters/filter-repaint-feimage-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/css3/filters/filter-repaint-turbulence-expected.png View 1 2 3 4 6 Binary file 0 comments Download
M third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp View 1 2 3 4 5 6 7 3 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.h View 2 chunks +5 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.cpp View 1 2 chunks +1 line, -7 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEBoxReflect.h View 1 chunk +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEBoxReflect.cpp View 1 2 3 4 5 6 7 1 chunk +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEComposite.h View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEComposite.cpp View 1 2 3 4 5 1 chunk +32 lines, -35 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEConvolveMatrix.h View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEConvolveMatrix.cpp View 1 chunk +5 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEDisplacementMap.h View 1 chunk +3 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEDisplacementMap.cpp View 3 chunks +6 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEDropShadow.h View 1 chunk +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEDropShadow.cpp View 2 chunks +4 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEGaussianBlur.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEGaussianBlur.cpp View 1 chunk +2 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FELighting.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FELighting.cpp View 1 chunk +0 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEMorphology.h View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEMorphology.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEOffset.h View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FEOffset.cpp View 1 chunk +2 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FETile.h View 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FETile.cpp View 1 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FilterEffect.h View 1 2 3 4 5 3 chunks +15 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FilterEffect.cpp View 1 1 chunk +27 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/FilterOperation.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/SourceAlpha.h View 1 chunk +4 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/SourceAlpha.cpp View 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/SourceGraphic.h View 2 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/SourceGraphic.cpp View 1 2 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 65 (49 generated)
fs
4 years, 3 months ago (2016-09-16 16:19:42 UTC) #27
pdr.
So harmonious! I like this at a high level, just some minor nits and questions ...
4 years, 3 months ago (2016-09-16 18:29:18 UTC) #28
fs
https://codereview.chromium.org/2341923002/diff/80001/third_party/WebKit/Source/platform/graphics/filters/FEComposite.cpp File third_party/WebKit/Source/platform/graphics/filters/FEComposite.cpp (right): https://codereview.chromium.org/2341923002/diff/80001/third_party/WebKit/Source/platform/graphics/filters/FEComposite.cpp#newcode118 third_party/WebKit/Source/platform/graphics/filters/FEComposite.cpp:118: return k4() > 0; On 2016/09/16 at 18:29:18, pdr. ...
4 years, 3 months ago (2016-09-16 18:53:28 UTC) #29
fs
Comments added (and one small fix) (I need to re-do and re-upload the new baselines ...
4 years, 3 months ago (2016-09-16 20:16:21 UTC) #30
pdr.
On 2016/09/16 at 20:16:21, fs wrote: > Comments added (and one small fix) > > ...
4 years, 3 months ago (2016-09-16 20:45:25 UTC) #31
pdr.
LGTM here Please give señorblanco a chance to review this as well.
4 years, 3 months ago (2016-09-16 20:48:15 UTC) #32
fs
On 2016/09/16 at 20:45:25, pdr wrote: > On 2016/09/16 at 20:16:21, fs wrote: > > ...
4 years, 3 months ago (2016-09-16 21:00:34 UTC) #33
fs
On 2016/09/16 at 20:48:15, pdr wrote: > LGTM here > > Please give señorblanco a ...
4 years, 3 months ago (2016-09-20 11:15:34 UTC) #38
Stephen White
Sorry for the delay. https://codereview.chromium.org/2341923002/diff/120001/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt File third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt (right): https://codereview.chromium.org/2341923002/diff/120001/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt#newcode13 third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt:13: "rect": [38, 30, 240, 240], ...
4 years, 3 months ago (2016-09-20 15:36:19 UTC) #39
fs
https://codereview.chromium.org/2341923002/diff/120001/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt File third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt (right): https://codereview.chromium.org/2341923002/diff/120001/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt#newcode13 third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.txt:13: "rect": [38, 30, 240, 240], On 2016/09/20 at 15:36:19, ...
4 years, 3 months ago (2016-09-20 19:14:15 UTC) #41
Stephen White
Thanks for taking this on, BTW. This is good stuff. https://codereview.chromium.org/2341923002/diff/120001/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp File third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp (right): https://codereview.chromium.org/2341923002/diff/120001/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp#newcode66 ...
4 years, 3 months ago (2016-09-20 19:46:39 UTC) #43
fs
https://codereview.chromium.org/2341923002/diff/140001/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1.html File third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1.html (right): https://codereview.chromium.org/2341923002/diff/140001/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1.html#newcode1 third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1.html:1: <!DOCTYPE html> On 2016/09/20 at 19:46:38, Stephen White wrote: ...
4 years, 3 months ago (2016-09-20 21:50:26 UTC) #48
Stephen White
LGTM Awesome! My heartfelt appreciation for this work!
4 years, 3 months ago (2016-09-21 18:01:12 UTC) #51
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/2341923002/180001
4 years, 3 months ago (2016-09-22 09:03:26 UTC) #62
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 3 months ago (2016-09-22 09:34:41 UTC) #63
commit-bot: I haz the power
4 years, 3 months ago (2016-09-22 09:38:49 UTC) #65
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9
Cr-Commit-Position: refs/heads/master@{#420293}

Powered by Google App Engine
This is Rietveld 408576698