[Webkit-unassigned] [Bug 108897] [Cairo] Canvas-shadow behavior is not being as expected

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 9 23:20:44 PDT 2013


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





--- Comment #29 from Rashmi Shyamasundar <rashmi.s2 at samsung.com>  2013-04-09 23:18:58 PST ---
Root cause for the issue :-

Correcting the statement I made in comment - https://bugs.webkit.org/show_bug.cgi?id=108897#c23

The root cause for this issue lies in step #3, and not step#2. (Please refer https://bugs.webkit.org/show_bug.cgi?id=108897#c23 for the steps involved in drawing a shadow).

step #3: Copy the shadow-context to the original canvas-context.

This copy is achieved through the below sequence of functions :-

3a. In the funciton ShadowBlur::endShadowLayer(), context->drawImageBuffer() is called in order to copy the image from shadowContext to the original graphics context.

3b. GraphicsContext::drawImageBuffer() in turn calls ImageBuffer::draw() which in turn calls GraphicsContext::drawImage(), which in turn calls BitmapImage::draw(), which in turn calls PlatformContextCairo::drawSurfaceToContext().

3c. In the function PlatformContextCairo::drawSurfaceToContext(), a pattern is created from the source surface and the destination context is filled with this pattern.

In the step #3c, since we have created a surface pattern and not a gradient pattern, the extend mode for filling the pattern should be CAIRO_EXTEND_NONE and not CAIRO_EXTEND_PAD.

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