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

Issue 1505713002: Include glyph overflow in SVG text bounding boxes (Closed)

Created:
5 years ago by pdr.
Modified:
4 years, 10 months ago
Reviewers:
manumedinam, fs
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, krit, eae+blinkwatch, f(malita), 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
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Include glyph overflow in SVG text bounding boxes Glyph overflow is the area that extends past the layout bounds of a glyph. Both the paint invalidation bounding boxes and the returned value from SVGTextElement.getBBox() did not include the glyph overflow. This can be seen in repaint bugs around compositor tile boundaries if text is animated, or by looking at the result of getBBox(). This patch stores the glyph overflow when computing text metrics and adds this overflow only to the bounding box so layout values are unaffected. With this patch we now match the behavior of Gecko. BUG=566285 Committed: https://crrev.com/50972884330c51464b56f9082d4da49330e9f6b3 Cr-Commit-Position: refs/heads/master@{#366291}

Patch Set 1 #

Total comments: 1

Patch Set 2 : Compute and store glyph overflow per-fragment #

Total comments: 7

Patch Set 3 : Fix two nits #

Patch Set 4 : Do not ceil glyph overflow, update test expectations for 4 tests #

Patch Set 5 : Update test expectations: round 1 #

Patch Set 6 : More test expectation updates: round 2 #

Patch Set 7 : Ace of rebase #

Patch Set 8 : More expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+625 lines, -76 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 9 chunks +425 lines, -51 lines 0 comments Download
A third_party/WebKit/LayoutTests/svg/text/bbox-with-glyph-overflow.html View 1 1 chunk +33 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/svg/text/bbox-with-glyph-overflow-on-path.html View 1 1 chunk +50 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/svg/text/bbox-with-glyph-overflow-zoomed.html View 1 1 chunk +40 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/svg/text/text-rect-precision.html View 1 2 3 4 5 6 7 3 chunks +14 lines, -17 lines 0 comments Download
M third_party/WebKit/LayoutTests/svg/text/text-rect-precision-expected.txt View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/line/GlyphOverflow.h View 1 2 3 1 chunk +23 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/SVGTextFragment.h View 1 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp View 1 2 3 chunks +23 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/SVGTextMetrics.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp View 1 1 chunk +6 lines, -1 line 0 comments Download

Messages

Total messages: 36 (15 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1505713002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1505713002/1
5 years ago (2015-12-07 06:48:00 UTC) #3
pdr.
@fs, this isn't quite ready to go (running all the bots to get the list ...
5 years ago (2015-12-07 06:50:34 UTC) #4
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/150870)
5 years ago (2015-12-07 08:07:24 UTC) #6
fs
On 2015/12/07 at 06:50:34, pdr wrote: > @fs, this isn't quite ready to go (running ...
5 years ago (2015-12-07 10:32:30 UTC) #8
pdr.
Thanks! On 2015/12/07 at 10:32:30, fs wrote: > On 2015/12/07 at 06:50:34, pdr wrote: > ...
5 years ago (2015-12-14 05:11:06 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1505713002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1505713002/20001
5 years ago (2015-12-14 05:11:29 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/154838)
5 years ago (2015-12-14 06:33:57 UTC) #13
fs
On 2015/12/14 at 05:11:06, pdr wrote: > Thanks! > > On 2015/12/07 at 10:32:30, fs ...
5 years ago (2015-12-14 09:59:31 UTC) #14
fs
On 2015/12/14 at 05:11:06, pdr wrote: > Thanks! > > On 2015/12/07 at 10:32:30, fs ...
5 years ago (2015-12-14 09:59:53 UTC) #15
pdr.
Just a minor update. Once https://codereview.chromium.org/1524913003 lands, I'll update the tests and put this up ...
5 years ago (2015-12-16 04:27:45 UTC) #18
fs
lgtm https://codereview.chromium.org/1505713002/diff/20001/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp File third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp (right): https://codereview.chromium.org/1505713002/diff/20001/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp#newcode125 third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp:125: // TODO(pdr): The glyph overflow bounds can be ...
5 years ago (2015-12-16 10:12:21 UTC) #19
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1505713002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1505713002/60001
5 years ago (2015-12-16 22:28:29 UTC) #21
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/150920)
5 years ago (2015-12-16 23:42:22 UTC) #23
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1505713002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1505713002/140001
5 years ago (2015-12-17 04:06:23 UTC) #25
pdr.
This is ready for a real review! There is one change in the c++ side ...
5 years ago (2015-12-17 04:09:49 UTC) #26
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/156789)
5 years ago (2015-12-17 04:45:21 UTC) #28
fs
lgtm Given the look of the TE file, I'll let you land this yourself.
5 years ago (2015-12-17 09:28:49 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1505713002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1505713002/140001
5 years ago (2015-12-20 00:30:35 UTC) #31
commit-bot: I haz the power
Committed patchset #8 (id:140001)
5 years ago (2015-12-20 02:14:02 UTC) #32
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/50972884330c51464b56f9082d4da49330e9f6b3 Cr-Commit-Position: refs/heads/master@{#366291}
5 years ago (2015-12-20 02:15:09 UTC) #34
manumedinam
4 years, 10 months ago (2016-01-30 08:17:59 UTC) #36
Message was sent while issue was closed.

          

Powered by Google App Engine
This is Rietveld 408576698