[Webkit-unassigned] [Bug 104768] New: Uninitialized text decoration color is propagated to ruby text.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 11 22:38:26 PST 2012


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

           Summary: Uninitialized text decoration color is propagated to
                    ruby text.
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: yuki.sekiguchi at access-company.com


When I try to apply the following patch to QtWebKit of Qt 4.8, the problem is occurred.

> text-decoration: element should not inherit text-decoration property
> http://trac.webkit.org/changeset/108690

I use the following html file.

> <ruby style="text-decoration: underline">aaa<rt>aa</rt></ruby>

The ruby text "aa" have black underline when I tried.

The propagation of text-decoration is executed at InlineTextBox::paintDecoration()

>    // Get the text decoration colors.
>    Color underline, overline, linethrough;
>    renderer()->getTextDecorationColors(deco, underline, overline, linethrough, true, isFirstLineStyle());
RenderObject::getTextDecorationColors() is...

>    RenderObject* curr = this;
>    RenderStyle* styleToUse = 0;
>    do {
>        styleToUse = curr->style(firstlineStyle);
>        int currDecs = styleToUse->textDecoration();
>        if (currDecs) {
>            if (currDecs & UNDERLINE) {
>                decorations &= ~UNDERLINE;
>                underline = decorationColor(styleToUse);
>            }
>            if (currDecs & OVERLINE) {
>                decorations &= ~OVERLINE;
>                overline = decorationColor(styleToUse);
>            }
>            if (currDecs & LINE_THROUGH) {
>                decorations &= ~LINE_THROUGH;
>                linethrough = decorationColor(styleToUse);
>            }
>        }
>        if (curr->isRubyText())
>            return;
>        curr = curr->parent();
>        if (curr && curr->isAnonymousBlock() && toRenderBlock(curr)->continuation())
>            curr = toRenderBlock(curr)->continuation();
>    } while (curr && decorations && (!quirksMode || !curr->node() ||
>                                     (!curr->node()->hasTagName(aTag) && !curr->node()->hasTagName(fontTag))));

If parent of a text is ruby text, underline, overline and linethrough are uninitialized.

-- 
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