OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_ |
6 #define CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_ | 6 #define CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/files/file_path.h" | 11 #include "base/files/file_path.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "net/socket/stream_listen_socket.h" | 13 #include "net/socket/stream_listen_socket.h" |
14 | 14 |
15 class GURL; | 15 class GURL; |
16 | 16 |
17 namespace content { | 17 namespace content { |
18 | 18 |
19 class RenderViewHost; | 19 class DevToolsTarget; |
20 | 20 |
21 class DevToolsHttpHandlerDelegate { | 21 class DevToolsHttpHandlerDelegate { |
22 public: | 22 public: |
23 enum TargetType { | |
24 kTargetTypeTab = 0, | |
25 kTargetTypeOther, | |
26 }; | |
27 | |
28 virtual ~DevToolsHttpHandlerDelegate() {} | 23 virtual ~DevToolsHttpHandlerDelegate() {} |
29 | 24 |
30 // Should return discovery page HTML that should list available tabs | 25 // Should return discovery page HTML that should list available tabs |
31 // and provide attach links. | 26 // and provide attach links. |
32 virtual std::string GetDiscoveryPageHTML() = 0; | 27 virtual std::string GetDiscoveryPageHTML() = 0; |
33 | 28 |
34 // Returns true if and only if frontend resources are bundled. | 29 // Returns true if and only if frontend resources are bundled. |
35 virtual bool BundlesFrontendResources() = 0; | 30 virtual bool BundlesFrontendResources() = 0; |
36 | 31 |
37 // Returns path to the front-end files on the local filesystem for debugging. | 32 // Returns path to the front-end files on the local filesystem for debugging. |
38 virtual base::FilePath GetDebugFrontendDir() = 0; | 33 virtual base::FilePath GetDebugFrontendDir() = 0; |
39 | 34 |
40 // Get a thumbnail for a given page. Returns non-empty string iff we have the | 35 // Get a thumbnail for a given page. Returns non-empty string iff we have the |
41 // thumbnail. | 36 // thumbnail. |
42 virtual std::string GetPageThumbnailData(const GURL& url) = 0; | 37 virtual std::string GetPageThumbnailData(const GURL& url) = 0; |
43 | 38 |
44 // Creates new inspectable target and returns its render view host. | 39 // Creates new inspectable target. |
45 virtual RenderViewHost* CreateNewTarget() = 0; | 40 virtual scoped_ptr<DevToolsTarget> CreateNewTarget() = 0; |
46 | 41 |
47 // Returns the type of the target. | 42 typedef std::vector<DevToolsTarget*> TargetList; |
48 virtual TargetType GetTargetType(RenderViewHost*) = 0; | 43 typedef base::Callback<void(const TargetList&)> TargetCallback; |
49 | 44 |
50 // Provides the delegate with an ability to supply a description for views. | 45 // Requests the list of all inspectable targets. |
51 virtual std::string GetViewDescription(content::RenderViewHost*) = 0; | 46 // The caller gets the ownership of the returned targets. |
| 47 virtual void EnumerateTargets(TargetCallback callback) = 0; |
52 | 48 |
53 // Creates named socket for reversed tethering implementation (used with | 49 // Creates named socket for reversed tethering implementation (used with |
54 // remote debugging, primarily for mobile). | 50 // remote debugging, primarily for mobile). |
55 virtual scoped_ptr<net::StreamListenSocket> CreateSocketForTethering( | 51 virtual scoped_ptr<net::StreamListenSocket> CreateSocketForTethering( |
56 net::StreamListenSocket::Delegate* delegate, | 52 net::StreamListenSocket::Delegate* delegate, |
57 std::string* name) = 0; | 53 std::string* name) = 0; |
58 }; | 54 }; |
59 | 55 |
60 } // namespace content | 56 } // namespace content |
61 | 57 |
62 #endif // CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_ | 58 #endif // CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_ |
OLD | NEW |