[Webkit-unassigned] [Bug 52868] [chromium] Fix redundant video frame paint on CSS LayerChromium for <video>

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 24 18:33:19 PST 2011


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


James Robinson <jamesr at chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #79691|review?                     |review-
               Flag|                            |




--- Comment #3 from James Robinson <jamesr at chromium.org>  2011-01-24 18:33:19 PST ---
(From update of attachment 79691)
View in context: https://bugs.webkit.org/attachment.cgi?id=79691&action=review

> Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:402
> +    // If we are using GPU to render video, ignore requests to paint frames into
> +    // canvas because it will be taken care of by VideoLayerChromium.
> +    if (acceleratedRenderingInUse())
> +        return;

Yeah, I'm pretty sure this will break painting from a h-w accelerated video into a 2d canvas.  Please check if we have a layout test to cover this case and if not please add one (create a <video> and a <canvas>, on the canvas' 2d context do .drawImage(video, ...), assert that the pixels show up).  I think the philip suite may have such a test.

2d and webgl canvases have the same issue.  The basic problem is that you want the paint() call to actually render when painting into a 2d canvas but you don't want it to happen when doing 'normal' rendering, so there's an explicit call in CanvasRenderingContext2D::drawImage() to differentiate the two: http://trac.webkit.org/browser/trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp#L1260.  makeRenderingResultsAvailable() ensures that the source canvas' ImageBuffer contains the actual bits of the source canvas, which is then drawn into the destination canvas.  I think you need something a bit different here, but whatever the code is it would go somewhere around here: http://trac.webkit.org/browser/trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp#L1337.

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