Chromium Code Reviews| 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 |