Reviewers: pdr., Xianzhu
CL:
https://codereview.chromium.org/2444593002/https://codereview.chromium.org/2444593002/diff/20001/third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cppFile third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cpp
(right):
https://codereview.chromium.org/2444593002/diff/20001/third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cpp#newcode52third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cpp:52:
visualRect.expand(IntRectOutsets(2, 2, 2, 2));
Because this code doesn't understand anything except the bounding box of
the shape, it is forced
to unconditionally expand the rect.
Description:
Introduce Layout*::adjustVisualRectForRasterEffects and use it for SVG
hairlines.
BUG=
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Affected files (+434, -425 lines):
M third_party/WebKit/LayoutTests/paint/invalidation/svg/absolute-sized-document-no-scrollbars-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/deep-dynamic-updates-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/hairline-stroke-squarecap-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-late-marker-and-object-creation-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-late-marker-creation-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-repaint-rect-on-path-with-stroke-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-update-bounce-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-update-container-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-update-polygon-changes-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-update-polygon-removal-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-update-style-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-update-transform-addition-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/js-update-transform-changes-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/marker-child-changes-css-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/marker-child-changes-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/marker-strokeWidth-changes-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/marker-viewBox-changes-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/paintorder-filtered-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/path-pathlength-change-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/relative-sized-document-scrollbars-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/repaint-paintorder-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/repaint-stroke-width-changes-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/svg/stroke-opacity-update-expected.txt
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/hit-test-with-br-expected.png
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/js-late-clipPath-creation-expected.png
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/relative-sized-content-with-resources-expected.txt
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/tabgroup-expected.txt
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/use-detach-expected.txt
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/use-setAttribute-crash-expected.txt
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/relative-sized-document-scrollbars-expected.png
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/relative-sized-document-scrollbars-text-zoom-expected.png
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/window-expected.txt
M third_party/WebKit/Source/core/layout/LayoutObject.h
M third_party/WebKit/Source/core/layout/LayoutObject.cpp
M third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.h
M third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cpp
M third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.h