[Webkit-unassigned] [Bug 44127] [chromium] Thumbnails not generated for GPU Rendered Pages

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 7 15:24:17 PDT 2010


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





--- Comment #55 from Vangelis Kokkevis <vangelis at chromium.org>  2010-09-07 15:24:16 PST ---
(From update of attachment 66755)
View in context: https://bugs.webkit.org/attachment.cgi?id=66755&action=prettypatch

> WebCore/ChangeLog:10
> +        printing and other services to work with GPU rendered pages.
Just curious, does any of the pages that the thumbnailing tests use trigger the compositor? If not, we should probably add one just to make sure this functionality doesn't break over time.

> WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:349
> +    // Flip pixels vertically.
If flipping the image is only necessary when stuffing the pixels into a skia canvas then it occurs to me that this isn't the right spot for it. This function knows nothing
about who's going to be using the pixels as it writes straight into a void* memory address.  The flipping, if necessary, needs to happen by the caller. Seems to me that in the Skia case it would be cleanest if you always create a temporary canvas and use a SkCanvas transform to do the flipping as you draw from the temp canvas into the WebCanvas.

If you think that's a reasonable avenue then it might be possible to merge the two platform paths in the following way (which I think is what Darin was suggesting in the first place):

1. Create an ImageBuffer object for your temporary storage. Create an ImageData object to go along with it.
2. Get a CanvasPixelArray out of the ImageData object and use it to store the pixels you get out of the getFrameBufferPixels call.
3. Use, across all platforms, drawImageBuffer() to copy the temporary image onto the GraphicsContext that WebViewImpl::paint gets passed in.

On the surface of it it seems that this should work without any platform specific code... but maybe I'm not seeing something here.

> WebKit/chromium/src/WebViewImpl.cpp:1062
> +              // to bottom left.
The comment above is no longer valid as you're not doing an inversion here anymore. You don't need to save and restore the state either.

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