| 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
|
|
|