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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
diff --git a/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp b/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
index b9e1381af474f559b1b9cfc42bae1c72713e85a1..dcf5c0a6dee09576b68037e90e80c58479a76466 100644
--- a/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
+++ b/Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
@@ -380,7 +380,7 @@ static bool getFunctionLocation(const v8::FunctionCallbackInfo<v8::Value>& args,
return true;
}
-void V8InjectedScriptHost::setBreakpointMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
+void V8InjectedScriptHost::debugFunctionMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
{
String scriptId;
int lineNumber;
@@ -389,10 +389,10 @@ void V8InjectedScriptHost::setBreakpointMethodCustom(const v8::FunctionCallbackI
return;
InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
- host->setBreakpoint(scriptId, lineNumber, columnNumber);
+ host->debugFunction(scriptId, lineNumber, columnNumber);
}
-void V8InjectedScriptHost::removeBreakpointMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
+void V8InjectedScriptHost::undebugFunctionMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
{
String scriptId;
int lineNumber;
@@ -401,9 +401,38 @@ void V8InjectedScriptHost::removeBreakpointMethodCustom(const v8::FunctionCallba
return;
InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
- host->removeBreakpoint(scriptId, lineNumber, columnNumber);
+ host->undebugFunction(scriptId, lineNumber, columnNumber);
}
+void V8InjectedScriptHost::monitorFunctionMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
+{
+ String scriptId;
+ int lineNumber;
+ int columnNumber;
+ if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
+ return;
+
+ ASSERT(args.Length() > 0 && args[0]->IsFunction());
+ 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.
+ v8::Handle<v8::Value> name = function->GetName();
+ if (!name->IsString() || !v8::Handle<v8::String>::Cast(name)->Length())
+ name = function->GetInferredName();
+
+ InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
+ host->monitorFunction(scriptId, lineNumber, columnNumber, toWebCoreStringWithUndefinedOrNullCheck(name));
+}
+
+void V8InjectedScriptHost::unmonitorFunctionMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
+{
+ String scriptId;
+ int lineNumber;
+ int columnNumber;
+ if (!getFunctionLocation(args, &scriptId, &lineNumber, &columnNumber))
+ return;
+
+ InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
+ host->unmonitorFunction(scriptId, lineNumber, columnNumber);
+}
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698