Open Bug 1137739 Opened 9 years ago Updated 2 years ago

Remove the nsIXPConnectWrappedNative bits from xpc::NativeGlobal

Categories

(Core :: XPConnect, defect)

x86
macOS
defect

Tracking

()

People

(Reporter: bzbarsky, Unassigned)

References

(Depends on 2 open bugs, Blocks 1 open bug)

Details

Once bug 888600 is fixed and all our globals are non-XPCWN, we can do this.
I guess we'd need to also convert BackstagePass, though, right?
(In reply to Not doing reviews right now from comment #1)
> I guess we'd need to also convert BackstagePass, though, right?

Yes, exactly. I came to the bug to comment as such. :-)
Depends on: 1137773
No longer depends on: 888600
Fixing this would help fix bug 1274786, which shows up a tiny bit in speedometer.
OK, so we need to fix bug 888600 as a start... ;)
right. Or do we have some spare bits somewhere we could use to indicate whether the object is nsIGlobalObject and if so, just do static_cast?
The object is certainly an nsIGlobalObject.  The question is what the offset of its nsIGlobalObject pointer is from its canonical nsISupports pointer.

That is, this bug is about the !native case, which has a QI to nsIXPConnectWrappedNative and whatnot.  But that codepath is not taken for Window at this point; it only happens for non-webidl globals like the ones in bug 888600, sandboxes, and backstagepass.

If you're seeing QIing on speedometer, that's probably coming from the QI to nsIGlobalObject which isn't really related to this bug...
Depends on: 1137770
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.