diff options
| author | Ben Murdoch <benm@google.com> | 2010-07-22 14:51:16 +0100 |
|---|---|---|
| committer | Ben Murdoch <benm@google.com> | 2010-07-22 14:51:16 +0100 |
| commit | 3bec4d28b1f388dbc06a9c4276e1a03e86c52b04 (patch) | |
| tree | 538bb9cb5e3664733f56ba3292342ccc426eb9f9 /src/debug.h | |
| parent | 2794f167cd167a39859e9be5be3b05bdb5feb10a (diff) | |
| download | android_external_v8-3bec4d28b1f388dbc06a9c4276e1a03e86c52b04.tar.gz android_external_v8-3bec4d28b1f388dbc06a9c4276e1a03e86c52b04.tar.bz2 android_external_v8-3bec4d28b1f388dbc06a9c4276e1a03e86c52b04.zip | |
Update V8 to r5091 as required by WebKit r63859.
Change-Id: I8e35d765e6f6c7f89eccff900e1cabe2d5dd6110
Diffstat (limited to 'src/debug.h')
| -rw-r--r-- | src/debug.h | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/debug.h b/src/debug.h index fb926927..7bb4a428 100644 --- a/src/debug.h +++ b/src/debug.h @@ -566,18 +566,21 @@ class EventDetailsImpl : public v8::Debug::EventDetails { EventDetailsImpl(DebugEvent event, Handle<JSObject> exec_state, Handle<JSObject> event_data, - Handle<Object> callback_data); + Handle<Object> callback_data, + v8::Debug::ClientData* client_data); virtual DebugEvent GetEvent() const; virtual v8::Handle<v8::Object> GetExecutionState() const; virtual v8::Handle<v8::Object> GetEventData() const; virtual v8::Handle<v8::Context> GetEventContext() const; virtual v8::Handle<v8::Value> GetCallbackData() const; + virtual v8::Debug::ClientData* GetClientData() const; private: DebugEvent event_; // Debug event causing the break. - Handle<JSObject> exec_state_; // Current execution state. - Handle<JSObject> event_data_; // Data associated with the event. - Handle<Object> callback_data_; // User data passed with the callback when - // it was registered. + Handle<JSObject> exec_state_; // Current execution state. + Handle<JSObject> event_data_; // Data associated with the event. + Handle<Object> callback_data_; // User data passed with the callback + // when it was registered. + v8::Debug::ClientData* client_data_; // Data passed to DebugBreakForCommand. }; @@ -706,6 +709,9 @@ class Debugger { // Check whether there are commands in the command queue. static bool HasCommands(); + // Enqueue a debugger command to the command queue for event listeners. + static void EnqueueDebugCommand(v8::Debug::ClientData* client_data = NULL); + static Handle<Object> Call(Handle<JSFunction> fun, Handle<Object> data, bool* pending_exception); @@ -753,6 +759,17 @@ class Debugger { static bool IsDebuggerActive(); private: + static void CallEventCallback(v8::DebugEvent event, + Handle<Object> exec_state, + Handle<Object> event_data, + v8::Debug::ClientData* client_data); + static void CallCEventCallback(v8::DebugEvent event, + Handle<Object> exec_state, + Handle<Object> event_data, + v8::Debug::ClientData* client_data); + static void CallJSEventCallback(v8::DebugEvent event, + Handle<Object> exec_state, + Handle<Object> event_data); static void ListenersChanged(); static Mutex* debugger_access_; // Mutex guarding debugger variables. @@ -775,6 +792,8 @@ class Debugger { static LockingCommandMessageQueue command_queue_; static Semaphore* command_received_; // Signaled for each command received. + static LockingCommandMessageQueue event_command_queue_; + friend class EnterDebugger; }; |
