Bug 26935

Summary: [Chromium] Linux: fix complex text rendering with line break characters
Product: WebKit Reporter: Adam Langley <agl>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
patch
eric: review-
patch eric: review+

Adam Langley
Reported 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.
Attachments
patch (3.87 KB, patch)
2009-07-02 14:47 PDT, Adam Langley
eric: review-
patch (3.21 KB, patch)
2009-07-02 15:24 PDT, Adam Langley
eric: review+
Adam Langley
Comment 1 2009-07-02 14:47:57 PDT
Eric Seidel (no email)
Comment 2 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).
Eric Seidel (no email)
Comment 3 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.
Adam Langley
Comment 4 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.
Eric Seidel (no email)
Comment 5 2009-07-02 15:25:34 PDT
Comment on attachment 32201 [details] patch LGTM.
Note You need to log in before you can comment on or make changes to this bug.