[chromium] Work around IOSurface-related corruption during readback
authorkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Feb 2012 01:17:27 +0000 (01:17 +0000)
committerkbr@google.com <kbr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Feb 2012 01:17:27 +0000 (01:17 +0000)
commit2d2be7b011fce4d664daf2d02d5ea9fe9c882186
treee82a4c7b92028df4f1f6791af3d605409b729805
parent537e53c371a7d63e61cf98bd956c77dccb140bf5
[chromium] Work around IOSurface-related corruption during readback
https://bugs.webkit.org/show_bug.cgi?id=79735

Reviewed by James Robinson.

Copy the compositor's IOSurface-backed output into a temporary
texture and perform the ReadPixels operation against that texture.

It is infeasible to write an automated test for this issue.
Tested manually by performing print preview multiple times against
pages containing WebGL content on 10.7 and observing that the
corruption in the output is no longer present.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::getFramebufferPixels):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@109173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp