[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