User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0 Build Identifier: Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0 Canvas.drawWindow no longer captures Flash video in Firefox 4. It worked in Firefox 3. It does still capture regular Flash though. For example, drawWindow no longer captures the video player on YouTube. I wrote an add-on whose primary purpose is to capture screenshots from a website that uses Flash video. Now this add-on no longer captures that video (it still captures anything else on the page). Reproducible: Always Steps to Reproduce: 1. Go to a website with Flash video 2. Attempt to use Canvas.drawWindow to capture anything from the video 3. Display that capture somehow Actual Results: You get all white (or maybe whatever the background color is). Expected Results: I expect to get a screenshot of the video.
Component: Developer Tools → Plug-ins
Product: Firefox → Core
QA Contact: developer.tools → plugins
Version: unspecified → 2.0 Branch
Is this a matter of drawWindow seeing windowless Flash but not windowed?
It's probably that we removed the PrintWindow code path because it busted OOP plugins. That was removed in bug 605928.
So basically, the only way we know of to try to grab the contents of a windowed Flash object broke badly with OOPP, so we removed it.
Is there no way of rectifying this? It seems silly that I'd have to use an outside process to query Firefox windows. Surely, if I could do it with an outside process, Firefox could do it itself.
What outside process are you using?
I'm not using one yet, but if there's no fix for this, I'd have to. If the implication is that an outside process couldn't do it, my print screen button begs to differ.
I assume "print screen" simply grabs a copy of what's on the screen. That doesn't work if the browser window is covered by another window, so we can't use it for drawWindow.
You are correct in that. It looks like one work-around is to use the wmode attribute of Flash. Setting it to opaque or transparent allows drawWindow to capture it. I don't think the property can be changed after the SWF is loaded (but I could be wrong). I just programmed my extension to use ProgressListeners to modify any EMBED tags on the page and also listened for the DOMNodeInserted event on the document objects of any pages for dynamically added EMBED content.
Hi. I have encountered the same problem during my project. Is there a plan to actually fix this bug? thanks.
I don't think this is actually fixable. There is no reliable way to capture the contents of a windowed Flash plugin.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → WONTFIX
Summary: Canvas.drawWindow no longer captures Flash video in Firefox 4. It worked in Firefox 3. → Canvas.drawWindow no longer captures windowed Flash plugins in Firefox 4
You need to log in before you can comment on or make changes to this bug.