| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "Document.h" | 9 #include "Document.h" |
| 10 #include "DOMWindow.h" | 10 #include "DOMWindow.h" |
| 11 #include "Frame.h" | 11 #include "Frame.h" |
| 12 #include "InspectorController.h" | 12 #include "InspectorController.h" |
| 13 #include "Node.h" | 13 #include "Node.h" |
| 14 #include "Page.h" | 14 #include "Page.h" |
| 15 #include "PlatformString.h" | 15 #include "PlatformString.h" |
| 16 #include "SecurityOrigin.h" | 16 #include "SecurityOrigin.h" |
| 17 #include "V8Binding.h" |
| 18 #include "V8CustomBinding.h" |
| 19 #include "V8Proxy.h" |
| 20 #include "V8Utilities.h" |
| 17 #include <wtf/OwnPtr.h> | 21 #include <wtf/OwnPtr.h> |
| 18 #include <wtf/Vector.h> | 22 #include <wtf/Vector.h> |
| 19 #undef LOG | 23 #undef LOG |
| 20 | 24 |
| 21 #include "V8Binding.h" | |
| 22 #include "V8CustomBinding.h" | |
| 23 #include "v8_proxy.h" | |
| 24 #include "v8_utility.h" | |
| 25 #include "base/string_util.h" | 25 #include "base/string_util.h" |
| 26 #include "base/values.h" | 26 #include "base/values.h" |
| 27 #include "webkit/api/public/WebScriptSource.h" | 27 #include "webkit/api/public/WebScriptSource.h" |
| 28 #include "webkit/glue/devtools/bound_object.h" | 28 #include "webkit/glue/devtools/bound_object.h" |
| 29 #include "webkit/glue/devtools/debugger_agent.h" | 29 #include "webkit/glue/devtools/debugger_agent.h" |
| 30 #include "webkit/glue/devtools/devtools_rpc_js.h" | 30 #include "webkit/glue/devtools/devtools_rpc_js.h" |
| 31 #include "webkit/glue/devtools/dom_agent.h" | 31 #include "webkit/glue/devtools/dom_agent.h" |
| 32 #include "webkit/glue/devtools/tools_agent.h" | 32 #include "webkit/glue/devtools/tools_agent.h" |
| 33 #include "webkit/glue/glue_util.h" | 33 #include "webkit/glue/glue_util.h" |
| 34 #include "webkit/glue/webdevtoolsclient_delegate.h" | 34 #include "webkit/glue/webdevtoolsclient_delegate.h" |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 // Debugger commands should be sent using special method. | 142 // Debugger commands should be sent using special method. |
| 143 debugger_command_executor_obj_.set(new RemoteDebuggerCommandExecutor( | 143 debugger_command_executor_obj_.set(new RemoteDebuggerCommandExecutor( |
| 144 delegate, frame, L"RemoteDebuggerCommandExecutor")); | 144 delegate, frame, L"RemoteDebuggerCommandExecutor")); |
| 145 debugger_agent_obj_.set(new JsDebuggerAgentBoundObj( | 145 debugger_agent_obj_.set(new JsDebuggerAgentBoundObj( |
| 146 this, frame, L"RemoteDebuggerAgent")); | 146 this, frame, L"RemoteDebuggerAgent")); |
| 147 dom_agent_obj_.set(new JsDomAgentBoundObj(this, frame, L"RemoteDomAgent")); | 147 dom_agent_obj_.set(new JsDomAgentBoundObj(this, frame, L"RemoteDomAgent")); |
| 148 tools_agent_obj_.set( | 148 tools_agent_obj_.set( |
| 149 new JsToolsAgentBoundObj(this, frame, L"RemoteToolsAgent")); | 149 new JsToolsAgentBoundObj(this, frame, L"RemoteToolsAgent")); |
| 150 | 150 |
| 151 v8::HandleScope scope; | 151 v8::HandleScope scope; |
| 152 v8::Handle<v8::Context> frame_context = V8Proxy::GetContext(frame->frame()); | 152 v8::Handle<v8::Context> frame_context = V8Proxy::context(frame->frame()); |
| 153 dev_tools_host_.set(new BoundObject(frame_context, this, "DevToolsHost")); | 153 dev_tools_host_.set(new BoundObject(frame_context, this, "DevToolsHost")); |
| 154 dev_tools_host_->AddProtoFunction( | 154 dev_tools_host_->AddProtoFunction( |
| 155 "reset", | 155 "reset", |
| 156 WebDevToolsClientImpl::JsReset); | 156 WebDevToolsClientImpl::JsReset); |
| 157 dev_tools_host_->AddProtoFunction( | 157 dev_tools_host_->AddProtoFunction( |
| 158 "addSourceToFrame", | 158 "addSourceToFrame", |
| 159 WebDevToolsClientImpl::JsAddSourceToFrame); | 159 WebDevToolsClientImpl::JsAddSourceToFrame); |
| 160 dev_tools_host_->AddProtoFunction( | 160 dev_tools_host_->AddProtoFunction( |
| 161 "addResourceSourceToFrame", | 161 "addResourceSourceToFrame", |
| 162 WebDevToolsClientImpl::JsAddResourceSourceToFrame); | 162 WebDevToolsClientImpl::JsAddResourceSourceToFrame); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 v8::TryCatch exception_catcher; | 246 v8::TryCatch exception_catcher; |
| 247 | 247 |
| 248 String mime_type = WebCore::toWebCoreStringWithNullCheck(args[0]); | 248 String mime_type = WebCore::toWebCoreStringWithNullCheck(args[0]); |
| 249 if (mime_type.isEmpty() || exception_catcher.HasCaught()) { | 249 if (mime_type.isEmpty() || exception_catcher.HasCaught()) { |
| 250 return v8::Undefined(); | 250 return v8::Undefined(); |
| 251 } | 251 } |
| 252 String source_string = WebCore::toWebCoreStringWithNullCheck(args[1]); | 252 String source_string = WebCore::toWebCoreStringWithNullCheck(args[1]); |
| 253 if (source_string.isEmpty() || exception_catcher.HasCaught()) { | 253 if (source_string.isEmpty() || exception_catcher.HasCaught()) { |
| 254 return v8::Undefined(); | 254 return v8::Undefined(); |
| 255 } | 255 } |
| 256 Node* node = V8Proxy::DOMWrapperToNode<Node>(args[2]); | 256 Node* node = V8Proxy::convertDOMWrapperToNode<Node>(args[2]); |
| 257 if (!node || !node->attached()) { | 257 if (!node || !node->attached()) { |
| 258 return v8::Undefined(); | 258 return v8::Undefined(); |
| 259 } | 259 } |
| 260 | 260 |
| 261 Page* page = V8Proxy::retrieveFrameForEnteredContext()->page(); | 261 Page* page = V8Proxy::retrieveFrameForEnteredContext()->page(); |
| 262 InspectorController* inspectorController = page->inspectorController(); | 262 InspectorController* inspectorController = page->inspectorController(); |
| 263 return WebCore::v8Boolean(inspectorController-> | 263 return WebCore::v8Boolean(inspectorController-> |
| 264 addSourceToFrame(mime_type, source_string, node)); | 264 addSourceToFrame(mime_type, source_string, node)); |
| 265 } | 265 } |
| 266 | 266 |
| 267 // static | 267 // static |
| 268 v8::Handle<v8::Value> WebDevToolsClientImpl::JsAddResourceSourceToFrame( | 268 v8::Handle<v8::Value> WebDevToolsClientImpl::JsAddResourceSourceToFrame( |
| 269 const v8::Arguments& args) { | 269 const v8::Arguments& args) { |
| 270 int resource_id = static_cast<int>(args[0]->NumberValue()); | 270 int resource_id = static_cast<int>(args[0]->NumberValue()); |
| 271 String mime_type = WebCore::toWebCoreStringWithNullCheck(args[1]); | 271 String mime_type = WebCore::toWebCoreStringWithNullCheck(args[1]); |
| 272 if (mime_type.isEmpty()) { | 272 if (mime_type.isEmpty()) { |
| 273 return v8::Undefined(); | 273 return v8::Undefined(); |
| 274 } | 274 } |
| 275 Node* node = V8Proxy::DOMWrapperToNode<Node>(args[2]); | 275 Node* node = V8Proxy::convertDOMWrapperToNode<Node>(args[2]); |
| 276 WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( | 276 WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( |
| 277 v8::External::Cast(*args.Data())->Value()); | 277 v8::External::Cast(*args.Data())->Value()); |
| 278 client->AddResourceSourceToFrame(resource_id, mime_type, node); | 278 client->AddResourceSourceToFrame(resource_id, mime_type, node); |
| 279 return v8::Undefined(); | 279 return v8::Undefined(); |
| 280 } | 280 } |
| 281 | 281 |
| 282 // static | 282 // static |
| 283 v8::Handle<v8::Value> WebDevToolsClientImpl::JsLoaded( | 283 v8::Handle<v8::Value> WebDevToolsClientImpl::JsLoaded( |
| 284 const v8::Arguments& args) { | 284 const v8::Arguments& args) { |
| 285 WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( | 285 WebDevToolsClientImpl* client = static_cast<WebDevToolsClientImpl*>( |
| (...skipping 28 matching lines...) Expand all Loading... |
| 314 v8::Handle<v8::Value> WebDevToolsClientImpl::JsGetPlatform( | 314 v8::Handle<v8::Value> WebDevToolsClientImpl::JsGetPlatform( |
| 315 const v8::Arguments& args) { | 315 const v8::Arguments& args) { |
| 316 #if defined OS_MACOSX | 316 #if defined OS_MACOSX |
| 317 return v8String("mac-leopard"); | 317 return v8String("mac-leopard"); |
| 318 #elif defined OS_LINUX | 318 #elif defined OS_LINUX |
| 319 return v8String("linux"); | 319 return v8String("linux"); |
| 320 #else | 320 #else |
| 321 return v8String("windows"); | 321 return v8String("windows"); |
| 322 #endif | 322 #endif |
| 323 } | 323 } |
| OLD | NEW |