Closed
Bug 476282
Opened 15 years ago
Closed 3 years ago
Flash and drawWindow() does not render the flash images in the browser window.
Categories
(Core :: Graphics: Canvas2D, defect)
Core
Graphics: Canvas2D
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: declan.harrison, Unassigned)
Details
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; MS-RTC LM 8) Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.0.5) Gecko/2008120121 Firefox/3.0.5 The test case detailed below actually calls drawWindow() twice, once for the top-right Flash clock (Flash plugin running in windowed mode) and a second time for the bottom-right clock (Flash plugin running in transparent mode). In Firefox 3.0.x, a static copy of the bottom-right clock should be drawn in the bottom-left corner of the page. You won't see anything in the top-left corner because Firefox 3.0.x on Linux cannot draw Flash "windowed" Flash content, so just ignore the top clock. The problem is the bottom portion of this test case which fails on my Linux system, was hoping by opening a new bug against Firefox that the Mozilla engineers might help me resolve this issue. Firefox Details ================ Im running Firefox version 3.0.5 on the Redhat Linux platform. I downloaded the tarball from Mozillas website and use this version to run Firefox. I have also installed the flash plug-in, version 10.0 r15 about:buildconfig Build platform target i686-pc-linux-gnu Build tools Compiler Version Compiler flags /tools/gcc/bin/gcc gcc version 4.1.2 20061011 (Red Hat 4.1.1-29) -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -Wno-long-long -pedantic -gstabs+ -fno-strict-aliasing -pthread -pipe /tools/gcc/bin/g++ gcc version 4.1.2 20061011 (Red Hat 4.1.1-29) -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -pedantic -gstabs+ -fno-strict-aliasing -fshort-wchar -pthread -pipe Configure arguments --enable-application=browser --enable-update-channel=release --enable-update-packaging --enable-optimize --disable-debug --disable-tests --enable-official-branding RHL OS Details ============== bash-3.2$ uname -sar Linux bfs-hs20-04s13.bfs.phone.com 2.6.18-92.el5PAE #1 SMP Tue Apr 29 13:31:02 EDT 2008 i686 i686 i386 GNU/Linux bash-3.2$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.2 (Tikanga) bash-3.2$ VNC Server being used ===================== Gnome Version:2.16.0 Distributor: Redhat, inc There is a sample test case given here. https://bugzilla.mozilla.org/attachment.cgi?id=200522 On Linux when firefox loads the URL I notice the following. On Linux I see two clocks. They are two of the same coloured clocks i.e. the blue clocks one on top and one on bottom. They appear to be located slightly off centre and to the left. I have the following text beside the top clock 'Testcase NO wmode' and beside the bottom clock the following text 'Testcase wmode="transparent' On Windows using the same version of the browser and the flash plugin I see the following test results i.e. 3 clocks are present. One on top and two on the bottom. Top right I have a blue coloured clock. On the bottom left I have a transparent or clear clock but without a square border and on the bottom right I have a transparent or clear clock with a square border. This appears to me to be an issue with how firefox renders the flash details on its canvass. Reproducible: Always Steps to Reproduce: 1.Set in about:config signed.applets.codebase_principal_support to 'true'. 2. ensure you have the flash plugin installed with the firefox version 3. Lauch firefox or navigate to the following URL https://bugzilla.mozilla.org/attachment.cgi?id=200522 4. Notice only 2 clocks. Actual Results: The test case actually calls drawWindow() twice, once for the top-right Flash clock (Flash plugin running in windowed mode) and a second time for the bottom-right clock (Flash plugin running in transparent mode). In Firefox 3.0.x, a static copy of the bottom-right clock should be drawn in the bottom-left corner of the page. You won't see anything in the top-left corner because Firefox 3.0.x on Linux cannot draw Flash "windowed" Flash content, so just ignore the top clock. The bottom portion of this test case fails on my Linux system. Expected Results: flash images should be displayed correctly. Not sure if the Windows version is a completly different product but the results are different.
Comment 1•15 years ago
|
||
On at least two other Linux systems running the same version of Firefox and the Flash plugin, I do not see this problem. So the question is why does the plugin content fail to render with drawWindow() on the bug reporter's system. Does anyone have any ideas what could cause this?
Comment 2•15 years ago
|
||
This was fixed in 1.9.1, can you test it on ftp://ftp.mozilla.org/pub/firefox/nightly/latest-mozilla-1.9.1/ . If it works, this is a dupe of bug 458928.
Version: unspecified → 1.9.0 Branch
Hi Natch I downloaded and installed the latest version of Firefox from the ftp site as indicated in your dialog. Im afraid that the results are the same as before. Only two clocks get rendered as before. They are two of the same coloured clocks i.e. the blue clocks one on top and one on bottom. They appear to be located slightly off centre and to the left. I have the following text beside the top clock 'Testcase NO wmode' and beside the bottom clock the following text 'Testcase wmode="transparent'. No 3rd clock in the bottom left hand corner Thanks Declan
Comment 4•15 years ago
|
||
A little more data: someone told me they are experiencing this same problem on an openSUSE 11.0 system. I downloaded openSUSE 11.1 (latest version) and did not see the problem with Firefox 3.0.6 and Flash Player 10.0.15.3 (aka 10.0r15). I then experimented with the X display bit depth and learned that at any depth other than 24 this bug does occur: no Flash content is rendered by drawWindow() even with wmode=opaque or wmode=transparent. Unfortunately that does not explain this bug entirely because the other person I talked to said they are using a depth of 24.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 5•15 years ago
|
||
I am facing same problem with tabPreview plugin on firefox 3.5.1-3.5.2. It does not render in preview window flash videos. Add-on is based on canvas/drawWindow. Platform : Ubunthu 9.0.4 Firefox: 3.5.1 (Official build www.mozilla.org) Flash-player: 10.0.32.18 Apparently problem is broader, so I also noticed that java applets also are not rendered in preview window.
Updated•14 years ago
|
OS: Linux → All
Hardware: x86 → All
Version: 1.9.0 Branch → Trunk
Comment 7•13 years ago
|
||
Is this bug entirely Linux? Or do we see this elsewhere?
It's a problem on Windows as well.
Comment 9•13 years ago
|
||
roc: while you are *now* able to reproduce this problem on Windows, what you are seeing is a regression. The original fix for this issue on Windows was in bug 313462. This functionality has never worked for me on Linux. This bug has been about the Linux-specific problems (not the reworked code that caused the regression). Bug 587447 and other bugs should probably be marked as duplicates of bug 557823 or bug 542656 or some other bug.
We never had it working 100% on Windows. See https://bugzilla.mozilla.org/show_bug.cgi?id=313462#c44.
Comment 11•11 years ago
|
||
Only Flash with wmode=transparent is rendered. The following script can be used to change the flash on the page: http://www.onlineaspect.com/2009/08/13/javascript_to_fix_wmode_parameters/ It's a problem with the Flash Plugin. The question is - what's the difference, from Firefox's point of view, when the plugin is rendered to the screen, and in drawWindow()?
By default Flash renders itself in a Windows HWND. This bypasses all of Firefox's rendering code and draws Flash directly onto the screen. This is fast, but it means we can't capture its rendering and we can't apply CSS effects to that rendering either.
Comment 13•11 years ago
|
||
Can you tell Flash to render to an offscreen memory DC? And how come it does work when wmode=transparent? Then it uses the Firefox drawing framework to see how to position itself relative to other elements on the page?
(In reply to rmkn85 from comment #13) > Can you tell Flash to render to an offscreen memory DC? Not easily. We've tried various things over the years and nothing has worked reliably. > And how come it does work when wmode=transparent? With wmode=transparent there is no HWND for the plugin. Instead we send it drawing events and can ask it to draw into a DC of our choosing. So there's no problem.
Comment 15•11 years ago
|
||
> > And how come it does work when wmode=transparent?
>
> With wmode=transparent there is no HWND for the plugin. Instead we send it
> drawing events and can ask it to draw into a DC of our choosing. So there's
> no problem.
Who decides it won't have a HWND in that case, the plugin or the browser?
the plugin.
Comment 17•11 years ago
|
||
What about changing the Flash elements to wmode=”transparent” in drawWindow(), so they are rendered correctly? (until Flash dies and replaced with HTML5 everywhere...)
You can't change wmode for a Flash instance on the fly. If we always made all Flash instances wmode="transparent", that would cause some pretty severe functionality and performance regressions, unfortunately.
Comment 19•3 years ago
|
||
Marking this as Resolved > Incomplete since the last real activity on this issue was 9 years ago and Flash is not supported anymore.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•