Index: third_party/WebKit/Source/bindings/core/v8/ActiveScriptWrappable.h |
diff --git a/third_party/WebKit/Source/bindings/core/v8/ActiveScriptWrappable.h b/third_party/WebKit/Source/bindings/core/v8/ActiveScriptWrappable.h |
index 68d41787ddc5e1a9d633a37a114906aac2c41991..03ddf031309a70788908290e68be3faee1ca4ead 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/ActiveScriptWrappable.h |
+++ b/third_party/WebKit/Source/bindings/core/v8/ActiveScriptWrappable.h |
@@ -27,18 +27,16 @@ class CORE_EXPORT ActiveScriptWrappableBase : public GarbageCollectedMixin { |
WTF_MAKE_NONCOPYABLE(ActiveScriptWrappableBase); |
public: |
- explicit ActiveScriptWrappableBase(ScriptWrappable*); |
+ ActiveScriptWrappableBase(); |
static void traceActiveScriptWrappables(v8::Isolate*, |
ScriptWrappableVisitor*); |
protected: |
virtual bool isContextDestroyed(ActiveScriptWrappableBase*) const = 0; |
- |
- private: |
- ScriptWrappable* toScriptWrappable() const { return m_scriptWrappable; } |
- |
- ScriptWrappable* m_scriptWrappable; |
+ virtual bool dispatchHasPendingActivity(ActiveScriptWrappableBase*) const = 0; |
+ virtual ScriptWrappable* toScriptWrappable( |
+ ActiveScriptWrappableBase*) const = 0; |
}; |
template <typename T> |
@@ -46,8 +44,7 @@ class ActiveScriptWrappable : public ActiveScriptWrappableBase { |
WTF_MAKE_NONCOPYABLE(ActiveScriptWrappable); |
public: |
- explicit ActiveScriptWrappable(ScriptWrappable* wrappable) |
- : ActiveScriptWrappableBase(wrappable) {} |
+ ActiveScriptWrappable() {} |
protected: |
bool isContextDestroyed(ActiveScriptWrappableBase* object) const final { |
@@ -55,6 +52,16 @@ class ActiveScriptWrappable : public ActiveScriptWrappableBase { |
(static_cast<T*>(object)->T::getExecutionContext)() |
->isContextDestroyed(); |
} |
+ |
+ bool dispatchHasPendingActivity( |
+ ActiveScriptWrappableBase* object) const final { |
+ return static_cast<T*>(object)->T::hasPendingActivity(); |
+ } |
+ |
+ ScriptWrappable* toScriptWrappable( |
+ ActiveScriptWrappableBase* object) const final { |
+ return static_cast<T*>(object); |
+ } |
}; |
} // namespace blink |