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

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

Issue 2084017: Version 2.2.11... (Closed) Base URL: http://v8.googlecode.com/svn/trunk/
Patch Set: Created 10 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 | « SConstruct ('k') | include/v8-profiler.h » ('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 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 * debugger takes ownership of the data and will delete it even if there is 137 * debugger takes ownership of the data and will delete it even if there is
138 * no message handler. 138 * no message handler.
139 */ 139 */
140 virtual ClientData* GetClientData() const = 0; 140 virtual ClientData* GetClientData() const = 0;
141 141
142 virtual ~Message() {} 142 virtual ~Message() {}
143 }; 143 };
144 144
145 145
146 /** 146 /**
147 * An event details object passed to the debug event listener.
148 */
149 class EventDetails {
150 public:
151 /**
152 * Event type.
153 */
154 virtual DebugEvent GetEvent() const = 0;
155
156 /**
157 * Access to execution state and event data of the debug event. Don't store
158 * these cross callbacks as their content becomes invalid.
159 */
160 virtual Handle<Object> GetExecutionState() const = 0;
161 virtual Handle<Object> GetEventData() const = 0;
162
163 /**
164 * Get the context active when the debug event happened. Note this is not
165 * the current active context as the JavaScript part of the debugger is
166 * running in it's own context which is entered at this point.
167 */
168 virtual Handle<Context> GetEventContext() const = 0;
169
170 /**
171 * Client data passed with the corresponding callbak whet it was registered.
172 */
173 virtual Handle<Value> GetCallbackData() const = 0;
174
175 virtual ~EventDetails() {}
176 };
177
178
179 /**
147 * Debug event callback function. 180 * Debug event callback function.
148 * 181 *
149 * \param event the type of the debug event that triggered the callback 182 * \param event the type of the debug event that triggered the callback
150 * (enum DebugEvent) 183 * (enum DebugEvent)
151 * \param exec_state execution state (JavaScript object) 184 * \param exec_state execution state (JavaScript object)
152 * \param event_data event specific data (JavaScript object) 185 * \param event_data event specific data (JavaScript object)
153 * \param data value passed by the user to SetDebugEventListener 186 * \param data value passed by the user to SetDebugEventListener
154 */ 187 */
155 typedef void (*EventCallback)(DebugEvent event, 188 typedef void (*EventCallback)(DebugEvent event,
156 Handle<Object> exec_state, 189 Handle<Object> exec_state,
157 Handle<Object> event_data, 190 Handle<Object> event_data,
158 Handle<Value> data); 191 Handle<Value> data);
159 192
193 /**
194 * Debug event callback function.
195 *
196 * \param event_details object providing information about the debug event
197 *
198 * A EventCallback2 does not take possession of the event data,
199 * and must not rely on the data persisting after the handler returns.
200 */
201 typedef void (*EventCallback2)(const EventDetails& event_details);
160 202
161 /** 203 /**
162 * Debug message callback function. 204 * Debug message callback function.
163 * 205 *
164 * \param message the debug message handler message object 206 * \param message the debug message handler message object
165 * \param length length of the message 207 * \param length length of the message
166 * \param client_data the data value passed when registering the message handl er 208 * \param client_data the data value passed when registering the message handl er
167 209
168 * A MessageHandler does not take posession of the message string, 210 * A MessageHandler does not take possession of the message string,
169 * and must not rely on the data persisting after the handler returns. 211 * and must not rely on the data persisting after the handler returns.
170 * 212 *
171 * This message handler is deprecated. Use MessageHandler2 instead. 213 * This message handler is deprecated. Use MessageHandler2 instead.
172 */ 214 */
173 typedef void (*MessageHandler)(const uint16_t* message, int length, 215 typedef void (*MessageHandler)(const uint16_t* message, int length,
174 ClientData* client_data); 216 ClientData* client_data);
175 217
176 /** 218 /**
177 * Debug message callback function. 219 * Debug message callback function.
178 * 220 *
179 * \param message the debug message handler message object 221 * \param message the debug message handler message object
180 222
181 * A MessageHandler does not take posession of the message data, 223 * A MessageHandler does not take possession of the message data,
182 * and must not rely on the data persisting after the handler returns. 224 * and must not rely on the data persisting after the handler returns.
183 */ 225 */
184 typedef void (*MessageHandler2)(const Message& message); 226 typedef void (*MessageHandler2)(const Message& message);
185 227
186 /** 228 /**
187 * Debug host dispatch callback function. 229 * Debug host dispatch callback function.
188 */ 230 */
189 typedef void (*HostDispatchHandler)(); 231 typedef void (*HostDispatchHandler)();
190 232
191 /** 233 /**
192 * Callback function for the host to ensure debug messages are processed. 234 * Callback function for the host to ensure debug messages are processed.
193 */ 235 */
194 typedef void (*DebugMessageDispatchHandler)(); 236 typedef void (*DebugMessageDispatchHandler)();
195 237
196 // Set a C debug event listener. 238 // Set a C debug event listener.
197 static bool SetDebugEventListener(EventCallback that, 239 static bool SetDebugEventListener(EventCallback that,
198 Handle<Value> data = Handle<Value>()); 240 Handle<Value> data = Handle<Value>());
241 static bool SetDebugEventListener2(EventCallback2 that,
242 Handle<Value> data = Handle<Value>());
199 243
200 // Set a JavaScript debug event listener. 244 // Set a JavaScript debug event listener.
201 static bool SetDebugEventListener(v8::Handle<v8::Object> that, 245 static bool SetDebugEventListener(v8::Handle<v8::Object> that,
202 Handle<Value> data = Handle<Value>()); 246 Handle<Value> data = Handle<Value>());
203 247
204 // Break execution of JavaScript. 248 // Break execution of JavaScript.
205 static void DebugBreak(); 249 static void DebugBreak();
206 250
207 // Message based interface. The message protocol is JSON. NOTE the message 251 // Message based interface. The message protocol is JSON. NOTE the message
208 // handler thread is not supported any more parameter must be false. 252 // handler thread is not supported any more parameter must be false.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 }; 358 };
315 359
316 360
317 } // namespace v8 361 } // namespace v8
318 362
319 363
320 #undef EXPORT 364 #undef EXPORT
321 365
322 366
323 #endif // V8_V8_DEBUG_H_ 367 #endif // V8_V8_DEBUG_H_
OLDNEW
« no previous file with comments | « SConstruct ('k') | include/v8-profiler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698