Closed Bug 424905 Opened 16 years ago Closed 6 years ago

add Sandbox sugar for getting windows wrapped as SJOWs and XPCNWs

Categories

(Core :: XPConnect, defect)

defect
Not set
normal

Tracking

()

RESOLVED INACTIVE

People

(Reporter: shaver, Unassigned)

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-
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.