• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_
6 #define CONTENT_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_
7 
8 #include <string>
9 #include <vector>
10 
11 #include "base/callback.h"
12 
13 namespace base {
14 class DictionaryValue;
15 }
16 
17 class GURL;
18 
19 namespace content {
20 
21 class BrowserContext;
22 class DevToolsAgentHost;
23 class DevToolsTarget;
24 
25 class DevToolsManagerDelegate {
26  public:
~DevToolsManagerDelegate()27   virtual ~DevToolsManagerDelegate() {}
28 
29   // Opens the inspector for |agent_host|.
30   virtual void Inspect(BrowserContext* browser_context,
31                        DevToolsAgentHost* agent_host) = 0;
32 
33   virtual void DevToolsAgentStateChanged(DevToolsAgentHost* agent_host,
34                                          bool attached) = 0;
35 
36   // Result ownership is passed to the caller.
37   virtual base::DictionaryValue* HandleCommand(
38       DevToolsAgentHost* agent_host,
39       base::DictionaryValue* command) = 0;
40 
41   // Creates new inspectable target.
42   virtual scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) = 0;
43 
44   typedef std::vector<DevToolsTarget*> TargetList;
45   typedef base::Callback<void(const TargetList&)> TargetCallback;
46 
47   // Requests the list of all inspectable targets.
48   // The caller gets the ownership of the returned targets.
49   virtual void EnumerateTargets(TargetCallback callback) = 0;
50 
51   // Get a thumbnail for a given page. Returns non-empty string iff we have the
52   // thumbnail.
53   virtual std::string GetPageThumbnailData(const GURL& url) = 0;
54 };
55 
56 }  // namespace content
57 
58 #endif  // CONTENT_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_
59