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

Issue 1304993003: Fix Japanese line breaking rule before and after ruby (Closed)

Created:
5 years, 4 months ago by kojii
Modified:
5 years, 4 months ago
CC:
blink-reviews, blink-reviews-rendering, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Fix Japanese line breaking rule before and after ruby This patch fixes Japanese line breaking rules before and after ruby elements. This patch is a port of http://wkb.ug/91588 with the following changes: * The WebKit patch sets ruby base text to the prior context for breaks after the ruby. Since U+FFFD Object Replacement Character can cover most of the common cases that this patch does not include that part. * canBreakBefore() is fixed to include the correct UAX#14[1] classes that prohibit line breaks after. The original patch is a mix of before and after, and lacks some important after classes. This patch fixes the common use cases in CJK, but it's hard to say this is the right way to fix. There are two issues that block doing so at this moment: 1. RubyRun is LayoutBlockFlow, but after WebKit implemented, the ruby spec was updated to allow line breaking within ruby, so it should be like inline, not a replaced element. 2. The CSS WG discussed on line breaking around replaced elements, but the discussion is not making much progress. Changes in this patch should be updated when these issues are resolved. [1] http://unicode.org/reports/tr14/ BUG=522826 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201073

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Fix test for Linux #

Patch Set 4 : Add NeedsRebaseline #

Total comments: 8

Patch Set 5 : leviw/eae review #

Patch Set 6 : Fix test for possible false-positive cases #

Patch Set 7 : mac_chromium_rel_ng bot is stuck, re-upload to see if it fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+69 lines, -3 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
A LayoutTests/fast/ruby/line-break-ruby.html View 1 2 3 4 5 1 chunk +34 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutRubyRun.h View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutRubyRun.cpp View 1 2 3 4 1 chunk +25 lines, -0 lines 0 comments Download
M Source/core/layout/line/BreakingContextInlineHeaders.h View 1 2 3 4 2 chunks +6 lines, -3 lines 0 comments Download

Messages

Total messages: 17 (6 generated)
kojii
leviw@, PTAL. The WebKit bug is still active, but dhyatt's patch attached in the bug ...
5 years, 4 months ago (2015-08-21 15:32:59 UTC) #2
leviw_travelin_and_unemployed
Adding a couple more eyes for those familiar with Unicode. https://codereview.chromium.org/1304993003/diff/60001/LayoutTests/TestExpectations File LayoutTests/TestExpectations (right): https://codereview.chromium.org/1304993003/diff/60001/LayoutTests/TestExpectations#newcode292 ...
5 years, 4 months ago (2015-08-21 18:42:50 UTC) #4
eae
https://codereview.chromium.org/1304993003/diff/60001/Source/core/layout/LayoutRubyRun.cpp File Source/core/layout/LayoutRubyRun.cpp (right): https://codereview.chromium.org/1304993003/diff/60001/Source/core/layout/LayoutRubyRun.cpp#newcode308 Source/core/layout/LayoutRubyRun.cpp:308: // hard-coded, but lookahead in this case is particularly ...
5 years, 4 months ago (2015-08-21 20:47:06 UTC) #5
kojii
https://codereview.chromium.org/1304993003/diff/60001/LayoutTests/TestExpectations File LayoutTests/TestExpectations (right): https://codereview.chromium.org/1304993003/diff/60001/LayoutTests/TestExpectations#newcode292 LayoutTests/TestExpectations:292: crbug.com/522826 [ Linux SnowLeopard Lion MountainLion Mavericks Retina ] ...
5 years, 4 months ago (2015-08-22 00:37:08 UTC) #6
kojii
All done, thank you leviw and eae. PTAL. For "asserts" in TestExpectations, please see the ...
5 years, 4 months ago (2015-08-22 03:49:34 UTC) #7
eae
LGTM, thanks!
5 years, 4 months ago (2015-08-23 16:22:26 UTC) #8
leviw_travelin_and_unemployed
LGTM2
5 years, 4 months ago (2015-08-24 01:48:29 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1304993003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1304993003/100001
5 years, 4 months ago (2015-08-24 02:11:00 UTC) #11
commit-bot: I haz the power
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/102898)
5 years, 4 months ago (2015-08-24 03:37:51 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1304993003/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1304993003/120001
5 years, 4 months ago (2015-08-24 20:28:20 UTC) #16
commit-bot: I haz the power
5 years, 4 months ago (2015-08-24 20:32:32 UTC) #17
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=201073

Powered by Google App Engine
This is Rietveld 408576698