summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webdevtoolsclient_impl.cc
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-01 07:50:04 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-01 07:50:04 +0000
commit10fb687b87f5fde62b3df3e2dd5c5d6f5533d715 (patch)
tree32440c96aec4e6fc8f4e9e11f036e599f3e73388 /webkit/glue/webdevtoolsclient_impl.cc
parentbb965d182303371fece6ca3254689d73a25e5548 (diff)
downloadchromium_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.cc56
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();
}