Changeset 136064 in webkit
- Timestamp:
- Nov 28, 2012 2:57:17 PM (11 years ago)
- Location:
- branches/chromium/1312
- Files:
-
- 1 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/chromium/1312/Source/WebCore/bindings/v8/NPV8Object.cpp
r131167 r136064 144 144 } 145 145 146 int v8ObjectHash = object->GetIdentityHash(); 147 ASSERT(v8ObjectHash); 148 V8NPObjectMap* v8NPObjectMap = V8PerContextData::from(object->CreationContext())->v8NPObjectMap(); 149 V8NPObjectMap::iterator iter = v8NPObjectMap->find(v8ObjectHash); 150 if (iter != v8NPObjectMap->end()) { 151 V8NPObjectVector& objects = iter->value; 152 for (size_t index = 0; index < objects.size(); ++index) { 153 V8NPObject* v8npObject = objects.at(index); 154 if (v8npObject->rootObject == root) { 155 ASSERT(v8npObject->v8Object == object); 156 _NPN_RetainObject(&v8npObject->object); 157 return reinterpret_cast<NPObject*>(v8npObject); 146 V8NPObjectVector* objectVector = 0; 147 if (V8PerContextData* perContextData = V8PerContextData::from(object->CreationContext())) { 148 int v8ObjectHash = object->GetIdentityHash(); 149 ASSERT(v8ObjectHash); 150 V8NPObjectMap* v8NPObjectMap = perContextData->v8NPObjectMap(); 151 V8NPObjectMap::iterator iter = v8NPObjectMap->find(v8ObjectHash); 152 if (iter != v8NPObjectMap->end()) { 153 V8NPObjectVector& objects = iter->value; 154 for (size_t index = 0; index < objects.size(); ++index) { 155 V8NPObject* v8npObject = objects.at(index); 156 if (v8npObject->rootObject == root) { 157 ASSERT(v8npObject->v8Object == object); 158 _NPN_RetainObject(&v8npObject->object); 159 return reinterpret_cast<NPObject*>(v8npObject); 160 } 158 161 } 162 } else { 163 iter = v8NPObjectMap->set(v8ObjectHash, V8NPObjectVector()).iterator; 164 objectVector = &iter->value; 159 165 } 160 } else { 161 iter = v8NPObjectMap->set(v8ObjectHash, V8NPObjectVector()).iterator; 162 } 163 166 } 164 167 V8NPObject* v8npObject = reinterpret_cast<V8NPObject*>(_NPN_CreateObject(npp, &V8NPObjectClass)); 165 168 v8npObject->v8Object = v8::Persistent<v8::Object>::New(object); 166 169 v8npObject->rootObject = root; 167 170 168 iter->value.append(v8npObject); 171 if (objectVector) 172 objectVector->append(v8npObject); 169 173 170 174 return reinterpret_cast<NPObject*>(v8npObject);
Note: See TracChangeset
for help on using the changeset viewer.