Closed Bug 1131345 Opened 5 years ago Closed 5 years ago

GetVariable method no longer works for windowless 0-size SWFs


(Core :: Plug-ins, defect, major)

36 Branch
Not set



Tracking Status
firefox35 --- unaffected
firefox36 + disabled
firefox37 + wontfix
firefox38 + wontfix


(Reporter: t.brain, Assigned: benjamin)



(Keywords: regression)


(1 file)

An SWF which is windowless (wmode either "opaque" or "transparent") and has 0px width or height, always returns "undefined" to any GetVariable call.

This is a regression in Firefox 36 beta, and works fine in Firefox 35 and previous versions, as well as in all other browsers.
Can you provide a testcase either attached or as URL ?
Flags: needinfo?(t.brain)
As you can see here:

All of these should return "bar", but on Firefox 36, the 0x0 transparent/opaque object/embed return null instead.
Flags: needinfo?(t.brain)
12:53.38 LOG: MainThread Bisector INFO Last good revision: 52156df5e298
12:53.38 LOG: MainThread Bisector INFO First bad revision: 0a0e57c4e420
12:53.38 LOG: MainThread Bisector INFO Pushlog:

Makoto Kato — Bug 1120747 - dom.ipc.plugins.flash.disable-protected-mode might not work when launching Flash is immediately. r=aklotz

Seems to be a cause of the protected mode....
Blocks: 1120747
Component: Untriaged → Plug-ins
Ever confirmed: true
Keywords: regression
Product: Firefox → Core
Tracking 36+ as that is when the regression was introduced.

Makoto - Given that bug 1120747 was called out as the cause in comment 3, can you take this bug?
Flags: needinfo?(m_kato)
This appears to be caused by disabling protected mode (bug 1119941), which is reverted in beta9 (see bug 1120993).

This is unexpected and needs diagnosis. I'll take this for now.
Flags: needinfo?(m_kato)
Assignee: nobody → benjamin
T. Brains, could I see the source code of that .swf?
Flags: needinfo?(t.brain)
Is .getVariable("foo") supposed return "bar" in every condition?
Yeah, the source code of the SWF is simply setting a variable named "foo" with a value "bar" as soon as it initializes. As long as the SWF has initialized, the GetVariable("foo") call should always return bar.

I can't tell if the problem is that the SWF doesn't initialize at all, or if the problem is with the GetVariable call itself.
Flags: needinfo?(t.brain)
Do you require any more information from me on this? Is there any chance this will be fixed before 36 becomes production? We need to evaluate the situation here because it breaks our production code.
Flags: needinfo?(benjamin)
Protected mode was only a test on beta, it is not going to release by default.

I tried to reproduce this using my own SWF (built in Flash builder) and was unable to reproduce. Could you send me the exact source code of the SWF testcase?
Blocks: 1119941
Flags: needinfo?(benjamin)
This is an AS2 SWF built using FlashDevelop and MTASC. The source code is as following:

class Main
	static function main(timeline:MovieClip) { = "bar";
I've attached a zip of a FlashDevelop project you can use to build this SWF.
As we're not going to disable protected mode automatically, can resolve this bug?
Flags: needinfo?(benjamin)
Yeah, we're not going to do this automatically and I don't think we'd spend additional diagnostic time on it because of that.
Closed: 5 years ago
Flags: needinfo?(benjamin)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.