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

Side by Side Diff: include/v8-debug.h

Issue 276433004: Clean up Debugger::NotifyMessageHandler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2008 the V8 project authors. All rights reserved. 1 // Copyright 2008 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_V8_DEBUG_H_ 5 #ifndef V8_V8_DEBUG_H_
6 #define V8_V8_DEBUG_H_ 6 #define V8_V8_DEBUG_H_
7 7
8 #include "v8.h" 8 #include "v8.h"
9 9
10 /** 10 /**
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 * Debug message callback function. 143 * Debug message callback function.
144 * 144 *
145 * \param message the debug message handler message object 145 * \param message the debug message handler message object
146 * 146 *
147 * A MessageHandler2 does not take possession of the message data, 147 * A MessageHandler2 does not take possession of the message data,
148 * and must not rely on the data persisting after the handler returns. 148 * and must not rely on the data persisting after the handler returns.
149 */ 149 */
150 typedef void (*MessageHandler2)(const Message& message); 150 typedef void (*MessageHandler2)(const Message& message);
151 151
152 /** 152 /**
153 * Debug host dispatch callback function.
154 */
155 typedef void (*HostDispatchHandler)();
156
157 /**
158 * Callback function for the host to ensure debug messages are processed. 153 * Callback function for the host to ensure debug messages are processed.
159 */ 154 */
160 typedef void (*DebugMessageDispatchHandler)(); 155 typedef void (*DebugMessageDispatchHandler)();
161 156
162 static bool SetDebugEventListener2(EventCallback2 that, 157 static bool SetDebugEventListener2(EventCallback2 that,
163 Handle<Value> data = Handle<Value>()); 158 Handle<Value> data = Handle<Value>());
164 159
165 // Set a JavaScript debug event listener.
166 static bool SetDebugEventListener(v8::Handle<v8::Object> that,
167 Handle<Value> data = Handle<Value>());
168
169 // Schedule a debugger break to happen when JavaScript code is run 160 // Schedule a debugger break to happen when JavaScript code is run
170 // in the given isolate. 161 // in the given isolate.
171 static void DebugBreak(Isolate* isolate); 162 static void DebugBreak(Isolate* isolate);
172 163
173 // Remove scheduled debugger break in given isolate if it has not 164 // Remove scheduled debugger break in given isolate if it has not
174 // happened yet. 165 // happened yet.
175 static void CancelDebugBreak(Isolate* isolate); 166 static void CancelDebugBreak(Isolate* isolate);
176 167
177 // Break execution of JavaScript in the given isolate (this method 168 // Break execution of JavaScript in the given isolate (this method
178 // can be invoked from a non-VM thread) for further client command 169 // can be invoked from a non-VM thread) for further client command
179 // execution on a VM thread. Client data is then passed in 170 // execution on a VM thread. Client data is then passed in
180 // EventDetails to EventCallback2 at the moment when the VM actually 171 // EventDetails to EventCallback2 at the moment when the VM actually
181 // stops. 172 // stops.
182 static void DebugBreakForCommand(Isolate* isolate, ClientData* data); 173 static void DebugBreakForCommand(Isolate* isolate, ClientData* data);
183 174
184 // TODO(svenpanne) Remove this when Chrome is updated. 175 // TODO(svenpanne) Remove this when Chrome is updated.
185 static void DebugBreakForCommand(ClientData* data, Isolate* isolate) { 176 static void DebugBreakForCommand(ClientData* data, Isolate* isolate) {
186 DebugBreakForCommand(isolate, data); 177 DebugBreakForCommand(isolate, data);
187 } 178 }
188 179
189 // Message based interface. The message protocol is JSON. 180 // Message based interface. The message protocol is JSON.
190 static void SetMessageHandler2(MessageHandler2 handler); 181 static void SetMessageHandler2(MessageHandler2 handler);
191 182
192 static void SendCommand(Isolate* isolate, 183 static void SendCommand(Isolate* isolate,
193 const uint16_t* command, int length, 184 const uint16_t* command, int length,
194 ClientData* client_data = NULL); 185 ClientData* client_data = NULL);
195 186
196 // Dispatch interface.
197 static void SetHostDispatchHandler(HostDispatchHandler handler,
198 int period = 100);
199
200 /** 187 /**
201 * Register a callback function to be called when a debug message has been 188 * Register a callback function to be called when a debug message has been
202 * received and is ready to be processed. For the debug messages to be 189 * received and is ready to be processed. For the debug messages to be
203 * processed V8 needs to be entered, and in certain embedding scenarios this 190 * processed V8 needs to be entered, and in certain embedding scenarios this
204 * callback can be used to make sure V8 is entered for the debug message to 191 * callback can be used to make sure V8 is entered for the debug message to
205 * be processed. Note that debug messages will only be processed if there is 192 * be processed. Note that debug messages will only be processed if there is
206 * a V8 break. This can happen automatically by using the option 193 * a V8 break. This can happen automatically by using the option
207 * --debugger-auto-break. 194 * --debugger-auto-break.
208 * \param provide_locker requires that V8 acquires v8::Locker for you before 195 * \param provide_locker requires that V8 acquires v8::Locker for you before
209 * calling handler 196 * calling handler
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 }; 300 };
314 301
315 302
316 } // namespace v8 303 } // namespace v8
317 304
318 305
319 #undef EXPORT 306 #undef EXPORT
320 307
321 308
322 #endif // V8_V8_DEBUG_H_ 309 #endif // V8_V8_DEBUG_H_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698