Combine PluginWidgetChild and PluginWidgetProxy

RESOLVED INCOMPLETE

Status

()

defect
RESOLVED INCOMPLETE
5 years ago
2 years ago

People

(Reporter: jimm, Unassigned)

Tracking

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(e10s-)

Details

These two have different lifetimes, but billm assures me nsISupports and ipdl can live together harmoniously if ipdl uses ref counting in its management.

This is a non-blocking e10s bug, probably would make a good first bug too.
I really hate reference-counted IPDL objects, see bug 1096536 for a discussion. My opinion is that it's pretty much always better to have separate refcounted and IPDL objects.

billm do you disagree?
Flags: needinfo?(wmccloskey)
In my opinion, the problem of having IPDL actors whose lifetimes aren't a good match for IPDL won't go away. If we tell people to use separate objects, then we'll just have a different problem where people create two objects that point to each other. When people forget to clear these pointers at the right times, they'll create use-after-free errors.

I think IPDL needs to manage this stuff itself. It seems easier to manage if it's all done in one object, but I'm sure there's a way to do it with two objects too.
Flags: needinfo?(wmccloskey)
I am much less worried about UAF errors: because IPDL has explicit shutdown machinery with ActorDestroy, there is well-known place to do that cleanup, and the null checks that might be required are more obvious when writing and reviewing code.
Resolving old bugs which are likely not relevant any more, since NPAPI plugins are deprecated.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.