Bug 1586761 Comment 32 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Maybe you could add something like this:
```cpp
bool xpc::HasNativeGlobal(JSContext* cx) {
  JSObject* obj = CurrentGlobalOrNull(cx);
  return (GetObjectClass(obj)->flags & (JSCLASS_PRIVATE_IS_NSISUPPORTS | JSCLASS_HAS_PRIVATE)) ||
             dom::UnwrapDOMObjectToISupports(obj);
}
```
Ideally sharing code with the MOZ_ASSERT in NativeGlobal.
Maybe you could add something like this:
```cpp
bool xpc::HasNativeGlobal(JSContext* cx) {
  JSObject* obj = CurrentGlobalOrNull(cx);
  constexpr unsigned flags = JSCLASS_PRIVATE_IS_NSISUPPORTS | JSCLASS_HAS_PRIVATE;
  return (GetObjectClass(obj)->flags & flags) == flags ||
             dom::UnwrapDOMObjectToISupports(obj);
}
```
Ideally sharing code with the MOZ_ASSERT in NativeGlobal.
Maybe you could add something like this:
```cpp
bool xpc::HasNativeGlobal(JSContext* cx) {
  JSObject* obj = CurrentGlobalOrNull(cx);
  constexpr unsigned flags = JSCLASS_PRIVATE_IS_NSISUPPORTS | JSCLASS_HAS_PRIVATE;
  return (GetObjectClass(obj)->flags & flags) == flags || dom::UnwrapDOMObjectToISupports(obj);
}
```
Ideally sharing code with the MOZ_ASSERT in NativeGlobal.

Back to Bug 1586761 Comment 32