Summary: | [Cairo] canvas/philip/tests/2d.drawImage.self.2.html test failing on ports using Cairo | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Sudarsana Nagineni (babu) <naginenis> | ||||||
Component: | Canvas | Assignee: | Dominik Röttsches (drott) <d-r> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | d-r, gustavo, gyuyoung.kim, kenneth, mrobinson, rakuco, s.choi, webkit.review.bot, zan | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Sudarsana Nagineni (babu)
2012-08-06 02:39:16 PDT
https://bugs.webkit.org/show_bug.cgi?id=54458#c7 has some insight: # When drawing canvas into itself, WebCore draws canvas's buffer into the same buffer. This # results in recursive drawing into cairo surface. We should either use groups when drawing # with cairo or copy the buffer every time the HTMLCanvasElement gets repainted. canvas/philip/tests/2d.drawImage.self.2.html Created attachment 158040 [details]
Copying buffer when src and dst are identical.
Comment on attachment 158040 [details] Copying buffer when src and dst are identical. View in context: https://bugs.webkit.org/attachment.cgi?id=158040&action=review > Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp:99 > +void ImageBuffer::draw(GraphicsContext* destContext, ColorSpace styleColorSpace, const FloatRect& destRect, const FloatRect& srcRect, why not write it out destinationContext or just destination. Created attachment 158048 [details]
Copying buffer when src and dst are identical, v2.
Thanks Kenneth, updated patch with review comment addressed. Comment on attachment 158048 [details] Copying buffer when src and dst are identical, v2. Clearing flags on attachment: 158048 Committed r125432: <http://trac.webkit.org/changeset/125432> All reviewed patches have been landed. Closing bug. |