Skip to content

Commit bd35512

Browse files
committed
Bug 1719795 part 1 - Add a helper function for getting a SimpleGlobalObject's native global. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D119498
1 parent bba712b commit bd35512

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

dom/bindings/SimpleGlobalObject.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,18 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(SimpleGlobalObject)
4141
NS_INTERFACE_MAP_ENTRY(nsIGlobalObject)
4242
NS_INTERFACE_MAP_END
4343

44+
static SimpleGlobalObject* GetSimpleGlobal(JSObject* global);
45+
4446
static 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

5254
static 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
8795
JSObject* 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

Comments
 (0)