diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-08 10:17:58 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-08 10:17:58 +0000 |
commit | 991b310449356ca26912506c582b4219dc8cc13f (patch) | |
tree | 3c22bcf7c8408459ed10fee5b7fc2b6e40fc2970 /webkit/glue/webdevtoolsclient_impl.cc | |
parent | 6e005e2d4021df269de3cb53651d129454c1d2b3 (diff) | |
download | chromium_src-991b310449356ca26912506c582b4219dc8cc13f.zip chromium_src-991b310449356ca26912506c582b4219dc8cc13f.tar.gz chromium_src-991b310449356ca26912506c582b4219dc8cc13f.tar.bz2 |
DevTools: Activate inspector window on break / exception.
Review URL: http://codereview.chromium.org/113100
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15632 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webdevtoolsclient_impl.cc')
-rw-r--r-- | webkit/glue/webdevtoolsclient_impl.cc | 53 |
1 files changed, 33 insertions, 20 deletions
diff --git a/webkit/glue/webdevtoolsclient_impl.cc b/webkit/glue/webdevtoolsclient_impl.cc index 62c5f6a..4f654f4 100644 --- a/webkit/glue/webdevtoolsclient_impl.cc +++ b/webkit/glue/webdevtoolsclient_impl.cc @@ -99,28 +99,38 @@ void WebDevToolsClientImpl::InitBoundObject() { v8::Local<v8::Signature> default_signature = v8::Signature::New(host_template_); v8::Local<v8::ObjectTemplate> proto = host_template_->PrototypeTemplate(); + InitProtoFunction(proto, + "addSourceToFrame", + WebDevToolsClientImpl::JsAddSourceToFrame, + default_signature); + InitProtoFunction(proto, + "loaded", + WebDevToolsClientImpl::JsLoaded, + default_signature); + InitProtoFunction(proto, + "search", + WebCore::V8Custom::v8InspectorControllerSearchCallback, + default_signature); + InitProtoFunction(proto, + "activateWindow", + WebDevToolsClientImpl::JsActivateWindow, + default_signature); + host_template_->SetClassName(v8::String::New("DevToolsHost")); +} + +// static +void WebDevToolsClientImpl::InitProtoFunction( + v8::Handle<v8::ObjectTemplate> proto, + const char* name, + v8::InvocationCallback callback, + v8::Handle<v8::Signature> signature) { proto->Set( - v8::String::New("addSourceToFrame"), - v8::FunctionTemplate::New( - WebDevToolsClientImpl::JsAddSourceToFrame, - v8::Handle<v8::Value>(), - default_signature), - static_cast<v8::PropertyAttribute>(v8::DontDelete)); - proto->Set( - v8::String::New("loaded"), - v8::FunctionTemplate::New( - WebDevToolsClientImpl::JsLoaded, - v8::Handle<v8::Value>(), - default_signature), - static_cast<v8::PropertyAttribute>(v8::DontDelete)); - proto->Set( - v8::String::New("search"), + v8::String::New(name), v8::FunctionTemplate::New( - WebDevToolsClientImpl::JsSearch, + callback, v8::Handle<v8::Value>(), - default_signature), + signature), static_cast<v8::PropertyAttribute>(v8::DontDelete)); - host_template_->SetClassName(v8::String::New("DevToolsHost")); } // static @@ -240,7 +250,10 @@ v8::Handle<v8::Value> WebDevToolsClientImpl::JsLoaded( } // static -v8::Handle<v8::Value> WebDevToolsClientImpl::JsSearch( +v8::Handle<v8::Value> WebDevToolsClientImpl::JsActivateWindow( const v8::Arguments& args) { - return WebCore::V8Custom::v8InspectorControllerSearchCallback(args); + Page* page = V8Proxy::retrieveActiveFrame()->page(); + WebDevToolsClientImpl* client = page_to_client_.get(page); + client->delegate_->ActivateWindow(); + return v8::Undefined(); } |