1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/renderer/devtools/devtools_client.h" 6 7 #include "base/command_line.h" 8 #include "base/message_loop/message_loop.h" 9 #include "base/strings/utf_string_conversions.h" 10 #include "content/common/devtools_messages.h" 11 #include "content/public/common/content_switches.h" 12 #include "content/public/common/url_constants.h" 13 #include "content/renderer/render_thread_impl.h" 14 #include "content/renderer/render_view_impl.h" 15 #include "third_party/WebKit/public/platform/WebFloatPoint.h" 16 #include "third_party/WebKit/public/platform/WebString.h" 17 #include "third_party/WebKit/public/web/WebDevToolsFrontend.h" 18 #include "ui/base/ui_base_switches.h" 19 20 using blink::WebDevToolsFrontend; 21 using blink::WebString; 22 23 namespace content { 24 DevToolsClient(RenderViewImpl * render_view)25DevToolsClient::DevToolsClient(RenderViewImpl* render_view) 26 : RenderViewObserver(render_view) { 27 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 28 web_tools_frontend_.reset( 29 WebDevToolsFrontend::create( 30 render_view->webview(), 31 this, 32 base::ASCIIToUTF16( 33 command_line.GetSwitchValueASCII(switches::kLang)))); 34 } 35 ~DevToolsClient()36DevToolsClient::~DevToolsClient() { 37 } 38 sendMessageToBackend(const WebString & message)39void DevToolsClient::sendMessageToBackend(const WebString& message) { 40 Send(new DevToolsAgentMsg_DispatchOnInspectorBackend(routing_id(), 41 message.utf8())); 42 } 43 sendMessageToEmbedder(const WebString & message)44void DevToolsClient::sendMessageToEmbedder(const WebString& message) { 45 Send(new DevToolsHostMsg_DispatchOnEmbedder(routing_id(), 46 message.utf8())); 47 } 48 isUnderTest()49bool DevToolsClient::isUnderTest() { 50 return RenderThreadImpl::current()->layout_test_mode(); 51 } 52 53 } // namespace content 54