Chromium Code Reviews| Index: Source/bindings/v8/custom/V8NodeIteratorCustom.cpp |
| diff --git a/Source/bindings/v8/custom/V8NodeIteratorCustom.cpp b/Source/bindings/v8/custom/V8NodeIteratorCustom.cpp |
| index 78a66f83ada8932629383a7f6da1b65ca3f31d88..25da2feeff1db5b40a1acb938167668e817c1d6f 100644 |
| --- a/Source/bindings/v8/custom/V8NodeIteratorCustom.cpp |
| +++ b/Source/bindings/v8/custom/V8NodeIteratorCustom.cpp |
| @@ -38,17 +38,17 @@ |
| namespace WebCore { |
| -v8::Handle<v8::Object> wrap(NodeIterator* nodeIterator, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) |
| +void* V8NodeIterator::resolveWrapperReachability(void* object, const v8::Persistent<v8::Object>& wrapper, v8::Isolate* isolate) |
| { |
| - ASSERT(nodeIterator); |
| - ASSERT(!DOMDataStore::containsWrapper<V8NodeIterator>(nodeIterator, isolate)); |
| - |
| - v8::Handle<v8::Object> wrapper = V8NodeIterator::createWrapper(nodeIterator, creationContext, isolate); |
| - |
| - if (nodeIterator->filter()) |
| - V8HiddenPropertyName::setNamedHiddenReference(wrapper, "filter", toV8(nodeIterator->filter(), creationContext, isolate)); |
| - |
| - return wrapper; |
| + NodeIterator* impl = fromInternalPointer(object); |
| + |
| + NodeFilter* filter = impl->filter(); |
| + if (filter) { |
| + toV8(filter, v8::Local<v8::Object>::New(isolate, wrapper), isolate); |
| + isolate->SetReference(wrapper, *reinterpret_cast<v8::Persistent<v8::Value>*>(filter->unsafePersistent().persistent())); |
|
haraken
2013/10/10 06:08:32
*reinterpret_cast<v8::Persistent<v8::Value>*>(filt
|
| + } |
| + |
| + return object; |
| } |
| } // namespace WebCore |