Open Bug 767635 Opened 9 years ago Updated 8 years ago
Object Loading Content plugin start/stop (Initialize Plugin Instance/Sync Start Plugin Instance/Play Plugin/Async Start Plugin Instance/Stop Plugin Instance/Do Stop Plugin/Do Delayed Stop) code
We likely don't need seven functions to start and stop a plugin, and some of this code was written to handle complexity that no longer exists
The sad thing is that the current state of starting/stopping plugins is already a big simplification over the previous code (pre-90268). I think a lot of the remaining complexity is from our being unsure about changing certain nsObjectLoadingContent behavior, which your rewrite should help with.
Another issue with this - We tear down plugin prototypes in the plugin stop code, which, in a delayed plugin stop, may be after the <object> tag has moved on. Could cause a race condition with trashing a reloaded-plugins proto. This code also all needs comments to explain how we hook/unhook the proto.
This is blocking bug 810082 from landing in FF18, which is a requirement for using CTP for Flash in that version of Firefox. Any updates here?
A few high priority things distracted me here, I should have a patch here in the next day or so
Another issue for this is that nsPluginInstanceOwner is associated with the content, and if we're allowing delayed stops, multiple plugins could refer to the same content, which needs to be sanity checked (and made a non-weak pointer probably)
This should also-also address the nsPluginHost code that pulls instances out from under us and then tries to respawn them by reflowing...
This is no longer blocking bug 810082, and probably wont be uplifted.
You need to log in before you can comment on or make changes to this bug.