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 d37514736d20a7124f5cfcb7b788c0bde8bd971d..e0d241cf7da4bdf1dd63afd4b9112c7909ea66f0 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp |
@@ -31,6 +31,7 @@ |
#include "config.h" |
#include "bindings/core/v8/V8GCController.h" |
+#include "bindings/core/v8/NPV8Object.h" |
#include "bindings/core/v8/RetainedDOMInfo.h" |
#include "bindings/core/v8/V8AbstractEventListener.h" |
#include "bindings/core/v8/V8Binding.h" |
@@ -144,8 +145,7 @@ public: |
// 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()) |
+ if (type != npObjectTypeInfo() && toScriptWrappable(wrapper)->hasPendingActivity()) |
return; |
// FIXME: Remove the special handling for image elements. |
// The same special handling is in V8GCController::opaqueRootForGC(). |
@@ -272,9 +272,7 @@ public: |
return; |
const WrapperTypeInfo* type = toWrapperTypeInfo(wrapper); |
- |
- ActiveDOMObject* activeDOMObject = type->toActiveDOMObject(wrapper); |
- if (activeDOMObject && activeDOMObject->hasPendingActivity()) { |
+ if (type != npObjectTypeInfo() && toScriptWrappable(wrapper)->hasPendingActivity()) { |
m_isolate->SetObjectGroupId(*value, liveRootId()); |
++m_domObjectsWithPendingActivity; |
} |