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

Unified Diff: Source/bindings/common/StackTrace.h

Issue 466243002: Support merged Dart-JS callstacks (Closed) Base URL: svn://svn.chromium.org/blink/branches/dart/dartium
Patch Set: ptal Created 6 years, 3 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/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);

Powered by Google App Engine
This is Rietveld 408576698