Bug 30635 - Chromium Linux: disable subpixel text on layers.
Summary: Chromium Linux: disable subpixel text on layers.
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Major
Assignee: Nobody
Depends on:
Reported: 2009-10-21 10:52 PDT by Adam Langley
Modified: 2009-10-21 11:23 PDT (History)
2 users (show)

See Also:

patch (4.48 KB, patch)
2009-10-21 10:53 PDT, Adam Langley
no flags Details | Formatted Diff | Diff
Fix { } around single line branch. (4.47 KB, patch)
2009-10-21 11:07 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-10-21 10:52:15 PDT

With the addition of layers for drawing rounded corners in r49641, subpixel text on rounded rectangles broke. This is because the layer only contains a single alpha channel and this is insufficient to compose subpixel text correctly.

On Windows, a large body of code in TransparencyWin.cpp exists to try to deal with this. Even then, in some cases, it downgrades to anti-aliased text. We need a fix for the grevious effects quickly thus this patch disables subpixel text when rendering into a layer.
Comment 1 Adam Langley 2009-10-21 10:53:40 PDT
Created attachment 41574 [details]
Comment 2 Eric Seidel (no email) 2009-10-21 10:59:02 PDT
Do we plan to "fix" layers to work with subpixel text at some point?

Your patch has extra { } around the single-line if block.
Comment 3 Adam Langley 2009-10-21 11:07:44 PDT
Created attachment 41579 [details]
Fix { } around single line branch.

Although having 48-bit layers would be interesting, it's never going to happen. A 'better' fix would be to refactor the code in TransparencyWin.cpp and render the text to a side-buffer, manually composing with the underlying layers. However, I'm not sure that I believe that the additional complexity is worth it. Either way, it's certainly not something that I'm going to do before the next dev channel release.
Comment 4 Eric Seidel (no email) 2009-10-21 11:17:53 PDT
Comment on attachment 41579 [details]
Fix { } around single line branch.

Comment 5 Adam Langley 2009-10-21 11:23:45 PDT