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

Side by Side Diff: Source/bindings/core/v8/ScriptDebugServer.h

Issue 1128273005: Devtools: Move runMessageLoopOnPause and other methods on ScriptDebugServer::Client (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix ownptrs Created 5 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010, Google Inc. All rights reserved. 2 * Copyright (c) 2010, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 class CORE_EXPORT ScriptDebugServer : public NoBaseWillBeGarbageCollectedFinaliz ed<ScriptDebugServer> { 50 class CORE_EXPORT ScriptDebugServer : public NoBaseWillBeGarbageCollectedFinaliz ed<ScriptDebugServer> {
51 WTF_MAKE_NONCOPYABLE(ScriptDebugServer); 51 WTF_MAKE_NONCOPYABLE(ScriptDebugServer);
52 public: 52 public:
53 virtual ~ScriptDebugServer(); 53 virtual ~ScriptDebugServer();
54 DECLARE_VIRTUAL_TRACE(); 54 DECLARE_VIRTUAL_TRACE();
55 55
56 class Client { 56 class Client {
57 public: 57 public:
58 virtual ~Client() { } 58 virtual ~Client() { }
59 virtual v8::Local<v8::Object> compileDebuggerScript() = 0; 59 virtual v8::Local<v8::Object> compileDebuggerScript() = 0;
60 virtual ScriptDebugListener* getDebugListenerForContext(v8::Local<v8::Co ntext>) = 0;
61 virtual void runMessageLoopOnPause(v8::Local<v8::Context>) = 0;
62 virtual void quitMessageLoopOnPause() = 0;
60 }; 63 };
61 64
62 void enable(); 65 void enable();
63 void disable(); 66 void disable();
64 bool enabled() const; 67 bool enabled() const;
65 68
66 static void setContextDebugData(v8::Local<v8::Context>, const String& contex tDebugData); 69 static void setContextDebugData(v8::Local<v8::Context>, const String& contex tDebugData);
67 // Each script inherits debug data from v8::Context where it has been compil ed. 70 // Each script inherits debug data from v8::Context where it has been compil ed.
68 // Only scripts whose debug data contains |contextDebugDataSubstring| substr ing will be reported. 71 // Only scripts whose debug data contains |contextDebugDataSubstring| substr ing will be reported.
69 // Passing empty string will result in reporting all scripts. 72 // Passing empty string will result in reporting all scripts.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 114
112 bool isPaused(); 115 bool isPaused();
113 116
114 v8::Local<v8::Value> functionScopes(v8::Local<v8::Function>); 117 v8::Local<v8::Value> functionScopes(v8::Local<v8::Function>);
115 v8::Local<v8::Value> generatorObjectDetails(v8::Local<v8::Object>&); 118 v8::Local<v8::Value> generatorObjectDetails(v8::Local<v8::Object>&);
116 v8::Local<v8::Value> collectionEntries(v8::Local<v8::Object>&); 119 v8::Local<v8::Value> collectionEntries(v8::Local<v8::Object>&);
117 v8::Local<v8::Value> getInternalProperties(v8::Local<v8::Object>&); 120 v8::Local<v8::Value> getInternalProperties(v8::Local<v8::Object>&);
118 v8::MaybeLocal<v8::Value> setFunctionVariableValue(v8::Local<v8::Value> func tionValue, int scopeNumber, const String& variableName, v8::Local<v8::Value> new Value); 121 v8::MaybeLocal<v8::Value> setFunctionVariableValue(v8::Local<v8::Value> func tionValue, int scopeNumber, const String& variableName, v8::Local<v8::Value> new Value);
119 122
120 v8::Isolate* isolate() const { return m_isolate; } 123 v8::Isolate* isolate() const { return m_isolate; }
121 124 explicit ScriptDebugServer(v8::Isolate*, Client*);
122 protected:
123 ScriptDebugServer(v8::Isolate*, PassOwnPtr<Client>);
124
125 virtual ScriptDebugListener* getDebugListenerForContext(v8::Local<v8::Contex t>) = 0;
126 virtual void runMessageLoopOnPause(v8::Local<v8::Context>) = 0;
127 virtual void quitMessageLoopOnPause() = 0;
128 125
129 private: 126 private:
130 void compileDebuggerScript(); 127 void compileDebuggerScript();
131 v8::MaybeLocal<v8::Value> callDebuggerMethod(const char* functionName, int a rgc, v8::Local<v8::Value> argv[]); 128 v8::MaybeLocal<v8::Value> callDebuggerMethod(const char* functionName, int a rgc, v8::Local<v8::Value> argv[]);
132 v8::Local<v8::Object> debuggerScriptLocal() const; 129 v8::Local<v8::Object> debuggerScriptLocal() const;
133 v8::Local<v8::Context> debuggerContext() const; 130 v8::Local<v8::Context> debuggerContext() const;
134 void clearBreakpoints(); 131 void clearBreakpoints();
135 132
136 void dispatchDidParseSource(ScriptDebugListener*, v8::Local<v8::Object> sour ceObject, CompileResult); 133 void dispatchDidParseSource(ScriptDebugListener*, v8::Local<v8::Object> sour ceObject, CompileResult);
137 134
(...skipping 10 matching lines...) Expand all
148 AllScopes, 145 AllScopes,
149 FastAsyncScopes, 146 FastAsyncScopes,
150 NoScopes // Should be the last option. 147 NoScopes // Should be the last option.
151 }; 148 };
152 ScriptValue currentCallFramesInner(ScopeInfoDetails); 149 ScriptValue currentCallFramesInner(ScopeInfoDetails);
153 PassRefPtrWillBeRawPtr<JavaScriptCallFrame> wrapCallFrames(int maximumLimit, ScopeInfoDetails); 150 PassRefPtrWillBeRawPtr<JavaScriptCallFrame> wrapCallFrames(int maximumLimit, ScopeInfoDetails);
154 void handleV8AsyncTaskEvent(ScriptDebugListener*, ScriptState* pausedScriptS tate, v8::Local<v8::Object> executionState, v8::Local<v8::Object> eventData); 151 void handleV8AsyncTaskEvent(ScriptDebugListener*, ScriptState* pausedScriptS tate, v8::Local<v8::Object> executionState, v8::Local<v8::Object> eventData);
155 void handleV8PromiseEvent(ScriptDebugListener*, ScriptState* pausedScriptSta te, v8::Local<v8::Object> executionState, v8::Local<v8::Object> eventData); 152 void handleV8PromiseEvent(ScriptDebugListener*, ScriptState* pausedScriptSta te, v8::Local<v8::Object> executionState, v8::Local<v8::Object> eventData);
156 153
157 v8::Isolate* m_isolate; 154 v8::Isolate* m_isolate;
158 OwnPtr<Client> m_client; 155 Client* m_client;
159 bool m_breakpointsActivated; 156 bool m_breakpointsActivated;
160 v8::UniquePersistent<v8::FunctionTemplate> m_breakProgramCallbackTemplate; 157 v8::UniquePersistent<v8::FunctionTemplate> m_breakProgramCallbackTemplate;
161 v8::UniquePersistent<v8::Object> m_debuggerScript; 158 v8::UniquePersistent<v8::Object> m_debuggerScript;
162 v8::UniquePersistent<v8::Context> m_debuggerContext; 159 v8::UniquePersistent<v8::Context> m_debuggerContext;
163 v8::Local<v8::Object> m_executionState; 160 v8::Local<v8::Object> m_executionState;
164 RefPtr<ScriptState> m_pausedScriptState; 161 RefPtr<ScriptState> m_pausedScriptState;
165 bool m_runningNestedMessageLoop; 162 bool m_runningNestedMessageLoop;
166 class ThreadSafeTaskQueue; 163 class ThreadSafeTaskQueue;
167 OwnPtr<ThreadSafeTaskQueue> m_taskQueue; 164 OwnPtr<ThreadSafeTaskQueue> m_taskQueue;
168 }; 165 };
169 166
170 } // namespace blink 167 } // namespace blink
171 168
172 169
173 #endif // ScriptDebugServer_h 170 #endif // ScriptDebugServer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698