Chromium Code Reviews| Index: Source/web/SuspendableScriptExecutor.h |
| diff --git a/Source/web/SuspendableScriptExecutor.h b/Source/web/SuspendableScriptExecutor.h |
| index ecbee08bcdafa985302e67e78c99303c65ed3a8e..8d6e07dd687bb299e37d56da2318069e86fcba04 100644 |
| --- a/Source/web/SuspendableScriptExecutor.h |
| +++ b/Source/web/SuspendableScriptExecutor.h |
| @@ -7,7 +7,6 @@ |
| #include "core/frame/SuspendableTimer.h" |
| #include "platform/heap/Handle.h" |
| -#include "wtf/OwnPtr.h" |
| #include "wtf/Vector.h" |
| namespace blink { |
| @@ -16,7 +15,7 @@ class LocalFrame; |
| class ScriptSourceCode; |
| class WebScriptExecutionCallback; |
| -class SuspendableScriptExecutor final : public RefCountedWillBeRefCountedGarbageCollected<SuspendableScriptExecutor>, public SuspendableTimer { |
| +class SuspendableScriptExecutor final : public GarbageCollectedFinalized<SuspendableScriptExecutor>, public SuspendableTimer { |
| WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(SuspendableScriptExecutor); |
| public: |
| static void createAndRun(LocalFrame*, int worldID, const WillBeHeapVector<ScriptSourceCode>& sources, int extensionGroup, bool userGesture, WebScriptExecutionCallback*); |
| @@ -24,9 +23,6 @@ public: |
| void contextDestroyed() override; |
| - // Eager finalization is needed to promptly stop this timer object. |
| - // (see DOMTimer comment for more.) |
| - EAGERLY_FINALIZE(); |
| DECLARE_VIRTUAL_TRACE(); |
| private: |
| @@ -39,11 +35,16 @@ private: |
| void dispose(); |
| RefPtrWillBeMember<LocalFrame> m_frame; |
| - int m_worldID; |
| WillBeHeapVector<ScriptSourceCode> m_sources; |
| + WebScriptExecutionCallback* m_callback; |
| + |
| + SelfKeepAlive<SuspendableScriptExecutor> m_keepAlive; |
| + |
| + int m_worldID; |
| int m_extensionGroup; |
| + |
| bool m_userGesture; |
| - WebScriptExecutionCallback* m_callback; |
| + |
| #if ENABLE(ASSERT) |
| bool m_disposed; |
|
sof
2015/08/04 14:14:40
With the self-keepalive, having this object be fin
|
| #endif |