summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/API/JSCallbackObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/API/JSCallbackObject.h')
-rw-r--r--Source/JavaScriptCore/API/JSCallbackObject.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/Source/JavaScriptCore/API/JSCallbackObject.h b/Source/JavaScriptCore/API/JSCallbackObject.h
index 5022aaf40..3acf2ef10 100644
--- a/Source/JavaScriptCore/API/JSCallbackObject.h
+++ b/Source/JavaScriptCore/API/JSCallbackObject.h
@@ -83,13 +83,13 @@ struct JSCallbackObjectData : WeakHandleOwner {
PrivatePropertyMap::const_iterator location = m_propertyMap.find(propertyName.impl());
if (location == m_propertyMap.end())
return JSValue();
- return location->second.get();
+ return location->value.get();
}
void setPrivateProperty(JSGlobalData& globalData, JSCell* owner, const Identifier& propertyName, JSValue value)
{
WriteBarrier<Unknown> empty;
- m_propertyMap.add(propertyName.impl(), empty).iterator->second.set(globalData, owner, value);
+ m_propertyMap.add(propertyName.impl(), empty).iterator->value.set(globalData, owner, value);
}
void deletePrivateProperty(const Identifier& propertyName)
@@ -100,8 +100,8 @@ struct JSCallbackObjectData : WeakHandleOwner {
void visitChildren(SlotVisitor& visitor)
{
for (PrivatePropertyMap::iterator ptr = m_propertyMap.begin(); ptr != m_propertyMap.end(); ++ptr) {
- if (ptr->second)
- visitor.append(&ptr->second);
+ if (ptr->value)
+ visitor.append(&ptr->value);
}
}
@@ -133,12 +133,10 @@ public:
callbackObject->finishCreation(exec);
return callbackObject;
}
- static JSCallbackObject* create(JSGlobalData& globalData, JSClassRef classRef, Structure* structure)
- {
- JSCallbackObject* callbackObject = new (NotNull, allocateCell<JSCallbackObject>(globalData.heap)) JSCallbackObject(globalData, classRef, structure);
- callbackObject->finishCreation(globalData);
- return callbackObject;
- }
+ static JSCallbackObject<Parent>* create(JSGlobalData&, JSClassRef, Structure*);
+
+ static const bool needsDestruction;
+ static void destroy(JSCell*);
void setPrivate(void* data);
void* getPrivate();
@@ -173,8 +171,6 @@ protected:
private:
static String className(const JSObject*);
- static void destroy(JSCell*);
-
static JSValue defaultValue(const JSObject*, ExecState*, PreferredPrimitiveType);
static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&);