From 16bb1dc210fba22db0a4ba0eac38da1777a43aca Mon Sep 17 00:00:00 2001 From: "yurys@chromium.org" Date: Wed, 17 Jul 2013 09:20:16 +0000 Subject: [PATCH] Deprecate some debugger methods These methods have been superceeded by equivalents accepting object arguments exposing more details. BUG=None R=loislo@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/19549002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- include/v8-debug.h | 10 ++++++---- src/d8-debug.cc | 8 ++++---- src/d8-debug.h | 5 +---- src/d8.cc | 2 +- test/cctest/test-debug.cc | 2 ++ 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/include/v8-debug.h b/include/v8-debug.h index f432de0be8..e488aaa889 100755 --- a/include/v8-debug.h +++ b/include/v8-debug.h @@ -245,8 +245,9 @@ class EXPORT Debug { typedef void (*DebugMessageDispatchHandler)(); // Set a C debug event listener. - static bool SetDebugEventListener(EventCallback that, - Handle data = Handle()); + V8_DEPRECATED(static bool SetDebugEventListener( + EventCallback that, + Handle data = Handle())); static bool SetDebugEventListener2(EventCallback2 that, Handle data = Handle()); @@ -274,8 +275,9 @@ class EXPORT Debug { // Message based interface. The message protocol is JSON. NOTE the message // handler thread is not supported any more parameter must be false. - static void SetMessageHandler(MessageHandler handler, - bool message_handler_thread = false); + V8_DEPRECATED(static void SetMessageHandler( + MessageHandler handler, + bool message_handler_thread = false)); static void SetMessageHandler2(MessageHandler2 handler); // If no isolate is provided the default isolate is diff --git a/src/d8-debug.cc b/src/d8-debug.cc index aac7aab156..9a72518f4c 100644 --- a/src/d8-debug.cc +++ b/src/d8-debug.cc @@ -50,14 +50,12 @@ void PrintPrompt() { } -void HandleDebugEvent(DebugEvent event, - Handle exec_state, - Handle event_data, - Handle data) { +void HandleDebugEvent(const Debug::EventDetails& event_details) { // TODO(svenpanne) There should be a way to retrieve this in the callback. Isolate* isolate = Isolate::GetCurrent(); HandleScope scope(isolate); + DebugEvent event = event_details.GetEvent(); // Check for handled event. if (event != Break && event != Exception && event != AfterCompile) { return; @@ -67,6 +65,7 @@ void HandleDebugEvent(DebugEvent event, // Get the toJSONProtocol function on the event and get the JSON format. Local to_json_fun_name = String::New("toJSONProtocol"); + Handle event_data = event_details.GetEventData(); Local to_json_fun = Local::Cast(event_data->Get(to_json_fun_name)); Local event_json = to_json_fun->Call(event_data, 0, NULL); @@ -91,6 +90,7 @@ void HandleDebugEvent(DebugEvent event, // Get the debug command processor. Local fun_name = String::New("debugCommandProcessor"); + Handle exec_state = event_details.GetExecutionState(); Local fun = Local::Cast(exec_state->Get(fun_name)); Local cmd_processor = Local::Cast(fun->Call(exec_state, 0, NULL)); diff --git a/src/d8-debug.h b/src/d8-debug.h index a6cea2a81b..2386b6bd6c 100644 --- a/src/d8-debug.h +++ b/src/d8-debug.h @@ -36,10 +36,7 @@ namespace v8 { -void HandleDebugEvent(DebugEvent event, - Handle exec_state, - Handle event_data, - Handle data); +void HandleDebugEvent(const Debug::EventDetails& event_details); // Start the remove debugger connecting to a V8 debugger agent on the specified // port. diff --git a/src/d8.cc b/src/d8.cc index 3ac8db0962..e576e9cb37 100644 --- a/src/d8.cc +++ b/src/d8.cc @@ -810,7 +810,7 @@ void Shell::InstallUtilityScript(Isolate* isolate) { #ifdef ENABLE_DEBUGGER_SUPPORT // Start the in-process debugger if requested. if (i::FLAG_debugger && !i::FLAG_debugger_agent) { - v8::Debug::SetDebugEventListener(HandleDebugEvent); + v8::Debug::SetDebugEventListener2(HandleDebugEvent); } #endif // ENABLE_DEBUGGER_SUPPORT } diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc index 0f31c14ad6..484eb8e3fb 100644 --- a/test/cctest/test-debug.cc +++ b/test/cctest/test-debug.cc @@ -29,6 +29,7 @@ #include +#define V8_DISABLE_DEPRECATIONS 1 #include "v8.h" #include "api.h" @@ -39,6 +40,7 @@ #include "platform.h" #include "stub-cache.h" #include "utils.h" +#undef V8_DISABLE_DEPRECATIONS using ::v8::internal::EmbeddedVector;