Index: Source/bindings/v8/custom/V8NodeListCustom.cpp |
diff --git a/Source/bindings/v8/custom/V8NodeListCustom.cpp b/Source/bindings/v8/custom/V8NodeListCustom.cpp |
index 479eadc19f5e58632e40cf7195c541c7f4402aff..20280a9134c98058979e8905bc85a8e8d3a1f3b1 100644 |
--- a/Source/bindings/v8/custom/V8NodeListCustom.cpp |
+++ b/Source/bindings/v8/custom/V8NodeListCustom.cpp |
@@ -41,15 +41,20 @@ |
namespace WebCore { |
-void* V8NodeList::opaqueRootForGC(void* object, v8::Isolate* isolate) |
+void V8NodeList::resolveWrapperReachability(void* object, const v8::Persistent<v8::Object>& wrapper, v8::Isolate* isolate) |
{ |
NodeList* impl = static_cast<NodeList*>(object); |
- if (!impl->isLiveNodeList()) |
- return object; |
+ if (!impl->isLiveNodeList()) { |
+ setObjectGroup(object, wrapper, isolate); |
+ return; |
+ } |
Node* owner = static_cast<LiveNodeList*>(impl)->ownerNode(); |
- if (!owner) |
- return object; |
- return V8GCController::opaqueRootForGC(owner, isolate); |
+ if (!owner) { |
+ setObjectGroup(object, wrapper, isolate); |
+ return; |
+ } |
+ |
+ setObjectGroup(V8GCController::opaqueRootForGC(owner, isolate), wrapper, isolate); |
} |
} // namespace WebCore |