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