[Webkit-unassigned] [Bug 37788] New: [Chromium] InlineTextBox::paint() ignores the color property in rendering composition text.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Apr 18 22:35:30 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=37788

           Summary: [Chromium] InlineTextBox::paint() ignores the color
                    property in rendering composition text.
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Text
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: hbono at chromium.org
                CC: jshin at chromium.org, dglazkov at chromium.org,
                    thakis at chromium.org


(Copied from <http://crbug.com/40408>.)

1. Open the attached layout test with test_shell.

What is the expected output?

The word 'text' is rendered in red as shown in
"setmarkedtext-color-webkit.png".

What do you see instead?

Our test_shell render the word 'text' twice. The first 'text' is rendered in
red and the second 'text' 
is rendered in while as shown in "setmarkedtext-color-chromium.png".

Please use labels and text to provide additional information.

This issue is the root cause of WebKit Bug 31502
<https://bugs.webkit.org/show_bug.cgi?id=31502> on Windows Chrome. When
renderer()->selectionForegroundColor() returns a valid color, WebKit uses this
color to render IME selected text as shown in the following code snippet. (We
cannot see IME selection on Windows Chrome just because the function returns
white.) This issue happens only on Windows Chrome because this function doesn't
return valid colors on Mac Chrome or Safari.

434:    if (haveSelection) {
435:        // Check foreground color first.
436:        Color foreground = paintInfo.forceBlackText ? Color::black :
renderer()->selectionForegroundColor();
437:        if (foreground.isValid() && foreground != selectionFillColor) {

The easiest solution is adding the following code, which ignores the color
returned from renderer()->selectionForegroundColor() when this selection is an
IME selection. Nevertheless, I'm not sure if it is OK for WebKit people. Is it
possible to give me your opinions?

+       if (useCustomUnderlines)
+           foreground = Color();

Regards,

Hironori Bono

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list