[Webkit-unassigned] [Bug 67404] New: [cairo] GraphicsContextCairo::FillRect with a solid colour does not respect operator

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 1 07:54:10 PDT 2011


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

           Summary: [cairo] GraphicsContextCairo::FillRect with a solid
                    colour does not respect operator
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: rob at robster.org.uk


In the GraphicsContext function:

void GraphicsContext::fillRect(const FloatRect& rect, const Color& color, ColorSpace styleColorSpace, CompositeOperator op)

(which is not overridden in the GraphicsContextCairo)

It sets the operator and then proceeds to call the fillRect(const FloatRect& rect, const Color& color, ColorSpace styleColorSpace) (i.e. the version without the operator)

The problem is that the fillRectWithColor in GraphicsContextCairo.cpp always uses the OVER operator.

Without respecting the operator I think we would see incorrect results from code that triggers

"
        if (baseColor.alpha()) {
            if (bgColor.alpha())
                baseColor = baseColor.blend(bgColor);

            context->fillRect(backgroundRect, baseColor, style()->colorSpace(), CompositeCopy);
        } else if (bgColor.alpha()) {
            CompositeOperator operation = shouldClearBackground ? CompositeCopy : context->compositeOperation();
            context->fillRect(backgroundRect, bgColor, style()->colorSpace(), operation);
        } else if (shouldClearBackground)
            context->clearRect(backgroundRect);

" from RenderBoxModelObject::paintFillLayerExtended

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