Closed Bug 888705 Opened 11 years ago Closed 11 years ago

Add an about:config preference for per-element click to play

Categories

(Core Graveyard :: Plug-ins, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: spammaaja, Unassigned)

References

Details

(Keywords: regression)

Attachments

(1 file)

Bug 880735 removed click to play from Firefox, because it's apparently "confusing" to the "average user". Please let the advanced users continue to use per element click to play with an about:config preference.
Blocks: 880735
Severity: normal → enhancement
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
This unlikely to be something we will put time into given the added code- and testing-complexity.

As previously suggested, this is probably best solved by an extension. Please see the thread on the firefox-dev mailing list for more details.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Even per-page click-to-play would be a big usability step up without needing to resort to an addon. Right now, it's remembering activation for the whole site instead of actually clicking to play with no way to activate just one instance at a time. Just being able to use YouTube without having to install an addon to make Flash not load and play automatically for every page is all most of us want.
Given that the rationale behind click-to-play was added security and control over page content by the user,I can't see how whitelisting an entire domain may be a good choice.
Or,come to this,why resort to yet another extension for replacing something that is currently in Firefox and works just fine.
Please see the discussion in firefox-dev and follow up there: https://mail.mozilla.org/pipermail/firefox-dev/2013-June/000460.html
(In reply to Georg Fritzsche [:gfritzsche] from comment #1)
> As previously suggested, this is probably best solved by an extension.


Can the CtP code be called by an extension?
(In reply to JK from comment #5)
> (In reply to Georg Fritzsche [:gfritzsche] from comment #1)
> > As previously suggested, this is probably best solved by an extension.
> 
> 
> Can the CtP code be called by an extension?

Yes - chrome code can adjust the allow/deny/ask preferences per page, and supercede the usual logic with obj.playPlugin() and (after bug 883404 lands) obj.reload() to unblock/reblock individual elements.

http://dxr.mozilla.org/mozilla-central/source/dom/webidl/HTMLObjectElement.webidl#l79
The issue with doing this in an extension is it is fairly messy to hook our CtP frontend logic to do minor things like this. Something like flashblock could supersede our logic entirely, but just adding this ability requires reading into browser-plugins.js and hoping things don't break in the future. Given that this is a pretty simple change that is not very complex to support, I think it's worth having around.

@benjamin, what do you think?
Attachment #782759 - Flags: review?(benjamin)
johns, are you the one who wrote the addon to do this? https://addons.mozilla.org/en-US/firefox/addon/click-to-play-per-element/

Rather than introducing a pref, I'd more support adding a global variable which controls this behavior, so that users have to install the addon to get the behavior (better support/safemode characteristics).
(In reply to Benjamin Smedberg  [:bsmedberg] from comment #8)
> johns, are you the one who wrote the addon to do this?
> https://addons.mozilla.org/en-US/firefox/addon/click-to-play-per-element/

I had not seen that, but the source demonstrates my concern: http://pastebin.mozilla.org/2739705

The plugin doesn't do anything improper, but requires duplicating a good chunk of our logic, and if we change it in the future could cause odd or even security sensitive regressions :(

> Rather than introducing a pref, I'd more support adding a global variable
> which controls this behavior, so that users have to install the addon to get
> the behavior (better support/safemode characteristics).

That would work, I can open a new bug to look into this. Can you think of any other behaviors of CtP that might be beneficial to control this way?
I cannot at the present. Although I'd also support making the event listeners just add a .isDefaultPrevented check so that the extension could override the current behavior without replacing any of the existing code.
Attachment #782759 - Flags: review?(benjamin) → review-
Comment on attachment 782759 [details] [diff] [review]
Pref for activating single plugins

Review of attachment 782759 [details] [diff] [review]:
-----------------------------------------------------------------

::: modules/libpref/src/init/all.js
@@ +1891,5 @@
>  
> +// Allow clicking on single elements to activate them, instead of triggering the
> +// door-hanger
> +pref("plugin.activateSingleElement", false);
> +

This pref name is not good.
This name should be like "plugins.click_to_play.per-element". This is related feature to Click-to-play.
See Also: → 902650
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: