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

Issue 2778873002: Reland "Let SVGForeignObject's local SVG coordinates mean what it should" (Closed)

Created:
3 years, 9 months ago by Xianzhu
Modified:
3 years, 8 months ago
Reviewers:
pdr.
CC:
blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, krit, eae+blinkwatch, fmalita+watch_chromium.org, fs, gyuyoung2, jchaffraix+rendering, kouhei+svg_chromium.org, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, pdr+svgwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland "Let SVGForeignObject's local SVG coordinates mean what it should" (patchset #2 id:20001 of https://codereview.chromium.org/2767343003/ ) Fix wrong direction of mapping in LayoutSVGBlock::mapAncestorToLocal(). > Revert: "Let SVGForeignObject's local SVG coordinates mean what it should" > > This patch caused a hit testing regression with foreign objects. While > the fix is not hard, we are going to roll out as a precaution (and merge > to stable). > > This is a manual revert of https://crrev.com/f451d9b5de5a1b4691d60d8c74341ac8a466cf57 > (commit number #435337) due to revert conflicts. > > BUG=704643 > > Review-Url: https://codereview.chromium.org/2767343003 > Cr-Commit-Position: refs/heads/master@{#459330} > Committed: https://chromium.googlesource.com/chromium/src/+/0cfb512a4ae94e681bd10a15d93abd740f330e3e > Original issue's description: >> Let SVGForeignObject's local SVG coordinates mean what it should >> >> We define "local SVG coordinates" as the space where SVG local transform >> etc. apply. With this definition, SVGForeignObject's localSVGTransform >> and localToSVGParentTransform should be the same which should both >> transform from local SVG coordinates instead of local HTML coordinates >> to parent SVG coordinates, and visualRectInLocalSVGCoordinates() should >> return the visual rect in local SVG coordinates instead of local HTML >> coordinates. >> >> With the above coordinates fixed, LayoutSVGBlock becomes the same for >> LayoutSVGText and LayoutSVGForeignObject regarding to SVG/HTML >> coordinates: SVG coordinates = HTML coordinates + location() (though >> location() is always zero for LayoutSVGText after >> https://codereview.chromium.org/2531943002/). The HTML coordinate >> mapping methods should also map between the HTML and SVG coordinates. >> >> Review-Url: https://codereview.chromium.org/2536493002 >> Cr-Commit-Position: refs/heads/master@{#435337} BUG=704643, 666416 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2778873002 Cr-Commit-Position: refs/heads/master@{#460209} Committed: https://chromium.googlesource.com/chromium/src/+/09a6cd640fb5bf07aa06477362229c2e6969a718

Patch Set 1 #

Patch Set 2 : Fix #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+168 lines, -80 lines) Patch
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/text-rescale-expected.txt View 1 1 chunk +0 lines, -20 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/text-rescale-expected.txt View 1 1 chunk +0 lines, -20 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/text-rescale-expected.txt View 1 1 chunk +0 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/core/BUILD.gn View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 1 chunk +4 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h View 1 1 chunk +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp View 1 3 chunks +12 lines, -0 lines 1 comment Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGForeignObject.h View 1 2 chunks +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGForeignObject.cpp View 1 1 chunk +0 lines, -7 lines 0 comments Download
A third_party/WebKit/Source/core/layout/svg/LayoutSVGForeignObjectTest.cpp View 1 1 chunk +140 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 1 1 chunk +1 line, -5 lines 0 comments Download

Messages

Total messages: 18 (13 generated)
Xianzhu
Created Revert of Revert: "Let SVGForeignObject's local SVG coordinates mean what it should"
3 years, 9 months ago (2017-03-27 20:27:02 UTC) #1
Xianzhu
https://codereview.chromium.org/2778873002/diff/190001/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp File third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp (right): https://codereview.chromium.org/2778873002/diff/190001/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp#newcode117 third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp:117: transformState.move(locationOffset()); This is the fix. In the original patch, ...
3 years, 8 months ago (2017-03-28 17:45:09 UTC) #11
pdr.
LGTM!
3 years, 8 months ago (2017-03-28 17:47:25 UTC) #12
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/2778873002/190001
3 years, 8 months ago (2017-03-28 19:12:20 UTC) #15
commit-bot: I haz the power
3 years, 8 months ago (2017-03-28 20:39:39 UTC) #18
Message was sent while issue was closed.
Committed patchset #2 (id:190001) as
https://chromium.googlesource.com/chromium/src/+/09a6cd640fb5bf07aa0647736222...

Powered by Google App Engine
This is Rietveld 408576698