Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(391)

Unified Diff: Source/bindings/v8/custom/V8NodeIteratorCustom.cpp

Issue 26792002: Reland: Reland: Implement new Blink IDL attribute [SetReference] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698