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

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: Moved command implementation to C++. 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 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 v8::HandleScope handleScope; 373 v8::HandleScope handleScope;
374 v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(fn); 374 v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(fn);
375 *lineNumber = function->GetScriptLineNumber(); 375 *lineNumber = function->GetScriptLineNumber();
376 *columnNumber = function->GetScriptColumnNumber(); 376 *columnNumber = function->GetScriptColumnNumber();
377 if (*lineNumber == v8::Function::kLineOffsetNotFound || *columnNumber == v8: :Function::kLineOffsetNotFound) 377 if (*lineNumber == v8::Function::kLineOffsetNotFound || *columnNumber == v8: :Function::kLineOffsetNotFound)
378 return false; 378 return false;
379 *scriptId = toWebCoreStringWithUndefinedOrNullCheck(function->GetScriptId()) ; 379 *scriptId = toWebCoreStringWithUndefinedOrNullCheck(function->GetScriptId()) ;
380 return true; 380 return true;
381 } 381 }
382 382
383 void V8InjectedScriptHost::setBreakpointMethodCustom(const v8::FunctionCallbackI nfo<v8::Value>& args) 383 void V8InjectedScriptHost::debugFunctionMethodCustom(const v8::FunctionCallbackI nfo<v8::Value>& args)
384 { 384 {
385 String scriptId; 385 String scriptId;
386 int lineNumber; 386 int lineNumber;
387 int columnNumber; 387 int columnNumber;
388 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber)) 388 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
389 return; 389 return;
390 390
391 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder()); 391 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
392 host->setBreakpoint(scriptId, lineNumber, columnNumber); 392 host->debugFunction(scriptId, lineNumber, columnNumber);
393 } 393 }
394 394
395 void V8InjectedScriptHost::removeBreakpointMethodCustom(const v8::FunctionCallba ckInfo<v8::Value>& args) 395 void V8InjectedScriptHost::undebugFunctionMethodCustom(const v8::FunctionCallbac kInfo<v8::Value>& args)
396 { 396 {
397 String scriptId; 397 String scriptId;
398 int lineNumber; 398 int lineNumber;
399 int columnNumber; 399 int columnNumber;
400 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber)) 400 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
401 return; 401 return;
402 402
403 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder()); 403 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
404 host->removeBreakpoint(scriptId, lineNumber, columnNumber); 404 host->undebugFunction(scriptId, lineNumber, columnNumber);
405 } 405 }
406 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 ASSERT(args.Length() > 0 && args[0]->IsFunction());
416 v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(args[0]);
yurys 2013/06/17 12:06:14 Please add a note that we rely on IsFunction check
SeRya 2013/06/17 15:08:57 Done.
417 v8::Handle<v8::Value> name = function->GetName();
418 if (!name->IsString() || !v8::Handle<v8::String>::Cast(name)->Length())
419 name = function->GetInferredName();
420
421 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
422 host->monitorFunction(scriptId, lineNumber, columnNumber, toWebCoreStringWit hUndefinedOrNullCheck(name));
423 }
424
425 void V8InjectedScriptHost::unmonitorFunctionMethodCustom(const v8::FunctionCallb ackInfo<v8::Value>& args)
426 {
427 String scriptId;
428 int lineNumber;
429 int columnNumber;
430 if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
431 return;
432
433 InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
434 host->unmonitorFunction(scriptId, lineNumber, columnNumber);
435 }
407 436
408 } // namespace WebCore 437 } // namespace WebCore
409 438
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698