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 CHROME_BROWSER_ANDROID_DEV_TOOLS_MANAGER_DELEGATE_ANDROID_H_
6#define CHROME_BROWSER_ANDROID_DEV_TOOLS_MANAGER_DELEGATE_ANDROID_H_
7
8#include "base/compiler_specific.h"
9#include "base/macros.h"
10#include "base/memory/scoped_ptr.h"
11#include "chrome/browser/devtools/devtools_network_protocol_handler.h"
12#include "content/public/browser/devtools_manager_delegate.h"
13
14class DevToolsManagerDelegateAndroid : public content::DevToolsManagerDelegate {
15 public:
16  DevToolsManagerDelegateAndroid();
17  virtual ~DevToolsManagerDelegateAndroid();
18
19  // content::DevToolsManagerDelegate implementation.
20  virtual void Inspect(content::BrowserContext* browser_context,
21                       content::DevToolsAgentHost* agent_host) OVERRIDE;
22  virtual void DevToolsAgentStateChanged(content::DevToolsAgentHost* agent_host,
23                                         bool attached) OVERRIDE;
24  virtual base::DictionaryValue* HandleCommand(
25      content::DevToolsAgentHost* agent_host,
26      base::DictionaryValue* command_dict) OVERRIDE;
27  virtual scoped_ptr<content::DevToolsTarget> CreateNewTarget(
28      const GURL& url) OVERRIDE;
29  virtual void EnumerateTargets(TargetCallback callback) OVERRIDE;
30  virtual std::string GetPageThumbnailData(const GURL& url) OVERRIDE;
31
32 private:
33  scoped_ptr<DevToolsNetworkProtocolHandler> network_protocol_handler_;
34
35  DISALLOW_COPY_AND_ASSIGN(DevToolsManagerDelegateAndroid);
36};
37
38#endif  // CHROME_BROWSER_ANDROID_DEV_TOOLS_MANAGER_DELEGATE_ANDROID_H_
39