Bug 26935 - [Chromium] Linux: fix complex text rendering with line break characters
Summary: [Chromium] Linux: fix complex text rendering with line break characters
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-02 14:41 PDT by Adam Langley
Modified: 2009-07-02 15:41 PDT (History)
0 users

See Also:


Attachments
patch (3.87 KB, patch)
2009-07-02 14:47 PDT, Adam Langley
eric: review-
Details | Formatted Diff | Diff
patch (3.21 KB, patch)
2009-07-02 15:24 PDT, Adam Langley
eric: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Langley 2009-07-02 14:41:36 PDT
If the CSS white-space property is inhibiting line breaking, we might find end of-line characters rendered via the complex text path. Fonts don't provide glyphs for these code points so, if we find one, we simulate the space glyph being interposed in this case.  Because the input is variable-length per code point, we walk the input in step with the output.
Comment 1 Adam Langley 2009-07-02 14:47:57 PDT
Created attachment 32200 [details]
patch
Comment 2 Eric Seidel (no email) 2009-07-02 14:53:51 PDT
Comment on attachment 32200 [details]
patch

Yay for nice ChangeLogs! :)

I believe the { goes on the same line as the enum:
+enum
+{

Nice use of self-documenting constants, btw. :)

Looks fine. I'll ask you in person to make sure we're doing this in a similar manner to the other complex text paths (which I know have similar code).
Comment 3 Eric Seidel (no email) 2009-07-02 15:11:04 PDT
Comment on attachment 32200 [details]
patch

Adam and I discussed this in person and he decided this would require further revision.
Comment 4 Adam Langley 2009-07-02 15:24:23 PDT
Created attachment 32201 [details]
patch

After testing with some of the other values that I believed should be substituted for spaces, it seems that treatAsSpace is correct. None of the other values are causing issues. Either they are handled somewhere else, or the font's cmap is handling them.
Comment 5 Eric Seidel (no email) 2009-07-02 15:25:34 PDT
Comment on attachment 32201 [details]
patch

LGTM.