diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-01 07:50:04 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-01 07:50:04 +0000 |
commit | 10fb687b87f5fde62b3df3e2dd5c5d6f5533d715 (patch) | |
tree | 32440c96aec4e6fc8f4e9e11f036e599f3e73388 /webkit/glue/webdevtoolsclient_impl.cc | |
parent | bb965d182303371fece6ca3254689d73a25e5548 (diff) | |
download | chromium_src-10fb687b87f5fde62b3df3e2dd5c5d6f5533d715.zip chromium_src-10fb687b87f5fde62b3df3e2dd5c5d6f5533d715.tar.gz chromium_src-10fb687b87f5fde62b3df3e2dd5c5d6f5533d715.tar.bz2 |
DevTools: Introduce docked version of DevTools.
Review URL: http://codereview.chromium.org/149071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19713 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webdevtoolsclient_impl.cc')
-rw-r--r-- | webkit/glue/webdevtoolsclient_impl.cc | 56 |
1 files changed, 46 insertions, 10 deletions
diff --git a/webkit/glue/webdevtoolsclient_impl.cc b/webkit/glue/webdevtoolsclient_impl.cc index 16d19c5..9f92d53 100644 --- a/webkit/glue/webdevtoolsclient_impl.cc +++ b/webkit/glue/webdevtoolsclient_impl.cc @@ -167,11 +167,20 @@ WebDevToolsClientImpl::WebDevToolsClientImpl( "search", WebCore::V8Custom::v8InspectorControllerSearchCallback); dev_tools_host_->AddProtoFunction( + "getPlatform", + WebDevToolsClientImpl::JsGetPlatform); + dev_tools_host_->AddProtoFunction( "activateWindow", WebDevToolsClientImpl::JsActivateWindow); dev_tools_host_->AddProtoFunction( - "getPlatform", - WebDevToolsClientImpl::JsGetPlatform); + "closeWindow", + WebDevToolsClientImpl::JsCloseWindow); + dev_tools_host_->AddProtoFunction( + "dockWindow", + WebDevToolsClientImpl::JsDockWindow); + dev_tools_host_->AddProtoFunction( + "undockWindow", + WebDevToolsClientImpl::JsUndockWindow); dev_tools_host_->Build(); } @@ -302,6 +311,18 @@ v8::Handle<v8::Value> WebDevToolsClientImpl::JsLoaded( } // static +v8::Handle<v8::Value> WebDevToolsClientImpl::JsGetPlatform( + const v8::Arguments& args) { +#if defined OS_MACOSX + return v8String("mac-leopard"); +#elif defined OS_LINUX + return v8String("linux"); +#else + return v8String("windows"); +#endif +} + +// static v8::Handle<v8::Value> WebDevToolsClientImpl::JsActivateWindow( const v8::Arguments& args) { WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( @@ -311,13 +332,28 @@ v8::Handle<v8::Value> WebDevToolsClientImpl::JsActivateWindow( } // static -v8::Handle<v8::Value> WebDevToolsClientImpl::JsGetPlatform( +v8::Handle<v8::Value> WebDevToolsClientImpl::JsCloseWindow( const v8::Arguments& args) { -#if defined OS_MACOSX - return v8String("mac-leopard"); -#elif defined OS_LINUX - return v8String("linux"); -#else - return v8String("windows"); -#endif + WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( + v8::External::Cast(*args.Data())->Value()); + client->delegate_->CloseWindow(); + return v8::Undefined(); +} + +// static +v8::Handle<v8::Value> WebDevToolsClientImpl::JsDockWindow( + const v8::Arguments& args) { + WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( + v8::External::Cast(*args.Data())->Value()); + client->delegate_->DockWindow(); + return v8::Undefined(); +} + +// static +v8::Handle<v8::Value> WebDevToolsClientImpl::JsUndockWindow( + const v8::Arguments& args) { + WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( + v8::External::Cast(*args.Data())->Value()); + client->delegate_->UndockWindow(); + return v8::Undefined(); } |