Index: Source/bindings/common/StackTrace.h |
diff --git a/Source/bindings/common/StackTrace.h b/Source/bindings/common/StackTrace.h |
index 758c35d3e127d6a14e74c8712d9972b5c802e1af..137dbf8cafacf0e9202b8f127ea7ae0f3d2b5c3d 100644 |
--- a/Source/bindings/common/StackTrace.h |
+++ b/Source/bindings/common/StackTrace.h |
@@ -32,6 +32,8 @@ |
#define StackTrace_h |
#include "bindings/common/ScriptValue.h" |
+#include "wtf/HashMap.h" |
+ |
#include <dart_debugger_api.h> |
namespace WebCore { |
@@ -89,6 +91,30 @@ private: |
Dart_StackTrace m_dartStackTrace; |
}; |
+class StackTraces { |
+public: |
+ typedef HashMap<ScriptState*, StackTrace> StackTraceMap; |
+ typedef StackTraceMap::iterator iterator; |
+ typedef StackTraceMap::const_iterator const_iterator; |
+ |
+ StackTraces() { } |
+ StackTraces(StackTrace, ScriptState*); |
+ |
+ StackTrace lookup(ScriptState*) const; |
+ void add(const StackTrace&, ScriptState*); |
+ void add(const StackTraces&); |
+ |
+ bool isNull() const { return m_traces.isEmpty(); } |
+ |
+ iterator begin() { return m_traces.begin(); } |
+ iterator end() { return m_traces.end(); } |
+ const_iterator begin() const { return m_traces.begin(); } |
+ const_iterator end() const { return m_traces.end(); } |
+private: |
+ |
+ StackTraceMap m_traces; |
+}; |
+ |
class ActivationFrame { |
public: |
explicit ActivationFrame() |
@@ -111,6 +137,7 @@ public: |
} |
bool isJavaScript() const { return m_isJavaScript; } |
+ |
ScriptValue asJavaScript() const |
{ |
ASSERT(m_isJavaScript); |