Changeset 77098 in webkit for trunk/Source/JavaScriptCore/API/JSCallbackObject.h
- Timestamp:
- Jan 30, 2011, 5:13:10 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSCallbackObject.h
r77044 r77098 55 55 } 56 56 57 void setPrivateProperty( const Identifier& propertyName, JSValue value)57 void setPrivateProperty(JSGlobalData& globalData, JSCell* owner, const Identifier& propertyName, JSValue value) 58 58 { 59 59 if (!m_privateProperties) 60 60 m_privateProperties = adoptPtr(new JSPrivatePropertyMap); 61 m_privateProperties->setPrivateProperty( propertyName, value);61 m_privateProperties->setPrivateProperty(globalData, owner, propertyName, value); 62 62 } 63 63 … … 84 84 if (location == m_propertyMap.end()) 85 85 return JSValue(); 86 return location->second ;86 return location->second.get(); 87 87 } 88 88 89 void setPrivateProperty(const Identifier& propertyName, JSValue value) 90 { 91 m_propertyMap.set(propertyName.impl(), value); 89 void setPrivateProperty(JSGlobalData& globalData, JSCell* owner, const Identifier& propertyName, JSValue value) 90 { 91 WriteBarrier<Unknown> empty; 92 m_propertyMap.add(propertyName.impl(), empty).first->second.set(globalData, owner, value); 92 93 } 93 94 … … 101 102 for (PrivatePropertyMap::iterator ptr = m_propertyMap.begin(); ptr != m_propertyMap.end(); ++ptr) { 102 103 if (ptr->second) 103 markStack.append( ptr->second);104 markStack.append(&ptr->second); 104 105 } 105 106 } 106 107 107 108 private: 108 typedef HashMap<RefPtr<StringImpl>, JSValue, IdentifierRepHash> PrivatePropertyMap;109 typedef HashMap<RefPtr<StringImpl>, WriteBarrier<Unknown>, IdentifierRepHash> PrivatePropertyMap; 109 110 PrivatePropertyMap m_propertyMap; 110 111 }; … … 138 139 } 139 140 140 void setPrivateProperty( const Identifier& propertyName, JSValue value)141 { 142 m_callbackObjectData->setPrivateProperty( propertyName, value);141 void setPrivateProperty(JSGlobalData& globalData, const Identifier& propertyName, JSValue value) 142 { 143 m_callbackObjectData->setPrivateProperty(globalData, this, propertyName, value); 143 144 } 144 145
Note:
See TracChangeset
for help on using the changeset viewer.