Last Comment Bug 834918 - Plugins in chrome content should not be click-to-play
: Plugins in chrome content should not be click-to-play
: addon-compat
Product: Core
Classification: Components
Component: Plug-ins (show other bugs)
: 18 Branch
: All All
P2 normal (vote)
: ---
Assigned To: John Schoenick [:johns]
: Benjamin Smedberg [:bsmedberg]
Depends on:
Blocks: 775301 1024696 click-to-play
  Show dependency treegraph
Reported: 2013-01-25 14:49 PST by mera461
Modified: 2016-04-14 11:11 PDT (History)
9 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Description User image mera461 2013-01-25 14:49:06 PST
User Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17

Steps to reproduce:

I have an extension using java (RecipeFox: When Oracle raised the security level to High in java 7 update 11 it worked fine, because java popped up a dialog requesting to run java in chrome://browser... But when Mozilla later moved the java 7 update 11 plugin to the Click-to-Play list, it doesn't work anymore.

Is there any way to enable java in extensions while it is in the Click-to-Play list?
Comment 1 User image Georg Fritzsche [:gfritzsche] 2013-01-26 12:37:22 PST
I assume this addon is not inserting Java into the page, but instead using an embed/object in some background element?

I guess for such things we should be able to differentiate whether it's in-page or in some addon-/browser-specific element and probably assume user-trust there (i.e. not block it).
Comment 2 User image mera461 2013-01-26 14:25:09 PST
Yes, I'm using an embedded java object as suggest here:

after the java keyword was dropped in Firefox 16.

Comment 3 User image John Schoenick [:johns] 2013-01-26 15:44:03 PST
nsObjectLoadingContent::ShouldPlay / ShouldPreview could be bypassed for chrome content.

In the meantime, with chrome privileges you should be able to force the plugin to play with:

> obj.QueryInterface(Components.interfaces.nsIObjectLoadingContent).playPlugin()

Similarly, you can test to see if CTP/Preview is blocking your object by querying pluginFallbackType:
Comment 4 User image Benjamin Smedberg [:bsmedberg] 2013-01-28 09:24:07 PST
Jorge, just wanted you to be aware of this one in case you wanted to mention it somewhere in "for developers" or in other extension-developer channels.
Comment 5 User image mera461 2013-02-04 11:38:59 PST
I tried with the playPlugin():
> obj.QueryInterface(Components.interfaces.nsIObjectLoadingContent).playPlugin()

and it is working fine. Thank you for the help.

Note You need to log in before you can comment on or make changes to this bug.