add Sandbox sugar for getting windows wrapped as SJOWs and XPCNWs

NEW
Unassigned

Status

()

Core
XPConnect
10 years ago
10 years ago

People

(Reporter: shaver, Unassigned)

Tracking

Trunk
Points:
---
Bug Flags:
blocking1.9 -
wanted1.9 +

Firefox Tracking Flags

(Not tracked)

Details

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-
You need to log in before you can comment on or make changes to this bug.