Closed
Bug 1505913
Opened 6 years ago
Closed 5 years ago
[Fission] Make Plugin Click-to-Play Fission-aware
Categories
(Core Graveyard :: Plug-ins, enhancement, P3)
Core Graveyard
Plug-ins
Tracking
(Fission Milestone:M4, firefox70 fixed)
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: Felipe, Assigned: Gijs)
References
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
There were some test failures related to plugins click-to-play when using the browser.fission.simulate pref.
Also, by code inspection in PluginChild.jsm, it's clear that this code will need fixes for being compatible with oop iframes
Reporter | ||
Updated•6 years ago
|
Blocks: fission-frontend
Updated•6 years ago
|
Fission Milestone: --- → Future
Updated•5 years ago
|
Fission Milestone: Future → M4
Assignee | ||
Comment 1•5 years ago
|
||
Assuming nobody minds, I'd like to look at this.
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•5 years ago
|
||
At a high level, this change does the following:
- move the pluginchild actor to be a JSWindowActorChild
- move the parent handling from browser-plugins into a JSWindowActorParent
- move the crash handling from ContentCrashHandlers.jsm to the parent actor,
using aPluginManager
object. It needs to talk to the actors (and vice
versa), so this seemed a better fit than spreading actor implementation
details to other JSMs. - switch to using plugin IDs to identify plugins cross-process, instead of
combinations of names or other properties of the plugin tag. As part of that,
ensured plugin IDs are unique between "fake" plugins and the other ones.
Some notes:
- the previous implementation mixes runIDs (for NPAPI plugin process "runs")
and GMP pluginIDs when doing crashreporting. AFAICT there is no guarantee
these don't conflict, so I've split them out to avoid issues. There's a
pluginCrashID object I pass around instead that has either a runID or
pluginID. Happy to rename some more for clarity. - the previous implementation used
pluginInfo
andplugin
for a bunch of
different types of variables. I've tried to be consistent, where:pluginElement
is a DOM element for a pluginactivationInfo
is a JS object used to track click to play state for a pluginplugin
is a plugintag as returned by the pluginhost servicepluginCrashID
is an identifier for a crashed plugin (see previous point).
- I'm still using broadcastAsyncMessage to tell the content processes about
gmp plugin crashes and plugin crash submission updates, because there's no
guarantee the actors
open to suggestions there, too. I think our best bet might be moving that to
IPDL-based IPC within the GMP code, but that feels like a separate bug.
Updated•5 years ago
|
Attachment #9077274 -
Attachment description: Bug 1505913 - make plugin click-to-play and crash handling fission-compatible. → Bug 1505913 - make plugin click-to-play and crash handling fission-compatible, r?mconley
Pushed by gijskruitbosch@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/2e16973bb965
make plugin click-to-play and crash handling fission-compatible, r=mconley
Comment 4•5 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
status-firefox70:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Comment 5•5 years ago
|
||
== Change summary for alert #22126 (as of Thu, 25 Jul 2019 05:10:16 GMT) ==
Improvements:
0.36% Base Content JS windows10-64-shippable-qr opt 4,157,778.67 -> 4,142,624.00
0.35% Base Content JS windows10-64-shippable opt 4,157,062.67 -> 4,142,570.67
0.34% Base Content JS windows10-64-shippable-qr opt 4,156,876.00 -> 4,142,570.67
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=22126
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•