forwarding_agent_host.cc revision 03b57e008b61dfcb1fbad3aea950ae0e001748b0
1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/browser/devtools/forwarding_agent_host.h"
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/browser/devtools/devtools_manager_impl.h"
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace content {
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ForwardingAgentHost::ForwardingAgentHost(
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    DevToolsExternalAgentProxyDelegate* delegate)
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      : delegate_(delegate) {
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ForwardingAgentHost::~ForwardingAgentHost() {
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ForwardingAgentHost::DispatchOnClientHost(const std::string& message) {
2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  SendMessageToClient(message);
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ForwardingAgentHost::ConnectionClosed() {
2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  HostClosed();
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ForwardingAgentHost::Attach() {
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  delegate_->Attach(this);
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ForwardingAgentHost::Detach() {
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  delegate_->Detach();
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)void ForwardingAgentHost::DispatchProtocolMessage(
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    const std::string& message) {
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  delegate_->SendMessageToBackend(message);
38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // content
41