Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1062)

Unified Diff: Source/core/inspector/AsyncCallTracker.cpp

Issue 855383002: DevTools: use async operation id instead of AsyncCallChain (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/inspector/AsyncCallTracker.cpp
diff --git a/Source/core/inspector/AsyncCallTracker.cpp b/Source/core/inspector/AsyncCallTracker.cpp
index 4800999323634e697aa919cb4c4f047ad19bd9f3..ec63c851430626512020e9d9f013adfaff103811 100644
--- a/Source/core/inspector/AsyncCallTracker.cpp
+++ b/Source/core/inspector/AsyncCallTracker.cpp
@@ -53,6 +53,8 @@ static const char requestAnimationFrameName[] = "requestAnimationFrame";
static const char xhrSendName[] = "XMLHttpRequest.send";
static const char enqueueMutationRecordName[] = "Mutation";
+const int noOperationId = 0;
aandrey 2015/01/20 14:33:35 noAsyncOperationId or nullAsyncOperationId? make a
yurys 2015/01/20 17:15:38 Done.
+
}
namespace blink {
@@ -178,12 +180,12 @@ void AsyncCallTracker::didInstallTimer(ExecutionContext* context, int timerId, i
{
ASSERT(context);
ASSERT(m_debuggerAgent->trackingAsyncCalls());
- RefPtrWillBeRawPtr<AsyncCallChain> callChain = m_debuggerAgent->traceAsyncOperationStarting(singleShot ? setTimeoutName : setIntervalName);
- if (!callChain)
+ int operationId = m_debuggerAgent->traceAsyncOperationStarting(singleShot ? setTimeoutName : setIntervalName);
+ if (!operationId)
return;
ASSERT(timerId > 0);
ExecutionContextData* data = createContextDataIfNeeded(context);
- data->m_timerCallChains.set(timerId, callChain.release());
+ data->m_timerCallChains.set(timerId, operationId);
if (!singleShot)
data->m_intervalTimerIds.add(timerId);
}
@@ -212,7 +214,7 @@ bool AsyncCallTracker::willFireTimer(ExecutionContext* context, int timerId)
if (!data->m_intervalTimerIds.contains(timerId))
data->m_timerCallChains.remove(timerId);
} else {
- setCurrentAsyncCallChain(context, nullptr);
+ setCurrentAsyncCallChain(context, noOperationId);
}
return true;
}
@@ -221,12 +223,12 @@ void AsyncCallTracker::didRequestAnimationFrame(ExecutionContext* context, int c
{
ASSERT(context);
ASSERT(m_debuggerAgent->trackingAsyncCalls());
- RefPtrWillBeRawPtr<AsyncCallChain> callChain = m_debuggerAgent->traceAsyncOperationStarting(requestAnimationFrameName);
- if (!callChain)
+ int operationId = m_debuggerAgent->traceAsyncOperationStarting(requestAnimationFrameName);
+ if (!operationId)
return;
ASSERT(callbackId > 0);
ExecutionContextData* data = createContextDataIfNeeded(context);
- data->m_animationFrameCallChains.set(callbackId, callChain.release());
+ data->m_animationFrameCallChains.set(callbackId, operationId);
}
void AsyncCallTracker::didCancelAnimationFrame(ExecutionContext* context, int callbackId)
@@ -249,7 +251,7 @@ bool AsyncCallTracker::willFireAnimationFrame(ExecutionContext* context, int cal
setCurrentAsyncCallChain(context, data->m_animationFrameCallChains.get(callbackId));
data->m_animationFrameCallChains.remove(callbackId);
} else {
- setCurrentAsyncCallChain(context, nullptr);
+ setCurrentAsyncCallChain(context, noOperationId);
}
return true;
}
@@ -258,11 +260,11 @@ void AsyncCallTracker::didEnqueueEvent(EventTarget* eventTarget, Event* event)
{
ASSERT(eventTarget->executionContext());
ASSERT(m_debuggerAgent->trackingAsyncCalls());
- RefPtrWillBeRawPtr<AsyncCallChain> callChain = m_debuggerAgent->traceAsyncOperationStarting(event->type());
- if (!callChain)
+ int operationId = m_debuggerAgent->traceAsyncOperationStarting(event->type());
+ if (!operationId)
return;
ExecutionContextData* data = createContextDataIfNeeded(eventTarget->executionContext());
- data->m_eventCallChains.set(event, callChain.release());
+ data->m_eventCallChains.set(event, operationId);
}
void AsyncCallTracker::didRemoveEvent(EventTarget* eventTarget, Event* event)
@@ -284,7 +286,7 @@ void AsyncCallTracker::willHandleEvent(EventTarget* eventTarget, Event* event, E
if (ExecutionContextData* data = m_executionContextDataMap.get(context))
setCurrentAsyncCallChain(context, data->m_eventCallChains.get(event));
else
- setCurrentAsyncCallChain(context, nullptr);
+ setCurrentAsyncCallChain(context, noOperationId);
}
}
@@ -294,11 +296,11 @@ void AsyncCallTracker::willLoadXHR(XMLHttpRequest* xhr, ThreadableLoaderClient*,
ASSERT(m_debuggerAgent->trackingAsyncCalls());
if (!async)
return;
- RefPtrWillBeRawPtr<AsyncCallChain> callChain = m_debuggerAgent->traceAsyncOperationStarting(xhrSendName);
- if (!callChain)
+ int operationId = m_debuggerAgent->traceAsyncOperationStarting(xhrSendName);
+ if (!operationId)
return;
ExecutionContextData* data = createContextDataIfNeeded(xhr->executionContext());
- data->m_xhrCallChains.set(xhr, callChain.release());
+ data->m_xhrCallChains.set(xhr, operationId);
}
void AsyncCallTracker::didDispatchXHRLoadendEvent(XMLHttpRequest* xhr)
@@ -317,7 +319,7 @@ void AsyncCallTracker::willHandleXHREvent(XMLHttpRequest* xhr, Event* event)
if (ExecutionContextData* data = m_executionContextDataMap.get(context))
setCurrentAsyncCallChain(context, data->m_xhrCallChains.get(xhr));
else
- setCurrentAsyncCallChain(context, nullptr);
+ setCurrentAsyncCallChain(context, noOperationId);
}
void AsyncCallTracker::didEnqueueMutationRecord(ExecutionContext* context, MutationObserver* observer)
@@ -327,10 +329,10 @@ void AsyncCallTracker::didEnqueueMutationRecord(ExecutionContext* context, Mutat
ExecutionContextData* data = createContextDataIfNeeded(context);
if (data->m_mutationObserverCallChains.contains(observer))
return;
- RefPtrWillBeRawPtr<AsyncCallChain> callChain = m_debuggerAgent->traceAsyncOperationStarting(enqueueMutationRecordName);
- if (!callChain)
+ int operationId = m_debuggerAgent->traceAsyncOperationStarting(enqueueMutationRecordName);
+ if (!operationId)
return;
- data->m_mutationObserverCallChains.set(observer, callChain.release());
+ data->m_mutationObserverCallChains.set(observer, operationId);
}
void AsyncCallTracker::didClearAllMutationRecords(ExecutionContext* context, MutationObserver* observer)
@@ -349,7 +351,7 @@ void AsyncCallTracker::willDeliverMutationRecords(ExecutionContext* context, Mut
setCurrentAsyncCallChain(context, data->m_mutationObserverCallChains.get(observer));
data->m_mutationObserverCallChains.remove(observer);
} else {
- setCurrentAsyncCallChain(context, nullptr);
+ setCurrentAsyncCallChain(context, noOperationId);
}
}
@@ -359,11 +361,11 @@ void AsyncCallTracker::didPostExecutionContextTask(ExecutionContext* context, Ex
ASSERT(m_debuggerAgent->trackingAsyncCalls());
if (task->taskNameForInstrumentation().isEmpty())
return;
- RefPtrWillBeRawPtr<AsyncCallChain> callChain = m_debuggerAgent->traceAsyncOperationStarting(task->taskNameForInstrumentation());
- if (!callChain)
+ int operationId = m_debuggerAgent->traceAsyncOperationStarting(task->taskNameForInstrumentation());
+ if (!operationId)
return;
ExecutionContextData* data = createContextDataIfNeeded(context);
- data->m_executionContextTaskCallChains.set(task, callChain.release());
+ data->m_executionContextTaskCallChains.set(task, operationId);
}
void AsyncCallTracker::didKillAllExecutionContextTasks(ExecutionContext* context)
@@ -382,7 +384,7 @@ void AsyncCallTracker::willPerformExecutionContextTask(ExecutionContext* context
setCurrentAsyncCallChain(context, data->m_executionContextTaskCallChains.get(task));
data->m_executionContextTaskCallChains.remove(task);
} else {
- setCurrentAsyncCallChain(context, nullptr);
+ setCurrentAsyncCallChain(context, noOperationId);
}
}
@@ -392,12 +394,12 @@ int AsyncCallTracker::traceAsyncOperationStarting(ExecutionContext* context, con
ASSERT(m_debuggerAgent->trackingAsyncCalls());
if (prevOperationId)
traceAsyncOperationCompleted(context, prevOperationId);
- RefPtrWillBeRawPtr<AsyncCallChain> callChain = m_debuggerAgent->traceAsyncOperationStarting(operationName);
- if (!callChain)
+ int operationId = m_debuggerAgent->traceAsyncOperationStarting(operationName);
+ if (!operationId)
return 0;
ExecutionContextData* data = createContextDataIfNeeded(context);
int id = data->nextAsyncOperationUniqueId();
aandrey 2015/01/20 14:33:35 remove, use a Set of operationId's
yurys 2015/01/20 17:15:38 Done.
- data->m_asyncOperationCallChains.set(id, callChain.release());
+ data->m_asyncOperationCallChains.set(id, operationId);
return id;
}
@@ -422,9 +424,9 @@ void AsyncCallTracker::traceAsyncCallbackStarting(ExecutionContext* context, int
ASSERT(context);
ASSERT(m_debuggerAgent->trackingAsyncCalls());
if (ExecutionContextData* data = m_executionContextDataMap.get(context))
- setCurrentAsyncCallChain(context, operationId > 0 ? data->m_asyncOperationCallChains.get(operationId) : nullptr);
+ setCurrentAsyncCallChain(context, operationId > 0 ? data->m_asyncOperationCallChains.get(operationId) : noOperationId);
else
- setCurrentAsyncCallChain(context, nullptr);
+ setCurrentAsyncCallChain(context, noOperationId);
}
void AsyncCallTracker::didFireAsyncCall()
@@ -432,9 +434,9 @@ void AsyncCallTracker::didFireAsyncCall()
m_debuggerAgent->traceAsyncCallbackCompleted();
}
-void AsyncCallTracker::setCurrentAsyncCallChain(ExecutionContext* context, PassRefPtrWillBeRawPtr<AsyncCallChain> chain)
+void AsyncCallTracker::setCurrentAsyncCallChain(ExecutionContext* context, int operationId)
{
- m_debuggerAgent->traceAsyncCallbackStarting(toIsolate(context), chain);
+ m_debuggerAgent->traceAsyncCallbackStarting(toIsolate(context), operationId);
}
AsyncCallTracker::ExecutionContextData* AsyncCallTracker::createContextDataIfNeeded(ExecutionContext* context)

Powered by Google App Engine
This is Rietveld 408576698