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: src/api.cc

Issue 23576002: Remove deprecated methods from debugger API (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 3 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 | « include/v8-debug.h ('k') | src/isolate.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 7248 matching lines...) Expand 10 before | Expand all | Expand 10 after
7259 } 7259 }
7260 i::Handle<i::Object> result(error, isolate); 7260 i::Handle<i::Object> result(error, isolate);
7261 return Utils::ToLocal(result); 7261 return Utils::ToLocal(result);
7262 } 7262 }
7263 7263
7264 7264
7265 // --- D e b u g S u p p o r t --- 7265 // --- D e b u g S u p p o r t ---
7266 7266
7267 #ifdef ENABLE_DEBUGGER_SUPPORT 7267 #ifdef ENABLE_DEBUGGER_SUPPORT
7268 7268
7269 static void EventCallbackWrapper(const v8::Debug::EventDetails& event_details) {
7270 i::Isolate* isolate = i::Isolate::Current();
7271 if (isolate->debug_event_callback() != NULL) {
7272 isolate->debug_event_callback()(event_details.GetEvent(),
7273 event_details.GetExecutionState(),
7274 event_details.GetEventData(),
7275 event_details.GetCallbackData());
7276 }
7277 }
7278
7279
7280 bool Debug::SetDebugEventListener(EventCallback that, Handle<Value> data) {
7281 i::Isolate* isolate = i::Isolate::Current();
7282 EnsureInitializedForIsolate(isolate, "v8::Debug::SetDebugEventListener()");
7283 ON_BAILOUT(isolate, "v8::Debug::SetDebugEventListener()", return false);
7284 ENTER_V8(isolate);
7285
7286 isolate->set_debug_event_callback(that);
7287
7288 i::HandleScope scope(isolate);
7289 i::Handle<i::Object> foreign = isolate->factory()->undefined_value();
7290 if (that != NULL) {
7291 foreign =
7292 isolate->factory()->NewForeign(FUNCTION_ADDR(EventCallbackWrapper));
7293 }
7294 isolate->debugger()->SetEventListener(foreign,
7295 Utils::OpenHandle(*data, true));
7296 return true;
7297 }
7298
7299
7300 bool Debug::SetDebugEventListener2(EventCallback2 that, Handle<Value> data) { 7269 bool Debug::SetDebugEventListener2(EventCallback2 that, Handle<Value> data) {
7301 i::Isolate* isolate = i::Isolate::Current(); 7270 i::Isolate* isolate = i::Isolate::Current();
7302 EnsureInitializedForIsolate(isolate, "v8::Debug::SetDebugEventListener2()"); 7271 EnsureInitializedForIsolate(isolate, "v8::Debug::SetDebugEventListener2()");
7303 ON_BAILOUT(isolate, "v8::Debug::SetDebugEventListener2()", return false); 7272 ON_BAILOUT(isolate, "v8::Debug::SetDebugEventListener2()", return false);
7304 ENTER_V8(isolate); 7273 ENTER_V8(isolate);
7305 i::HandleScope scope(isolate); 7274 i::HandleScope scope(isolate);
7306 i::Handle<i::Object> foreign = isolate->factory()->undefined_value(); 7275 i::Handle<i::Object> foreign = isolate->factory()->undefined_value();
7307 if (that != NULL) { 7276 if (that != NULL) {
7308 foreign = isolate->factory()->NewForeign(FUNCTION_ADDR(that)); 7277 foreign = isolate->factory()->NewForeign(FUNCTION_ADDR(that));
7309 } 7278 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
7349 // If no isolate is supplied, use the default isolate. 7318 // If no isolate is supplied, use the default isolate.
7350 if (isolate != NULL) { 7319 if (isolate != NULL) {
7351 i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(isolate); 7320 i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(isolate);
7352 internal_isolate->debugger()->EnqueueDebugCommand(data); 7321 internal_isolate->debugger()->EnqueueDebugCommand(data);
7353 } else { 7322 } else {
7354 i::Isolate::GetDefaultIsolateDebugger()->EnqueueDebugCommand(data); 7323 i::Isolate::GetDefaultIsolateDebugger()->EnqueueDebugCommand(data);
7355 } 7324 }
7356 } 7325 }
7357 7326
7358 7327
7359 static void MessageHandlerWrapper(const v8::Debug::Message& message) {
7360 i::Isolate* isolate = i::Isolate::Current();
7361 if (isolate->message_handler()) {
7362 v8::String::Value json(message.GetJSON());
7363 (isolate->message_handler())(*json, json.length(), message.GetClientData());
7364 }
7365 }
7366
7367
7368 void Debug::SetMessageHandler(v8::Debug::MessageHandler handler,
7369 bool message_handler_thread) {
7370 i::Isolate* isolate = i::Isolate::Current();
7371 EnsureInitializedForIsolate(isolate, "v8::Debug::SetMessageHandler");
7372 ENTER_V8(isolate);
7373
7374 // Message handler thread not supported any more. Parameter temporally left in
7375 // the API for client compatibility reasons.
7376 CHECK(!message_handler_thread);
7377
7378 // TODO(sgjesse) support the old message handler API through a simple wrapper.
7379 isolate->set_message_handler(handler);
7380 if (handler != NULL) {
7381 isolate->debugger()->SetMessageHandler(MessageHandlerWrapper);
7382 } else {
7383 isolate->debugger()->SetMessageHandler(NULL);
7384 }
7385 }
7386
7387
7388 void Debug::SetMessageHandler2(v8::Debug::MessageHandler2 handler) { 7328 void Debug::SetMessageHandler2(v8::Debug::MessageHandler2 handler) {
7389 i::Isolate* isolate = i::Isolate::Current(); 7329 i::Isolate* isolate = i::Isolate::Current();
7390 EnsureInitializedForIsolate(isolate, "v8::Debug::SetMessageHandler"); 7330 EnsureInitializedForIsolate(isolate, "v8::Debug::SetMessageHandler");
7391 ENTER_V8(isolate); 7331 ENTER_V8(isolate);
7392 isolate->debugger()->SetMessageHandler(handler); 7332 isolate->debugger()->SetMessageHandler(handler);
7393 } 7333 }
7394 7334
7395 7335
7396 void Debug::SendCommand(const uint16_t* command, int length, 7336 void Debug::SendCommand(const uint16_t* command, int length,
7397 ClientData* client_data, 7337 ClientData* client_data,
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
8228 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); 8168 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate());
8229 Address callback_address = 8169 Address callback_address =
8230 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 8170 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
8231 VMState<EXTERNAL> state(isolate); 8171 VMState<EXTERNAL> state(isolate);
8232 ExternalCallbackScope call_scope(isolate, callback_address); 8172 ExternalCallbackScope call_scope(isolate, callback_address);
8233 return callback(info); 8173 return callback(info);
8234 } 8174 }
8235 8175
8236 8176
8237 } } // namespace v8::internal 8177 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « include/v8-debug.h ('k') | src/isolate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698