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

Issue 799123003: text-combine should scale rather than fall back to none when wide (Closed)

Created:
5 years, 12 months ago by kojii
Modified:
5 years, 10 months ago
Reviewers:
kouhei (in TOK)
CC:
blink-reviews, blink-reviews-rendering, zoltan1, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, slimming-paint-reviews_chromium.org, jchaffraix+rendering, blink-reviews-paint_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

text-combine should scale rather than fall back to none when wide This patch follows the two spec change in 2014 CR: 1. Compress rather than fallback when width > ~1em. Old WD said to fallback to none. 2. For line breaking before and after the composition, it is treated as a regular inline with its actual contents. Old WD said it should be treated as U+FFFC. CR: http://www.w3.org/TR/css-writing-modes-3/#text-combine ED: http://dev.w3.org/csswg/css-writing-modes/#text-combine In addition to the changes to RenderCombineText, this spec change has a small but pleasant side effect to our implementation. The RenderCombinedText delays the width calculation until it's needed. But the old spec said that it has to be treated as an U+FFFC OBJECT REPLACEMENT CHARACTER to line breakers when combined. From these two, line breakers used be aware of RenderCombinedText and updated it (combineText()) when needed. Also, the fact that combineText() could change the length of text brought additional complexity. We had a few calls to combineText() in line breakers, and still has some flakiness such as bug 312606. The new spec eliminates this complexity, so our line breakers are a bit cleaner, faster, and less flaky. fast/text/font-variant-width.html had to be rewritten because it relied on the behavior of text-combine to fallback when wide. BUG=433176, 312606 TEST=fast/writing-mode/text-combine-compress.html Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=189382

Patch Set 1 : #

Patch Set 2 : rebase-update #

Total comments: 4

Patch Set 3 : comments fixed #

Total comments: 10

Patch Set 4 : All comments fixed #

Total comments: 1

Patch Set 5 : link to the spec added #

Patch Set 6 : rebase-update #

Patch Set 7 : Support spec change #2 for better stability #

Patch Set 8 : TestExpectations #

Patch Set 9 : TestExpectations #

Patch Set 10 : Remove one expected.txt and rebase-update (there was a directory rename) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+264 lines, -182 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 1 chunk +10 lines, -1 line 0 comments Download
M LayoutTests/fast/dynamic/text-combine.html View 1 chunk +3 lines, -3 lines 0 comments Download
M LayoutTests/fast/text/font-variant-width.html View 2 chunks +43 lines, -37 lines 0 comments Download
M LayoutTests/fast/text/font-variant-width-expected.txt View 1 chunk +14 lines, -22 lines 0 comments Download
M LayoutTests/fast/text/international/combine-at-line-break-crash.html View 1 chunk +2 lines, -2 lines 0 comments Download
M LayoutTests/fast/text/international/spaces-combined-in-vertical-text-expected.txt View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/fast/text/text-combine-shrink-to-fit-expected.txt View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
A LayoutTests/fast/writing-mode/text-combine-compress.html View 1 2 3 4 5 6 1 chunk +109 lines, -0 lines 0 comments Download
D LayoutTests/virtual/antialiasedtext/fast/text/font-variant-width-expected.txt View 1 chunk +0 lines, -25 lines 0 comments Download
D LayoutTests/virtual/antialiasedtext/fast/text/international/spaces-combined-in-vertical-text-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/layout/line/BreakingContextInlineHeaders.h View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -16 lines 0 comments Download
M Source/core/layout/line/LineBreaker.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -4 lines 0 comments Download
M Source/core/paint/InlineTextBoxPainter.cpp View 1 2 3 4 5 6 9 2 chunks +20 lines, -17 lines 0 comments Download
M Source/core/paint/TextPainter.cpp View 1 chunk +8 lines, -1 line 0 comments Download
M Source/core/rendering/RenderBlockLineLayout.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M Source/core/rendering/RenderCombineText.h View 1 2 3 4 5 6 2 chunks +5 lines, -3 lines 0 comments Download
M Source/core/rendering/RenderCombineText.cpp View 1 2 3 4 5 6 4 chunks +48 lines, -45 lines 0 comments Download

Messages

Total messages: 33 (11 generated)
kojii
kouhei@, PTAL!
5 years, 11 months ago (2015-01-21 01:08:44 UTC) #7
kouhei (in TOK)
mostly lg https://codereview.chromium.org/799123003/diff/120001/Source/core/rendering/RenderCombineText.cpp File Source/core/rendering/RenderCombineText.cpp (right): https://codereview.chromium.org/799123003/diff/120001/Source/core/rendering/RenderCombineText.cpp#newcode34 Source/core/rendering/RenderCombineText.cpp:34: , m_scaleX(0) I prefer this default to ...
5 years, 11 months ago (2015-01-21 04:25:04 UTC) #8
kojii
both done, PTAL! https://codereview.chromium.org/799123003/diff/120001/Source/core/rendering/RenderCombineText.cpp File Source/core/rendering/RenderCombineText.cpp (right): https://codereview.chromium.org/799123003/diff/120001/Source/core/rendering/RenderCombineText.cpp#newcode34 Source/core/rendering/RenderCombineText.cpp:34: , m_scaleX(0) On 2015/01/21 04:25:04, kouhei ...
5 years, 11 months ago (2015-01-21 07:00:24 UTC) #9
kouhei (in TOK)
https://codereview.chromium.org/799123003/diff/140001/Source/core/rendering/RenderCombineText.cpp File Source/core/rendering/RenderCombineText.cpp (right): https://codereview.chromium.org/799123003/diff/140001/Source/core/rendering/RenderCombineText.cpp#newcode76 Source/core/rendering/RenderCombineText.cpp:76: if (m_scaleX) Please update logics too. no if needed ...
5 years, 11 months ago (2015-01-21 08:43:34 UTC) #10
Dominik Röttsches
Just mentioning, as a reply to your changelog: Note that I changed the character that's ...
5 years, 11 months ago (2015-01-21 13:07:50 UTC) #11
kojii
On 2015/01/21 13:07:50, Dominik Röttsches wrote: > Just mentioning, as a reply to your changelog: ...
5 years, 11 months ago (2015-01-21 15:55:33 UTC) #12
kojii
Apologies, how I could miss these...all fixed, PTAL. https://codereview.chromium.org/799123003/diff/140001/Source/core/rendering/RenderCombineText.cpp File Source/core/rendering/RenderCombineText.cpp (right): https://codereview.chromium.org/799123003/diff/140001/Source/core/rendering/RenderCombineText.cpp#newcode76 Source/core/rendering/RenderCombineText.cpp:76: if ...
5 years, 11 months ago (2015-01-21 18:04:02 UTC) #13
kouhei (in TOK)
almost there https://codereview.chromium.org/799123003/diff/160001/Source/core/rendering/RenderCombineText.h File Source/core/rendering/RenderCombineText.h (right): https://codereview.chromium.org/799123003/diff/160001/Source/core/rendering/RenderCombineText.h#newcode35 Source/core/rendering/RenderCombineText.h:35: bool isTransformNeeded() const { return m_scaleX < ...
5 years, 11 months ago (2015-01-21 18:05:55 UTC) #14
kojii
On 2015/01/21 18:05:55, kouhei wrote: > almost there > > https://codereview.chromium.org/799123003/diff/160001/Source/core/rendering/RenderCombineText.h > File Source/core/rendering/RenderCombineText.h (right): ...
5 years, 11 months ago (2015-01-22 02:05:51 UTC) #15
kouhei (in TOK)
On 2015/01/22 02:05:51, koji wrote: > On 2015/01/21 18:05:55, kouhei wrote: > > almost there ...
5 years, 11 months ago (2015-01-22 03:05:10 UTC) #16
kouhei (in TOK)
lgtm
5 years, 11 months ago (2015-01-22 03:05:25 UTC) #17
kojii
leviw@, PTAL! Spec comments & link added.
5 years, 11 months ago (2015-01-22 06:02:39 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/799123003/180001
5 years, 10 months ago (2015-01-30 06:06:44 UTC) #21
kojii
On 2015/01/22 06:02:39, koji wrote: > leviw@, PTAL! > > Spec comments & link added. ...
5 years, 10 months ago (2015-01-30 06:07:10 UTC) #22
commit-bot: I haz the power
Committed patchset #5 (id:180001) as https://src.chromium.org/viewvc/blink?view=rev&revision=189235
5 years, 10 months ago (2015-01-30 06:10:26 UTC) #23
vsevik
A revert of this CL (patchset #5 id:180001) has been created in https://codereview.chromium.org/881133003/ by vsevik@chromium.org. ...
5 years, 10 months ago (2015-01-30 09:47:37 UTC) #24
vsevik
Reverted in https://codereview.chromium.org/890853002/
5 years, 10 months ago (2015-01-30 10:05:05 UTC) #25
kojii
On 2015/01/30 09:47:37, vsevik wrote: > A revert of this CL (patchset #5 id:180001) has ...
5 years, 10 months ago (2015-01-30 10:06:04 UTC) #26
kojii
kohei@, PTAL!
5 years, 10 months ago (2015-02-02 07:00:37 UTC) #29
kouhei (in TOK)
still lgtm
5 years, 10 months ago (2015-02-03 01:33:58 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/799123003/300001
5 years, 10 months ago (2015-02-03 04:20:08 UTC) #32
commit-bot: I haz the power
5 years, 10 months ago (2015-02-03 04:23:44 UTC) #33
Message was sent while issue was closed.
Committed patchset #10 (id:300001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=189382

Powered by Google App Engine
This is Rietveld 408576698