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

Issue 2524113002: Fix SVG vertical text layout issues (Closed)

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

Description

Fix SVG vertical text layout issues We layout SVG text fragments in physical coordinates of SVG <text>. SVG text layout objects inherite from HTML text layout objects. Previously we saved the physical coordinates in the HTML layout objects as logical coordinates, and tried to override the HTML code with SVG specific code to interprete the logical coordinates as physical coordinates in painting and hittesting, etc. However, there are still HTML code use the coordinates as logical and break some cases. Now convert the physical coordinates into appropriate coordinates required by the HTML layout objects before saving them. Also let SVG painting and hittesting code interprete the coordinates in the same way as HTML code does. Optimized SVGRootInlineBox::layoutChildBoxes() to reduce the complexity from O(2^logN) to O(N) (where N = number of line box nodes). SVGInlineFlowBox::calcuateBoundaries() will be removed in a later CL. Fix bug that the indirect descendants of the root box were not adjusted to the block coordinates. BUG=666416 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/6ef01616c17c1ffb3a6c5d1430b3641c2c25c6cb Cr-Commit-Position: refs/heads/master@{#434270}

Patch Set 1 #

Patch Set 2 : - #

Total comments: 2

Patch Set 3 : - #

Messages

Total messages: 20 (12 generated)
Xianzhu
4 years ago (2016-11-23 18:13:48 UTC) #4
fs
lgtm https://codereview.chromium.org/2524113002/diff/20001/third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp File third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp (right): https://codereview.chromium.org/2524113002/diff/20001/third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp#newcode72 third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp:72: LayoutRect childRect = layoutChildBoxes(*this); Maybe consider sinking this ...
4 years ago (2016-11-23 19:16:46 UTC) #8
pdr.
On 2016/11/23 at 19:16:46, fs wrote: > lgtm > > https://codereview.chromium.org/2524113002/diff/20001/third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp > File third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp (right): ...
4 years ago (2016-11-23 19:23:17 UTC) #9
Xianzhu
https://codereview.chromium.org/2524113002/diff/20001/third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp File third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp (right): https://codereview.chromium.org/2524113002/diff/20001/third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp#newcode72 third_party/WebKit/Source/core/layout/svg/line/SVGRootInlineBox.cpp:72: LayoutRect childRect = layoutChildBoxes(*this); On 2016/11/23 19:16:46, fs wrote: ...
4 years ago (2016-11-23 19:48:44 UTC) #10
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/2524113002/40001
4 years ago (2016-11-23 19:49:36 UTC) #13
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/2524113002/40001
4 years ago (2016-11-23 20:42:42 UTC) #16
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years ago (2016-11-23 22:48:51 UTC) #18
commit-bot: I haz the power
4 years ago (2016-11-23 22:51:31 UTC) #20
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/6ef01616c17c1ffb3a6c5d1430b3641c2c25c6cb
Cr-Commit-Position: refs/heads/master@{#434270}

Powered by Google App Engine
This is Rietveld 408576698