Index: Source/bindings/dart/DartDOMData.h |
diff --git a/Source/bindings/dart/DartDOMData.h b/Source/bindings/dart/DartDOMData.h |
index 8cf78cf25c6dfcf6b41deceee43021aaa570f953..ba00d38e7067169966d5806e60c51c75ed95e1ea 100644 |
--- a/Source/bindings/dart/DartDOMData.h |
+++ b/Source/bindings/dart/DartDOMData.h |
@@ -34,6 +34,7 @@ |
#include "DartJsInteropData.h" |
#include "DartWebkitClassIds.h" |
+#include "bindings/common/StackTrace.h" |
#include "bindings/dart/DartCustomElementBinding.h" |
#include "bindings/dart/DartLibraryIds.h" |
#include "bindings/dart/DartScriptState.h" |
@@ -81,9 +82,10 @@ public: |
ExecutionContext* scriptExecutionContext() { return m_scriptExecutionContext; } |
bool isDOMEnabled() { return m_isDOMEnabled; } |
- // We track the Dart specific recursion level here as well as the global |
- // recursion level tracked by m_recursionScope due to dartbug.com/14183. |
- int* recursion() { return &m_recursion; } |
+ // Track Dart stack trace depth and timestamp pairs so that we can |
+ // correctly interleave Dart and JavaScript stack traces. |
+ StackTraceTimestampTracker* stackTraceTimestampTracker() { return &m_stackTraceTimestampTracker; } |
+ |
DartStringCache& stringCache() { return m_stringCache; } |
void setThreadSafeIsolateWrapper(PassRefPtr<ThreadSafeDartIsolateWrapper>); |
@@ -235,6 +237,7 @@ private: |
ExecutionContext* m_scriptExecutionContext; |
bool m_isDOMEnabled; |
int m_recursion; |
+ StackTraceTimestampTracker m_stackTraceTimestampTracker; |
DartStringCache m_stringCache; |
RefPtr<ThreadSafeDartIsolateWrapper> m_threadSafeIsolateWrapper; |
Mutex m_isolateWrapperMutex; |