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

Unified Diff: Source/bindings/dart/DartController.h

Issue 24989007: Model each Dart library as its own ScriptState when devtools are enabled. (Closed) Base URL: svn://svn.chromium.org/multivm/trunk/webkit
Patch Set: Ready for review Created 7 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/dart/DartController.h
diff --git a/Source/bindings/dart/DartController.h b/Source/bindings/dart/DartController.h
index 5cd255fb0b7a0aadf1f8cde069562e6156d85982..882bb4617d84b2366b54f31026d9de66359e488e 100644
--- a/Source/bindings/dart/DartController.h
+++ b/Source/bindings/dart/DartController.h
@@ -42,11 +42,13 @@ struct NPObject;
namespace WebCore {
+class DartScriptState;
vsm 2013/09/30 22:08:03 nit: alpha
Jacob 2013/10/01 00:07:05 Done.
class DartApplicationLoader;
class DartDOMData;
class DOMWindow;
class Frame;
class ScriptExecutionContext;
+class ScriptState;
// This class provides the linkage between a Frame and its attached
// Dart isolates. It is similar to ScriptController for JavaScript.
@@ -70,6 +72,8 @@ public:
void startDart();
Frame* frame() const { return m_frame; }
+ void collectScriptStates(ScriptState* v8ScriptState, Vector<ScriptState*>& result);
+ void collectScriptStatesForIsolate(Dart_Isolate, v8::Handle<v8::Context> v8Context, Vector<ScriptState*>& result);
void spawnDomIsolateFromSelf(const String& libraryUrl, const String& entryPoint, DartDOMData* parentDOMData, Dart_Port replyTo);
void spawnDomIsolateFromUrl(const String& url, Dart_Port replyTo);
@@ -101,6 +105,10 @@ private:
// Isolates associated with scripts in this document.
Vector<Dart_Isolate> m_isolates;
+ typedef HashMap<intptr_t, DartScriptState*> LibraryIdMap;
+ typedef HashMap<Dart_Isolate, LibraryIdMap*> ScriptStatesMap;
+ ScriptStatesMap m_scriptStates;
+
typedef HashMap<String, NPObject*> NPObjectMap;
NPObjectMap m_npObjectMap;

Powered by Google App Engine
This is Rietveld 408576698