Closed Bug 868016 Opened 11 years ago Closed 8 years ago

flash of UI as click-to-play plugin first loads

Categories

(Core Graveyard :: Plug-ins, defect, P3)

x86
macOS
defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: dietrich, Unassigned)

References

Details

(Whiteboard: [CtPDefault:P3])

nightly, 5/1. i saw in the top-left corner of where the plugin was going to be, a flash of some kind of UI. i think it was the final button+text (http://cl.ly/image/043a3o0g220d) but up and to the left briefly.
Component: General → Plug-ins
Product: Firefox → Core
The way CtP currently works is all plugin tags spawn in the CtP state, then are immediately activated by the front end. This is probably also double-opening channels for some types of plugin. We need some sort of way for the tag to know it is okay to skip CtP without firing an event
(In reply to John Schoenick [:johns] from comment #1)
> The way CtP currently works is all plugin tags spawn in the CtP state, then
> are immediately activated by the front end. This is probably also
> double-opening channels for some types of plugin. We need some sort of way
> for the tag to know it is okay to skip CtP without firing an event

no, wait, i made that up:

http://dxr.mozilla.org/mozilla-central/content/base/src/nsObjectLoadingContent.cpp#l2734

@keeler Is there any situation in which we can fire a CtP event and the frontend responds by immediately calling playPlugin()?
Flags: needinfo?(dkeeler)
Is there an example site for this behaviour?
From the description this could also be e.g. a site that uses not-so-great mechanics for inserting plugins.
This is the only thing I can think of:
in browser-plugins.js:

461     if (browser._clickToPlayAllPluginsActivated ||
462         browser._clickToPlayPluginsActivated.get(pluginInfo.pluginName)) {
463       objLoadingContent.playPlugin();
464       return;
465     }

Essentially, if you use the door-hanger to activate plugins (but not "always for this site"), any plugin of the same type dynamically inserted into the page will fire a CtP event followed by the front-end calling playPlugin(). So, this is probably what that is.
Flags: needinfo?(dkeeler)
Priority: -- → P3
Whiteboard: [CtPDefault:P3]
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.