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

Issue 2513293002: Revert of Avoid special handling of LayoutSVGForeignObject about its paint offset (Closed)

Created:
4 years, 1 month ago by Xianzhu
Modified:
4 years, 1 month ago
Reviewers:
pdr.
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, rwlbuis, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, fs, krit, f(malita), jchaffraix+rendering, blink-reviews-paint_chromium.org, blink-reviews, gyuyoung2, Stephen Chennney, kouhei+svg_chromium.org, dshwang, pdr+svgwatchlist_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Avoid special handling of LayoutSVGForeignObject about its paint offset (patchset #2 id:20001 of https://codereview.chromium.org/2512493003/ ) Reason for revert: It is incorrect to treat the HTML viewport defined by a LayoutSVGForeignObject as the "local SVG coordinate space", because it's not the space that the local svg transform, clip path and filters apply. This CL is wrong because it treats the wrong LayoutSVGForeignObject::localToParentSVGTransform() as correct and used a wrong way to remedy that. This CL breaks clip path on foreignObject because the clip path is applied in wrong space. Original issue's description: > Avoid special handling of LayoutSVGForeignObject about its paint offset > > Previously we painted a LayoutSVGForeignObject in the following way: > 1 Issue transform and clip based on localSVGTransform; > 2 Call BlockFlowPainter::paint with zero LayoutPoint() > 3 BlockFlowPainter::paint uses the object's location() as the actual > paint offset. > > The above painting method also required us to generate the same paint > properties in PaintPropertyTreeBuilder. > > This CL change painting of LayoutSVGForiegnObject in a new way: > 1 Issue transform and clip based on localToSVGParentTransform which > includes the viewport offset; > 2 Call BlockFlowPainter::paint with -location() as the paint offset; > 3 BlockFlowPainter::paint then add the object's location() to the > paint offset which results a zero paint offset. > > With the new method, LayoutSVGForeignObject behaves more like a normal > SVG object so we can remove some special handling of it. > > BUG=666416 > > x > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 > > Committed: https://crrev.com/74454dfeaa27a9f696824e0a2a1548175d2e26ab > Cr-Commit-Position: refs/heads/master@{#433080} TBR=pdr@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=666416 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/a85757755e1db65b954b4a40283ad5660ae84630 Cr-Commit-Position: refs/heads/master@{#433456}

Patch Set 1 #

Patch Set 2 : Rebase (with good parts kept) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+38 lines, -33 lines) Patch
M third_party/WebKit/Source/core/paint/ObjectPainter.cpp View 1 2 chunks +8 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 1 2 chunks +13 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp View 1 2 chunks +9 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/core/paint/SVGForeignObjectPainter.cpp View 1 2 chunks +8 lines, -10 lines 0 comments Download

Messages

Total messages: 12 (8 generated)
Xianzhu
Created Revert of Avoid special handling of LayoutSVGForeignObject about its paint offset
4 years, 1 month ago (2016-11-20 02:13:23 UTC) #1
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/2513293002/170001
4 years, 1 month ago (2016-11-20 18:10:12 UTC) #8
commit-bot: I haz the power
Committed patchset #2 (id:170001)
4 years, 1 month ago (2016-11-20 18:13:46 UTC) #10
commit-bot: I haz the power
4 years, 1 month ago (2016-11-20 18:16:10 UTC) #12
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/a85757755e1db65b954b4a40283ad5660ae84630
Cr-Commit-Position: refs/heads/master@{#433456}

Powered by Google App Engine
This is Rietveld 408576698