add Sandbox sugar for getting windows wrapped as SJOWs and XPCNWs




11 years ago
8 months ago


(Reporter: shaver, Unassigned)


Bug Flags:
blocking1.9 -
wanted1.9 +

Firefox Tracking Flags

(Not tracked)


At least two major extensions want to be able to eIS into content windows such that they run "as though they were run by content", and right now their dance looks like:

sb = new Cu.Sandbox(win);
sb.__proto__ = win.wrappedJSObject; // if they have XPCNW=yes, which they should!

I propose that we provide a small amount of sugar for extension authors, so that we don't have to tell them to muck with prototype chains:

sb = new Cu.Sandbox(win, Cu.Sandbox.USE_CONTENT_PROPERTIES); // SJOW
sb = new Cu.Sandbox(win, Cu.Sandbox.IGNORE_CONTENT_PROPERTIES); // XPCNW

I think this would make a lot of this stuff less error-prone and scary, and suspect it's pretty easy to do.
Flags: blocking1.9?
I don't really understand how eIS works so please correct me if I'm wrong.

So I don't think this is a blocker since this is something that extension authors can do, albeit with quirky syntax.

It would be a blocker if we're worried that we're making it so hard for authors to do things the right way that they end up doing something that is unsafe. If that is the case please renominate.

There's also a question of who is going to work on this. BKap is swamped, possibly jst would have cycles, but ideal would be if someone else could step up.
Flags: wanted1.9+
Flags: blocking1.9?
Flags: blocking1.9-

Comment 2

8 months ago
Per policy at If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Last Resolved: 8 months ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.