Chromium Code Reviews| Index: Source/core/inspector/AsyncCallStackTracker.h |
| diff --git a/Source/core/inspector/AsyncCallStackTracker.h b/Source/core/inspector/AsyncCallStackTracker.h |
| index aa43d63d120bf52f864d30724edf96248a2ec183..2f9094fcf9aad6e189c0329d71c772efe79b048f 100644 |
| --- a/Source/core/inspector/AsyncCallStackTracker.h |
| +++ b/Source/core/inspector/AsyncCallStackTracker.h |
| @@ -32,7 +32,6 @@ |
| #define AsyncCallStackTracker_h |
| #include "bindings/core/v8/ScriptValue.h" |
| -#include "core/dom/ContextLifecycleObserver.h" |
| #include "wtf/Deque.h" |
| #include "wtf/HashMap.h" |
| #include "wtf/HashSet.h" |
| @@ -52,6 +51,7 @@ class XMLHttpRequest; |
| class AsyncCallStackTracker final : public NoBaseWillBeGarbageCollectedFinalized<AsyncCallStackTracker> { |
|
sof
2014/11/11 13:07:44
If you can avoid a destructor (it looks like you c
aandrey
2014/11/11 13:15:02
Done.
|
| WTF_MAKE_NONCOPYABLE(AsyncCallStackTracker); |
| + DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(AsyncCallStackTracker); |
| public: |
| class AsyncCallStack final : public RefCountedWillBeGarbageCollectedFinalized<AsyncCallStack> { |
| public: |
| @@ -78,38 +78,6 @@ public: |
| AsyncCallStackVector m_callStacks; |
| }; |
| - class ExecutionContextData final : public NoBaseWillBeGarbageCollectedFinalized<ExecutionContextData>, public ContextLifecycleObserver { |
| - WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
| - public: |
| - ExecutionContextData(AsyncCallStackTracker* tracker, ExecutionContext* executionContext) |
| - : ContextLifecycleObserver(executionContext) |
| - , m_circularSequentialID(0) |
| - , m_tracker(tracker) |
| - { |
| - } |
| - |
| - virtual void contextDestroyed() override; |
| - |
| - int circularSequentialID(); |
| - |
| - void trace(Visitor*); |
| - |
| - private: |
| - int m_circularSequentialID; |
| - |
| - public: |
| - RawPtrWillBeMember<AsyncCallStackTracker> m_tracker; |
| - HashSet<int> m_intervalTimerIds; |
| - WillBeHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_timerCallChains; |
| - WillBeHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_animationFrameCallChains; |
| - WillBeHeapHashMap<RawPtrWillBeMember<Event>, RefPtrWillBeMember<AsyncCallChain> > m_eventCallChains; |
| - WillBeHeapHashMap<RawPtrWillBeMember<EventTarget>, RefPtrWillBeMember<AsyncCallChain> > m_xhrCallChains; |
| - WillBeHeapHashMap<RawPtrWillBeMember<MutationObserver>, RefPtrWillBeMember<AsyncCallChain> > m_mutationObserverCallChains; |
| - WillBeHeapHashMap<ExecutionContextTask*, RefPtrWillBeMember<AsyncCallChain> > m_executionContextTaskCallChains; |
| - WillBeHeapHashMap<String, RefPtrWillBeMember<AsyncCallChain> > m_v8AsyncTaskCallChains; |
| - WillBeHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_asyncOperationCallChains; |
| - }; |
| - |
| AsyncCallStackTracker(); |
| bool isEnabled() const { return m_maxAsyncCallStackDepth; } |
| @@ -161,6 +129,7 @@ private: |
| static void ensureMaxAsyncCallChainDepth(AsyncCallChain*, unsigned); |
| bool validateCallFrames(const ScriptValue& callFrames); |
| + class ExecutionContextData; |
| ExecutionContextData* createContextDataIfNeeded(ExecutionContext*); |
| unsigned m_maxAsyncCallStackDepth; |