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

Issue 1235293003: Implement filter effects region for reference filters. (Closed)

Created:
5 years, 5 months ago by Stephen White
Modified:
5 years, 5 months ago
Reviewers:
fmalita1, f(malita)
CC:
blink-reviews, dshwang, eae+blinkwatch, fs, kouhei+svg_chromium.org, rwlbuis, krit, drott+blinkwatch_chromium.org, szager+layoutwatch_chromium.org, Justin Novosad, danakj, Rik, jchaffraix+rendering, blink-reviews-paint_chromium.org, gyuyoung2, pdr+svgwatchlist_chromium.org, zoltan1, jbroman, pdr+graphicswatchlist_chromium.org, blink-reviews-rendering, pdr+renderingwatchlist_chromium.org, leviw+renderwatch, slimming-paint-reviews_chromium.org, f(malita), Stephen Chennney, reed1
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Implement filter effects region for reference filters. The guts of this change are to set the filter region from the target HTML element's bounding box for reference filters (SVG filters applied to HTML content). This change also bakes the filter region into the Skia crop rects of all leaf nodes of the DAG (all 0-input filters, and all filters whose inputs are all unconnected (NULL)). In the future, this will allow us to remove the bounds from the filtering saveLayer() calls, and leave the rendering unchanged. Since we no longer compute the filter region automatically (not spec compliant), the tests were modified where possible to produce the same results. Where not, the changes are minor pixel diffs. Changed ReferenceFilterBuilder to actually build a ReferenceFilter, instead of taking one as a parameter, so it can retrieve the target bounding box from the Element* and set it on the new ReferenceFilter. Removed a now-unnecessary workaround from SVGFEImage. Removed m_targetBoundingBox from SVGFilter (this should've been in my last patch). BUG=240827, 240845 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=199232

Patch Set 1 #

Patch Set 2 : Integrate leaf node into getCropRect(), add more tests, remove targetBoundingBox from SVGFilter #

Patch Set 3 : Update to ToT #

Patch Set 4 : TestExpectations cleanup #

Patch Set 5 : Copyright and comment fixes for filterRegions.html. #

Patch Set 6 : More copyright and test comment fixes #

Patch Set 7 : Revert unnecessary changes; fix TestExpectations #

Total comments: 6

Patch Set 8 : Update to ToT #

Patch Set 9 : Fixes per review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+737 lines, -71 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 1 chunk +9 lines, -0 lines 0 comments Download
M LayoutTests/css3/filters/effect-reference-colorspace.html View 1 4 chunks +6 lines, -6 lines 0 comments Download
M LayoutTests/css3/filters/effect-reference-colorspace-hw.html View 1 4 chunks +6 lines, -6 lines 0 comments Download
M LayoutTests/css3/filters/effect-reference-composite.html View 1 chunk +12 lines, -12 lines 0 comments Download
M LayoutTests/css3/filters/effect-reference-composite-hw.html View 1 chunk +12 lines, -12 lines 0 comments Download
M LayoutTests/css3/filters/effect-reference-hidpi.html View 1 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/css3/filters/effect-reference-image.html View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/css3/filters/effect-reference-image-hw.html View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/css3/filters/effect-reference-image-lazy-attach.html View 2 chunks +2 lines, -2 lines 0 comments Download
M LayoutTests/css3/filters/effect-reference-ordering.html View 1 chunk +2 lines, -2 lines 0 comments Download
M LayoutTests/css3/filters/feoffset-region-zoom.html View 1 chunk +1 line, -1 line 0 comments Download
A LayoutTests/css3/filters/filterRegions.html View 1 2 3 4 1 chunk +337 lines, -0 lines 0 comments Download
A LayoutTests/css3/filters/filterRegions-expected.html View 1 2 3 4 5 1 chunk +304 lines, -0 lines 0 comments Download
M Source/core/layout/svg/ReferenceFilterBuilder.h View 2 chunks +2 lines, -3 lines 0 comments Download
M Source/core/layout/svg/ReferenceFilterBuilder.cpp View 4 chunks +14 lines, -4 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayer.cpp View 1 2 3 4 5 6 1 chunk +1 line, -3 lines 0 comments Download
M Source/core/paint/FilterEffectBuilder.cpp View 1 chunk +5 lines, -4 lines 0 comments Download
M Source/core/svg/graphics/filters/SVGFEImage.cpp View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M Source/core/svg/graphics/filters/SVGFilter.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/svg/graphics/filters/SVGFilter.cpp View 1 3 chunks +5 lines, -6 lines 0 comments Download
M Source/platform/graphics/filters/FilterEffect.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M Source/platform/graphics/filters/FilterEffect.cpp View 1 2 3 4 5 6 7 8 1 chunk +14 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (6 generated)
Stephen White
Florin: PTAL. Thanks!
5 years, 5 months ago (2015-07-20 18:42:59 UTC) #4
f(malita)
LGTM https://codereview.chromium.org/1235293003/diff/160001/Source/core/layout/svg/ReferenceFilterBuilder.cpp File Source/core/layout/svg/ReferenceFilterBuilder.cpp (right): https://codereview.chromium.org/1235293003/diff/160001/Source/core/layout/svg/ReferenceFilterBuilder.cpp#newcode123 Source/core/layout/svg/ReferenceFilterBuilder.cpp:123: LayoutRect targetBoundingBox(element->inDocument() ? element->layoutObject()->enclosingBox()->borderBoxRect() : FloatRect()); IIUC, this ...
5 years, 5 months ago (2015-07-20 23:00:54 UTC) #6
Stephen White
Thanks for your review. https://codereview.chromium.org/1235293003/diff/160001/Source/core/layout/svg/ReferenceFilterBuilder.cpp File Source/core/layout/svg/ReferenceFilterBuilder.cpp (right): https://codereview.chromium.org/1235293003/diff/160001/Source/core/layout/svg/ReferenceFilterBuilder.cpp#newcode123 Source/core/layout/svg/ReferenceFilterBuilder.cpp:123: LayoutRect targetBoundingBox(element->inDocument() ? element->layoutObject()->enclosingBox()->borderBoxRect() : ...
5 years, 5 months ago (2015-07-21 15:47:25 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1235293003/200001
5 years, 5 months ago (2015-07-21 15:48:54 UTC) #10
commit-bot: I haz the power
5 years, 5 months ago (2015-07-21 17:05:32 UTC) #11
Message was sent while issue was closed.
Committed patchset #9 (id:200001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=199232

Powered by Google App Engine
This is Rietveld 408576698