e.g. FEDisplacementMap gets the default implementation of mapRect (the identity function), which seems suspicious, as that effect does move pixels
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fbeebf2905898067b4def80b945aacabe9d413e9 commit fbeebf2905898067b4def80b945aacabe9d413e9 Author: fs <fs@opera.com> Date: Thu Sep 22 09:34:15 2016 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 Review-Url: https://codereview.chromium.org/2341923002 Cr-Commit-Position: refs/heads/master@{#420293} [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-1.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-2-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-2-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-2.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-3-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-3-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-3.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-4-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-4-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-4.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-5-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-5-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-5.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-6-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-6-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-composite-6.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-displacement-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-displacement-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-displacement.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-gaussianblur.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-lighting-expected.html [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-lighting-expected.txt [add] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-lighting.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-merge-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-merge-expected.txt [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-merge.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-xonly-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-xonly.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-yonly-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology-yonly.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-morphology.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-offset-expected.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-offset-expected.txt [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/paint/invalidation/filters/effect-reference-repaint-offset.html [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/linux/css3/filters/filter-repaint-feimage-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/linux/css3/filters/filter-repaint-turbulence-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/mac/css3/filters/effect-reference-hidpi-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/mac/css3/filters/filter-repaint-feimage-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/mac/css3/filters/filter-repaint-turbulence-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/win/css3/filters/effect-reference-hidpi-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/win/css3/filters/filter-repaint-feimage-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/LayoutTests/platform/win/css3/filters/filter-repaint-turbulence-expected.png [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEBoxReflect.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEBoxReflect.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEComposite.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEComposite.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEConvolveMatrix.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEConvolveMatrix.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEDisplacementMap.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEDisplacementMap.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEDropShadow.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEDropShadow.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEGaussianBlur.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEGaussianBlur.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FELighting.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FELighting.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEMorphology.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEMorphology.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEOffset.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FEOffset.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FETile.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FETile.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FilterEffect.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FilterEffect.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/FilterOperation.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/SourceAlpha.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/SourceAlpha.h [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/SourceGraphic.cpp [modify] https://crrev.com/fbeebf2905898067b4def80b945aacabe9d413e9/third_party/WebKit/Source/platform/graphics/filters/SourceGraphic.h
mapPaintRect is now gone, so we probably resolve this in favor of more specific mapping issues.
Comment 1 by senorblanco@chromium.org
, Apr 5 2016