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

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

Issue 2537313005: [debug] Revert debug API removal (Closed)
Patch Set: Created 4 years 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
« no previous file with comments | « no previous file | src/api.cc » ('j') | test/cctest/test-debug.cc » ('J')
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" // NOLINT(build/include) 8 #include "v8.h" // NOLINT(build/include)
9 9
10 /** 10 /**
11 * Debugger support for the V8 JavaScript engine. 11 * Debugger support for the V8 JavaScript engine.
12 */ 12 */
13 namespace v8 { 13 namespace v8 {
14 14
15 // Debug events which can occur in the V8 JavaScript engine. 15 // Debug events which can occur in the V8 JavaScript engine.
16 enum DebugEvent { 16 enum DebugEvent {
17 Break = 1, 17 Break = 1,
18 Exception = 2, 18 Exception = 2,
19 AfterCompile = 3, 19 NewFunction = 3,
20 CompileError = 4, 20 BeforeCompile = 4,
21 AsyncTaskEvent = 5, 21 AfterCompile = 5,
22 CompileError = 6,
23 AsyncTaskEvent = 7,
Yang 2016/12/01 09:04:33 we probably dont have to revert this part.
22 }; 24 };
23 25
24 class V8_EXPORT Debug { 26 class V8_EXPORT Debug {
25 public: 27 public:
26 /** 28 /**
27 * A client object passed to the v8 debugger whose ownership will be taken by 29 * A client object passed to the v8 debugger whose ownership will be taken by
28 * it. v8 is always responsible for deleting the object. 30 * it. v8 is always responsible for deleting the object.
29 */ 31 */
30 class ClientData { 32 class ClientData {
31 public: 33 public:
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 * A EventCallback2 does not take possession of the event data, 137 * A EventCallback2 does not take possession of the event data,
136 * and must not rely on the data persisting after the handler returns. 138 * and must not rely on the data persisting after the handler returns.
137 */ 139 */
138 typedef void (*EventCallback)(const EventDetails& event_details); 140 typedef void (*EventCallback)(const EventDetails& event_details);
139 141
140 /** 142 /**
141 * Debug message callback function. 143 * Debug message callback function.
142 * 144 *
143 * \param message the debug message handler message object 145 * \param message the debug message handler message object
144 * 146 *
145 * A MessageHandler does not take possession of the message data, 147 * A MessageHandler2 does not take possession of the message data,
146 * 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.
147 */ 149 */
148 typedef void (*MessageHandler)(const Message& message); 150 typedef void (*MessageHandler)(const Message& message);
149 151
150 /** 152 /**
151 * Callback function for the host to ensure debug messages are processed. 153 * Callback function for the host to ensure debug messages are processed.
152 */ 154 */
153 typedef void (*DebugMessageDispatchHandler)(); 155 typedef void (*DebugMessageDispatchHandler)();
154 156
155 static bool SetDebugEventListener(Isolate* isolate, EventCallback that, 157 static bool SetDebugEventListener(Isolate* isolate, EventCallback that,
156 Local<Value> data = Local<Value>()); 158 Local<Value> data = Local<Value>());
157 159
158 // Schedule a debugger break to happen when JavaScript code is run 160 // Schedule a debugger break to happen when JavaScript code is run
159 // in the given isolate. 161 // in the given isolate.
160 static void DebugBreak(Isolate* isolate); 162 static void DebugBreak(Isolate* isolate);
161 163
162 // Remove scheduled debugger break in given isolate if it has not 164 // Remove scheduled debugger break in given isolate if it has not
163 // happened yet. 165 // happened yet.
164 static void CancelDebugBreak(Isolate* isolate); 166 static void CancelDebugBreak(Isolate* isolate);
165 167
166 // Check if a debugger break is scheduled in the given isolate. 168 // Check if a debugger break is scheduled in the given isolate.
167 V8_DEPRECATED("No longer supported", 169 static bool CheckDebugBreak(Isolate* isolate);
168 static bool CheckDebugBreak(Isolate* isolate));
169 170
170 // Message based interface. The message protocol is JSON. 171 // Message based interface. The message protocol is JSON.
171 V8_DEPRECATED("No longer supported", 172 V8_DEPRECATED("No longer supported",
172 static void SetMessageHandler(Isolate* isolate, 173 static void SetMessageHandler(Isolate* isolate,
173 MessageHandler handler)); 174 MessageHandler handler));
174 175
175 V8_DEPRECATED("No longer supported", 176 V8_DEPRECATED("No longer supported",
176 static void SendCommand(Isolate* isolate, 177 static void SendCommand(Isolate* isolate,
177 const uint16_t* command, int length, 178 const uint16_t* command, int length,
178 ClientData* client_data = NULL)); 179 ClientData* client_data = NULL));
(...skipping 17 matching lines...) Expand all
196 * \endcode 197 * \endcode
197 */ 198 */
198 // TODO(dcarney): data arg should be a MaybeLocal 199 // TODO(dcarney): data arg should be a MaybeLocal
199 static MaybeLocal<Value> Call(Local<Context> context, 200 static MaybeLocal<Value> Call(Local<Context> context,
200 v8::Local<v8::Function> fun, 201 v8::Local<v8::Function> fun,
201 Local<Value> data = Local<Value>()); 202 Local<Value> data = Local<Value>());
202 203
203 /** 204 /**
204 * Returns a mirror object for the given object. 205 * Returns a mirror object for the given object.
205 */ 206 */
206 V8_DEPRECATED("No longer supported", 207 static MaybeLocal<Value> GetMirror(Local<Context> context,
207 static MaybeLocal<Value> GetMirror(Local<Context> context, 208 v8::Local<v8::Value> obj);
208 v8::Local<v8::Value> obj));
209 209
210 /** 210 /**
211 * Makes V8 process all pending debug messages. 211 * Makes V8 process all pending debug messages.
212 * 212 *
213 * From V8 point of view all debug messages come asynchronously (e.g. from 213 * From V8 point of view all debug messages come asynchronously (e.g. from
214 * remote debugger) but they all must be handled synchronously: V8 cannot 214 * remote debugger) but they all must be handled synchronously: V8 cannot
215 * do 2 things at one time so normal script execution must be interrupted 215 * do 2 things at one time so normal script execution must be interrupted
216 * for a while. 216 * for a while.
217 * 217 *
218 * Generally when message arrives V8 may be in one of 3 states: 218 * Generally when message arrives V8 may be in one of 3 states:
(...skipping 28 matching lines...) Expand all
247 * debugger context. Note that the content of the debugger context is subject 247 * debugger context. Note that the content of the debugger context is subject
248 * to change. The Context exists only when the debugger is active, i.e. at 248 * to change. The Context exists only when the debugger is active, i.e. at
249 * least one DebugEventListener or MessageHandler is set. 249 * least one DebugEventListener or MessageHandler is set.
250 */ 250 */
251 static Local<Context> GetDebugContext(Isolate* isolate); 251 static Local<Context> GetDebugContext(Isolate* isolate);
252 252
253 /** 253 /**
254 * While in the debug context, this method returns the top-most non-debug 254 * While in the debug context, this method returns the top-most non-debug
255 * context, if it exists. 255 * context, if it exists.
256 */ 256 */
257 V8_DEPRECATED( 257 static MaybeLocal<Context> GetDebuggedContext(Isolate* isolate);
Yang 2016/12/01 09:04:33 let's keep marking these APIs as deprecated.
258 "No longer supported",
259 static MaybeLocal<Context> GetDebuggedContext(Isolate* isolate));
260 258
261 /** 259 /**
262 * Enable/disable LiveEdit functionality for the given Isolate 260 * Enable/disable LiveEdit functionality for the given Isolate
263 * (default Isolate if not provided). V8 will abort if LiveEdit is 261 * (default Isolate if not provided). V8 will abort if LiveEdit is
264 * unexpectedly used. LiveEdit is enabled by default. 262 * unexpectedly used. LiveEdit is enabled by default.
265 */ 263 */
266 static void SetLiveEditEnabled(Isolate* isolate, bool enable); 264 static void SetLiveEditEnabled(Isolate* isolate, bool enable);
267 265
268 /** 266 /**
269 * Returns array of internal properties specific to the value type. Result has 267 * Returns array of internal properties specific to the value type. Result has
(...skipping 13 matching lines...) Expand all
283 }; 281 };
284 282
285 283
286 } // namespace v8 284 } // namespace v8
287 285
288 286
289 #undef EXPORT 287 #undef EXPORT
290 288
291 289
292 #endif // V8_V8_DEBUG_H_ 290 #endif // V8_V8_DEBUG_H_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | test/cctest/test-debug.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698