|
|
Revert 150342 "Implement filter primitive subregion for referenc..."
This caused 2 tests to crash will null pointers:
css3/filters/effect-reference-composite.html
css3/filters/effect-reference-ordering-hw.html
> Implement filter primitive subregion for reference CSS filters. This required copying determineFilterPrimitiveSubregion() from RenderSVGResourceFilter out into FilterEffect, and modifying it slightly (to accommodate CSS's inflatable result rects; see below). This also required refactoring m_filterRegion and m_absoluteFilterRegion into the Filter base class, and giving its accessors sane names.
>
> There was also a call to setClipsToBounds(false) for the FilterOperations nodes converted to FilterEffects. However, this is not correct for reference filters -- they should clip to their filter primitive subregion. (In fact, it was only being called on the final node in a reference effect chain, just to be super-confusing.) This was fixed by calling setEffectBoundaries() while building the reference filter, and skipping the call to setClipsToBounds(false).
>
> The filter outsets for reference filters are now computed by recursively traversing the DAG, so the graphics layers will be created at the appropriately-inflated size, as is done for shorthand filters. The actual per-FilterEffect-subclass computation (mapRect) was refactored from the existing code to compute absolutePaintRects, and made bidirectional. It's used for computing outsets in the forward direction, and source rects in the reverse direction.
>
> We now no longer call setMaxEffectsRects() directly, but instead call determineFilterPrimitiveSubregion() recursively on the output node. This will set the maxEffectRect as well as the absolutePaintRect, inflating and clipping as necessary. This uses the filter primitive subregion (if set, as in the reference filter case), or the source rect (if not).
>
> Note that this patch only supports filter primitive subregion, not filter effect region, which still defaults to 100% of the filterBoxRect.
>
> Finally, I noticed that the colorspace for reference filters was not being correctly set either (same place as the setClipsToBounds() call). That will require a bunch of rebaselines, however, so it'll be fixed in a separate patch.
>
> BUG= 237518
> R=schenney@chromium.org
>
> Review URL: https://codereview.chromium.org/14652016
TBR=senorblanco@chromium.org
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=150369
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+80 lines, -685 lines) |
Patch |
 |
M |
trunk/LayoutTests/TestExpectations
|
View
|
|
1 chunk |
+0 lines, -14 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-gaussianblur.html
|
View
|
|
1 chunk |
+0 lines, -42 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-gaussianblur-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-gaussianblur-xonly.html
|
View
|
|
1 chunk |
+0 lines, -42 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-gaussianblur-xonly-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-gaussianblur-yonly.html
|
View
|
|
1 chunk |
+0 lines, -42 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-gaussianblur-yonly-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-merge.html
|
View
|
|
1 chunk |
+0 lines, -51 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-merge-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-morphology.html
|
View
|
|
1 chunk |
+0 lines, -42 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-morphology-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-morphology-xonly.html
|
View
|
|
1 chunk |
+0 lines, -42 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-morphology-xonly-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-morphology-yonly.html
|
View
|
|
1 chunk |
+0 lines, -42 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-morphology-yonly-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-offset.html
|
View
|
|
1 chunk |
+0 lines, -41 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-repaint-offset-expected.txt
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-subregion.html
|
View
|
|
1 chunk |
+0 lines, -20 lines |
0 comments
|
Download
|
 |
D |
trunk/LayoutTests/css3/filters/effect-reference-subregion-nested.html
|
View
|
|
1 chunk |
+0 lines, -31 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEDropShadow.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEDropShadow.cpp
|
View
|
|
2 chunks |
+12 lines, -24 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEGaussianBlur.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEGaussianBlur.cpp
|
View
|
|
2 chunks |
+9 lines, -14 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEMorphology.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEMorphology.cpp
|
View
|
|
2 chunks |
+4 lines, -9 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEOffset.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FEOffset.cpp
|
View
|
|
1 chunk |
+0 lines, -10 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FETile.cpp
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/Filter.h
|
View
|
|
2 chunks |
+2 lines, -9 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FilterEffect.h
|
View
|
|
2 chunks |
+0 lines, -15 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FilterEffect.cpp
|
View
|
|
2 chunks |
+0 lines, -78 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/platform/graphics/filters/FilterOperations.cpp
|
View
|
|
2 chunks |
+1 line, -16 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/rendering/FilterEffectRenderer.h
|
View
|
|
3 chunks |
+17 lines, -4 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/rendering/FilterEffectRenderer.cpp
|
View
|
|
12 chunks |
+22 lines, -30 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/rendering/svg/RenderSVGResourceFilterPrimitive.cpp
|
View
|
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/svg/SVGFilterElement.h
|
View
|
|
2 chunks |
+0 lines, -7 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/svg/graphics/filters/SVGFilter.h
|
View
|
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
trunk/Source/core/svg/graphics/filters/SVGFilter.cpp
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
Total messages: 2 (0 generated)
|