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

Side by Side Diff: Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp

Issue 16143005: monitor console command implemented. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007-2011 Google Inc. All rights reserved. 2 * Copyright (C) 2007-2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 v8SetReturnValue(args, debugServer.setFunctionVariableValue(functionValue, s copeIndex, variableName, newValue)); 364 v8SetReturnValue(args, debugServer.setFunctionVariableValue(functionValue, s copeIndex, variableName, newValue));
365 } 365 }
366 366
367 static bool getFunctionLocation(const v8::FunctionCallbackInfo<v8::Value>& args, String* scriptId, int* lineNumber, int* columnNumber) 367 static bool getFunctionLocation(const v8::FunctionCallbackInfo<v8::Value>& args, String* scriptId, int* lineNumber, int* columnNumber)
368 { 368 {
369 if (args.Length() < 1) 369 if (args.Length() < 1)
370 return false; 370 return false;
371 v8::Handle<v8::Value> fn = args[0]; 371 v8::Handle<v8::Value> fn = args[0];
372 if (!fn->IsFunction()) 372 if (!fn->IsFunction())
373 return false; 373 return false;
374 v8::HandleScope handleScope;
375 v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(fn); 374 v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(fn);
376 *lineNumber = function->GetScriptLineNumber(); 375 *lineNumber = function->GetScriptLineNumber();
377 *columnNumber = function->GetScriptColumnNumber(); 376 *columnNumber = function->GetScriptColumnNumber();
378 if (*lineNumber == v8::Function::kLineOffsetNotFound || *columnNumber == v8: :Function::kLineOffsetNotFound) 377 if (*lineNumber == v8::Function::kLineOffsetNotFound || *columnNumber == v8: :Function::kLineOffsetNotFound)
379 return false; 378 return false;
380 *scriptId = toWebCoreStringWithUndefinedOrNullCheck(function->GetScriptId()) ; 379 *scriptId = toWebCoreStringWithUndefinedOrNullCheck(function->GetScriptId()) ;
381 return true; 380 return true;
382 } 381 }
383 382
384 void V8InjectedScriptHost::setBreakpointMethodCustom(const v8::FunctionCallbackI nfo<v8::Value>& args) 383 void V8InjectedScriptHost::debugFunctionMethodCustom(const v8::FunctionCallbackI nfo<v8::Value>& args)
385 { 384 {
386 String scriptId; 385 String scriptId;
387 int lineNumber; 386 int lineNumber;
388 int columnNumber; 387 int columnNumber;
389 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber)) 388 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
390 return; 389 return;
391 390
392 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder()); 391 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
393 host->setBreakpoint(scriptId, lineNumber, columnNumber); 392 host->debugFunction(scriptId, lineNumber, columnNumber);
394 } 393 }
395 394
396 void V8InjectedScriptHost::removeBreakpointMethodCustom(const v8::FunctionCallba ckInfo<v8::Value>& args) 395 void V8InjectedScriptHost::undebugFunctionMethodCustom(const v8::FunctionCallbac kInfo<v8::Value>& args)
397 { 396 {
398 String scriptId; 397 String scriptId;
399 int lineNumber; 398 int lineNumber;
400 int columnNumber; 399 int columnNumber;
401 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber)) 400 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
402 return; 401 return;
403 402
404 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder()); 403 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
405 host->removeBreakpoint(scriptId, lineNumber, columnNumber); 404 host->undebugFunction(scriptId, lineNumber, columnNumber);
406 } 405 }
407 406
407 void V8InjectedScriptHost::monitorFunctionMethodCustom(const v8::FunctionCallbac kInfo<v8::Value>& args)
408 {
409 String scriptId;
410 int lineNumber;
411 int columnNumber;
412 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
413 return;
414
415 v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(args[0]);
416 v8::Handle<v8::Value> name;
417 if (args.Length() > 0 && args[0]->IsFunction()) {
418 v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(args[ 0]);
419 name = function->GetName();
420 if (!name->IsString() || !v8::Handle<v8::String>::Cast(name)->Length())
421 name = function->GetInferredName();
422 }
423
424 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
425 host->monitorFunction(scriptId, lineNumber, columnNumber, toWebCoreStringWit hUndefinedOrNullCheck(name));
426 }
427
428 void V8InjectedScriptHost::unmonitorFunctionMethodCustom(const v8::FunctionCallb ackInfo<v8::Value>& args)
429 {
430 String scriptId;
431 int lineNumber;
432 int columnNumber;
433 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
434 return;
435
436 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
437 host->unmonitorFunction(scriptId, lineNumber, columnNumber);
438 }
408 439
409 } // namespace WebCore 440 } // namespace WebCore
441
OLDNEW
« no previous file with comments | « LayoutTests/inspector/debugger/monitor-console-command-expected.txt ('k') | Source/core/inspector/InjectedScriptHost.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698