@@ -41,16 +41,18 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(SimpleGlobalObject)
4141 NS_INTERFACE_MAP_ENTRY (nsIGlobalObject)
4242NS_INTERFACE_MAP_END
4343
44+ static SimpleGlobalObject* GetSimpleGlobal (JSObject* global);
45+
4446static void SimpleGlobal_finalize (JSFreeOp* fop, JSObject* obj) {
45- auto * globalObject = static_cast <SimpleGlobalObject*>( JS::GetPrivate ( obj) );
47+ SimpleGlobalObject * globalObject = GetSimpleGlobal ( obj);
4648 if (globalObject) {
4749 globalObject->ClearWrapper (obj);
4850 NS_RELEASE (globalObject);
4951 }
5052}
5153
5254static size_t SimpleGlobal_moved (JSObject* obj, JSObject* old) {
53- auto * globalObject = static_cast <SimpleGlobalObject*>( JS::GetPrivate ( obj) );
55+ SimpleGlobalObject * globalObject = GetSimpleGlobal ( obj);
5456 if (globalObject) {
5557 globalObject->UpdateWrapper (obj, old);
5658 }
@@ -83,6 +85,12 @@ const JSClass SimpleGlobalClass = {"",
8385 &SimpleGlobalClassExtension,
8486 JS_NULL_OBJECT_OPS};
8587
88+ static SimpleGlobalObject* GetSimpleGlobal (JSObject* global) {
89+ MOZ_ASSERT (JS::GetClass (global) == &SimpleGlobalClass);
90+
91+ return static_cast <SimpleGlobalObject*>(JS::GetPrivate (global));
92+ }
93+
8694// static
8795JSObject* SimpleGlobalObject::Create (GlobalType globalType,
8896 JS::Handle<JS::Value> proto) {
@@ -162,7 +170,7 @@ SimpleGlobalObject::GlobalType SimpleGlobalObject::SimpleGlobalType(
162170 return SimpleGlobalObject::GlobalType::NotSimpleGlobal;
163171 }
164172
165- auto * globalObject = static_cast <SimpleGlobalObject*>( JS::GetPrivate ( obj) );
173+ SimpleGlobalObject * globalObject = GetSimpleGlobal ( obj);
166174 return globalObject->Type ();
167175}
168176
0 commit comments