Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(583)

Side by Side Diff: chrome/renderer/devtools_client.cc

Issue 6151011: Introduce RenderView::Observer interface so that RenderView doesn't have to k... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "chrome/renderer/devtools_client.h" 5 #include "chrome/renderer/devtools_client.h"
6 6
7 #include "app/app_switches.h" 7 #include "app/app_switches.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/common/chrome_switches.h" 10 #include "chrome/common/chrome_switches.h"
11 #include "chrome/common/devtools_messages.h" 11 #include "chrome/common/devtools_messages.h"
12 #include "chrome/common/render_messages.h" 12 #include "chrome/common/render_messages.h"
13 #include "chrome/renderer/render_thread.h" 13 #include "chrome/renderer/render_thread.h"
14 #include "chrome/renderer/render_view.h"
15 #include "third_party/WebKit/WebKit/chromium/public/WebDevToolsFrontend.h" 14 #include "third_party/WebKit/WebKit/chromium/public/WebDevToolsFrontend.h"
16 #include "third_party/WebKit/WebKit/chromium/public/WebString.h" 15 #include "third_party/WebKit/WebKit/chromium/public/WebString.h"
17 16
18 using WebKit::WebDevToolsFrontend; 17 using WebKit::WebDevToolsFrontend;
19 using WebKit::WebString; 18 using WebKit::WebString;
20 19
21 DevToolsClient::DevToolsClient(RenderView* view) 20 DevToolsClient::DevToolsClient(RenderView* render_view)
22 : render_view_(view) { 21 : RenderView::Observer(render_view) {
23 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 22 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
24 web_tools_frontend_.reset( 23 web_tools_frontend_.reset(
25 WebDevToolsFrontend::create( 24 WebDevToolsFrontend::create(
26 view->webview(), 25 render_view->webview(),
27 this, 26 this,
28 ASCIIToUTF16(command_line.GetSwitchValueASCII(switches::kLang)))); 27 ASCIIToUTF16(command_line.GetSwitchValueASCII(switches::kLang))));
29 } 28 }
30 29
31 DevToolsClient::~DevToolsClient() { 30 DevToolsClient::~DevToolsClient() {
32 } 31 }
33 32
34 void DevToolsClient::Send(const IPC::Message& tools_agent_message) { 33 void DevToolsClient::SendToAgent(const IPC::Message& tools_agent_message) {
35 render_view_->Send(new ViewHostMsg_ForwardToDevToolsAgent( 34 Send(new ViewHostMsg_ForwardToDevToolsAgent(
36 render_view_->routing_id(), 35 routing_id(), tools_agent_message));
37 tools_agent_message));
38 } 36 }
39 37
40 bool DevToolsClient::OnMessageReceived(const IPC::Message& message) { 38 bool DevToolsClient::OnMessageReceived(const IPC::Message& message) {
41 DCHECK(RenderThread::current()->message_loop() == MessageLoop::current()); 39 DCHECK(RenderThread::current()->message_loop() == MessageLoop::current());
42 40
43 bool handled = true; 41 bool handled = true;
44 IPC_BEGIN_MESSAGE_MAP(DevToolsClient, message) 42 IPC_BEGIN_MESSAGE_MAP(DevToolsClient, message)
45 IPC_MESSAGE_HANDLER(DevToolsClientMsg_DispatchOnInspectorFrontend, 43 IPC_MESSAGE_HANDLER(DevToolsClientMsg_DispatchOnInspectorFrontend,
46 OnDispatchOnInspectorFrontend) 44 OnDispatchOnInspectorFrontend)
47 IPC_MESSAGE_UNHANDLED(handled = false); 45 IPC_MESSAGE_UNHANDLED(handled = false);
48 IPC_END_MESSAGE_MAP() 46 IPC_END_MESSAGE_MAP()
49 47
50 return handled; 48 return handled;
51 } 49 }
52 50
53 void DevToolsClient::sendFrontendLoaded() { 51 void DevToolsClient::sendFrontendLoaded() {
54 Send(DevToolsAgentMsg_FrontendLoaded()); 52 SendToAgent(DevToolsAgentMsg_FrontendLoaded());
55 } 53 }
56 54
57 void DevToolsClient::sendMessageToBackend(const WebString& message) { 55 void DevToolsClient::sendMessageToBackend(const WebString& message) {
58 Send(DevToolsAgentMsg_DispatchOnInspectorBackend(message.utf8())); 56 SendToAgent(DevToolsAgentMsg_DispatchOnInspectorBackend(message.utf8()));
59 } 57 }
60 58
61 void DevToolsClient::sendDebuggerCommandToAgent(const WebString& command) { 59 void DevToolsClient::sendDebuggerCommandToAgent(const WebString& command) {
62 Send(DevToolsAgentMsg_DebuggerCommand(command.utf8())); 60 SendToAgent(DevToolsAgentMsg_DebuggerCommand(command.utf8()));
63 } 61 }
64 62
65 void DevToolsClient::activateWindow() { 63 void DevToolsClient::activateWindow() {
66 render_view_->Send(new ViewHostMsg_ActivateDevToolsWindow( 64 Send(new ViewHostMsg_ActivateDevToolsWindow(routing_id()));
67 render_view_->routing_id()));
68 } 65 }
69 66
70 void DevToolsClient::closeWindow() { 67 void DevToolsClient::closeWindow() {
71 render_view_->Send(new ViewHostMsg_CloseDevToolsWindow( 68 Send(new ViewHostMsg_CloseDevToolsWindow(routing_id()));
72 render_view_->routing_id()));
73 } 69 }
74 70
75 void DevToolsClient::requestDockWindow() { 71 void DevToolsClient::requestDockWindow() {
76 render_view_->Send(new ViewHostMsg_RequestDockDevToolsWindow( 72 Send(new ViewHostMsg_RequestDockDevToolsWindow(routing_id()));
77 render_view_->routing_id()));
78 } 73 }
79 74
80 void DevToolsClient::requestUndockWindow() { 75 void DevToolsClient::requestUndockWindow() {
81 render_view_->Send(new ViewHostMsg_RequestUndockDevToolsWindow( 76 Send(new ViewHostMsg_RequestUndockDevToolsWindow(routing_id()));
82 render_view_->routing_id()));
83 } 77 }
84 78
85 void DevToolsClient::OnDispatchOnInspectorFrontend( 79 void DevToolsClient::OnDispatchOnInspectorFrontend(const std::string& message) {
86 const std::string& message) { 80 web_tools_frontend_->dispatchOnInspectorFrontend(
87 web_tools_frontend_->dispatchOnInspectorFrontend( 81 WebString::fromUTF8(message));
88 WebString::fromUTF8(message));
89 } 82 }
90 83
91 bool DevToolsClient::shouldHideScriptsPanel() { 84 bool DevToolsClient::shouldHideScriptsPanel() {
92 CommandLine* cmd = CommandLine::ForCurrentProcess(); 85 CommandLine* cmd = CommandLine::ForCurrentProcess();
93 return cmd->HasSwitch(switches::kRemoteShellPort); 86 return cmd->HasSwitch(switches::kRemoteShellPort);
94 } 87 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698