1// Copyright 2014 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#ifndef CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_FRONTEND_HOST_IMPL_H_
6#define CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_FRONTEND_HOST_IMPL_H_
7
8#include "content/public/browser/devtools_frontend_host.h"
9#include "content/public/browser/web_contents_observer.h"
10
11namespace content {
12
13class DevToolsFrontendHostImpl : public DevToolsFrontendHost,
14                                 public WebContentsObserver {
15 public:
16  DevToolsFrontendHostImpl(RenderViewHost* frontend_rvh,
17                           DevToolsFrontendHost::Delegate* delegate);
18  virtual ~DevToolsFrontendHostImpl();
19
20 private:
21  // WebContentsObserver overrides.
22  virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
23
24  void OnDispatchOnInspectorBackend(const std::string& message);
25  void OnDispatchOnEmbedder(const std::string& message);
26
27  DevToolsFrontendHost::Delegate* delegate_;
28  DISALLOW_COPY_AND_ASSIGN(DevToolsFrontendHostImpl);
29};
30
31}  // namespace content
32
33#endif  // CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_FRONTEND_HOST_IMPL_H_
34