[Webkit-unassigned] [Bug 111302] New: Fix the visibility issue of MediaPlayer when painting pixel data from HTMLVideoElement to Canvas

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 4 04:22:55 PST 2013


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

           Summary: Fix the visibility issue of MediaPlayer when painting
                    pixel data from HTMLVideoElement to Canvas
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebGL
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: jun.a.jiang at intel.com


In HTMLVideoElement::paintCurrentFrameInContext(), it will call setVisible(true) for the underlying MediaPlayer instance. It may has some historic reason for this since some ports for MediaPlayerPrivate depends on the visibility of MediaPlayer to set-up video Rendering, or depends on the visibility of MediaPlayer to paint. The examples includes MediaPlayerPrivateQuickTimeVisualContext, MediaPlayerPrivateGstreamerBase, MediaPlayerPrivateBlackBerry, etc. 

However, it has side effects and may introduce bugs. For example, in a case, there is a Video element and Canvas element in a web Page and the CSS style for the Video is not set to "display: none". Moreover, to make the video data only shows in the canvas, the visibility of the mediaplayer for the video element is set to false in the JS file. When calling  HTMLVideoElement::paintCurrentFrameInContext() to paint HTMLVideo into canvas, the visibility of mediaplayer changes to true and the video will show in its layout regions, which is not what we want.

It should remove setVisible(true) in HTMLVideoElement::paintCurrentFrameInContext() and re-implement the MediaPlayerPrivate::paintCurrentFrameInContext() for those platforms that depends on the visibility of MediaPlayer to set-up video Rendering, or depends on the visibility of MediaPlayer to paint.

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