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

Side by Side Diff: content/browser/devtools/ipc_devtools_agent_host.cc

Issue 1155703003: [DevTools] Inline IPCDevToolsAgentHost into subclasses. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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
OLDNEW
(Empty)
1 // Copyright (c) 2013 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/browser/devtools/ipc_devtools_agent_host.h"
6
7 namespace content {
8
9 void IPCDevToolsAgentHost::Attach() {
10 SendMessageToAgent(new DevToolsAgentMsg_Attach(MSG_ROUTING_NONE, GetId()));
11 OnClientAttached(false);
12 }
13
14 void IPCDevToolsAgentHost::Detach() {
15 SendMessageToAgent(new DevToolsAgentMsg_Detach(MSG_ROUTING_NONE));
16 OnClientDetached();
17 }
18
19 bool IPCDevToolsAgentHost::DispatchProtocolMessage(
20 const std::string& message) {
21 if (DevToolsAgentHostImpl::DispatchProtocolMessage(message))
22 return true;
23
24 SendMessageToAgent(new DevToolsAgentMsg_DispatchOnInspectorBackend(
25 MSG_ROUTING_NONE, message));
26 return true;
27 }
28
29 void IPCDevToolsAgentHost::InspectElement(int x, int y) {
30 SendMessageToAgent(new DevToolsAgentMsg_InspectElement(MSG_ROUTING_NONE,
31 GetId(), x, y));
32 }
33
34 IPCDevToolsAgentHost::IPCDevToolsAgentHost()
35 : message_buffer_size_(0) {
36 }
37
38 IPCDevToolsAgentHost::~IPCDevToolsAgentHost() {
39 }
40
41 void IPCDevToolsAgentHost::Reattach() {
42 SendMessageToAgent(new DevToolsAgentMsg_Reattach(
43 MSG_ROUTING_NONE, GetId(), state_cookie_));
44 OnClientAttached(true);
45 }
46
47 void IPCDevToolsAgentHost::ProcessChunkedMessageFromAgent(
48 const DevToolsMessageChunk& chunk) {
49 if (chunk.is_last && !chunk.post_state.empty())
50 state_cookie_ = chunk.post_state;
51
52 if (chunk.is_first && chunk.is_last) {
53 CHECK(message_buffer_size_ == 0);
54 SendMessageToClient(chunk.data);
55 return;
56 }
57
58 if (chunk.is_first) {
59 message_buffer_ = std::string();
60 message_buffer_.reserve(chunk.message_size);
61 message_buffer_size_ = chunk.message_size;
62 }
63
64 CHECK(message_buffer_.size() + chunk.data.size() <=
65 message_buffer_size_);
66 message_buffer_.append(chunk.data);
67
68 if (chunk.is_last) {
69 CHECK(message_buffer_.size() == message_buffer_size_);
70 SendMessageToClient(message_buffer_);
71 message_buffer_ = std::string();
72 message_buffer_size_ = 0;
73 }
74 }
75
76 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/ipc_devtools_agent_host.h ('k') | content/browser/devtools/render_frame_devtools_agent_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698