 Chromium Code Reviews
 Chromium Code Reviews Issue 1133713008:
  [WIP] Migrate hasPendingActivity from ActiveDOMObject to ScriptWrappable. 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master
    
  
    Issue 1133713008:
  [WIP] Migrate hasPendingActivity from ActiveDOMObject to ScriptWrappable. 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master| Index: third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp | 
| diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp b/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp | 
| index 4e934b943e95673a62bf4e59e956e0bc52a61673..ed9ca82ac49464dbe49a6a36b36bb78bbacc193a 100644 | 
| --- a/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp | 
| +++ b/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp | 
| @@ -133,9 +133,8 @@ public: | 
| // Note that node->wrapper().IsEmpty() returns true for nodes that | 
| // do not have wrappers in the main world. | 
| if (node->containsWrapper()) { | 
| - const WrapperTypeInfo* type = toWrapperTypeInfo(wrapper); | 
| - ActiveDOMObject* activeDOMObject = type->toActiveDOMObject(wrapper); | 
| - if (activeDOMObject && activeDOMObject->hasPendingActivity()) | 
| + ScriptWrappable* scriptwrappable = getInternalField<ScriptWrappable, v8DOMWrapperObjectIndex>(wrapper); | 
| + if (scriptwrappable && scriptwrappable->hasPendingActivity()) | 
| return; | 
| // FIXME: Remove the special handling for image elements. | 
| // The same special handling is in V8GCController::opaqueRootForGC(). | 
| @@ -263,8 +262,8 @@ public: | 
| const WrapperTypeInfo* type = toWrapperTypeInfo(wrapper); | 
| - ActiveDOMObject* activeDOMObject = type->toActiveDOMObject(wrapper); | 
| - if (activeDOMObject && activeDOMObject->hasPendingActivity()) { | 
| + ScriptWrappable* scriptwrappable = getInternalField<ScriptWrappable, v8DOMWrapperObjectIndex>(wrapper); | 
| 
haraken
2015/10/09 09:48:09
Is it guaranteed that NPObject has the internal fi
 | 
| + if (scriptwrappable && scriptwrappable->hasPendingActivity()) { | 
| m_isolate->SetObjectGroupId(*value, liveRootId()); | 
| ++m_domObjectsWithPendingActivity; | 
| } |