1 // Copyright 2013 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_SHELL_BROWSER_SHELL_DEVTOOLS_DELEGATE_H_ 6 #define CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_DELEGATE_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "content/public/browser/devtools_http_handler_delegate.h" 11 #include "content/public/browser/devtools_manager_delegate.h" 12 13 namespace content { 14 15 class BrowserContext; 16 class DevToolsHttpHandler; 17 18 class ShellDevToolsDelegate : public DevToolsHttpHandlerDelegate { 19 public: 20 explicit ShellDevToolsDelegate(BrowserContext* browser_context); 21 virtual ~ShellDevToolsDelegate(); 22 23 // Stops http server. 24 void Stop(); 25 26 // DevToolsHttpHandlerDelegate implementation. 27 virtual std::string GetDiscoveryPageHTML() OVERRIDE; 28 virtual bool BundlesFrontendResources() OVERRIDE; 29 virtual base::FilePath GetDebugFrontendDir() OVERRIDE; 30 virtual scoped_ptr<net::StreamListenSocket> CreateSocketForTethering( 31 net::StreamListenSocket::Delegate* delegate, 32 std::string* name) OVERRIDE; 33 34 DevToolsHttpHandler* devtools_http_handler() { 35 return devtools_http_handler_; 36 } 37 38 private: 39 BrowserContext* browser_context_; 40 DevToolsHttpHandler* devtools_http_handler_; 41 42 DISALLOW_COPY_AND_ASSIGN(ShellDevToolsDelegate); 43 }; 44 45 class ShellDevToolsManagerDelegate : public DevToolsManagerDelegate { 46 public: 47 explicit ShellDevToolsManagerDelegate(BrowserContext* browser_context); 48 virtual ~ShellDevToolsManagerDelegate(); 49 50 // DevToolsManagerDelegate implementation. 51 virtual void Inspect(BrowserContext* browser_context, 52 DevToolsAgentHost* agent_host) OVERRIDE {} 53 virtual void DevToolsAgentStateChanged(DevToolsAgentHost* agent_host, 54 bool attached) OVERRIDE {} 55 virtual base::DictionaryValue* HandleCommand( 56 DevToolsAgentHost* agent_host, 57 base::DictionaryValue* command) OVERRIDE; 58 virtual scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) OVERRIDE; 59 virtual void EnumerateTargets(TargetCallback callback) OVERRIDE; 60 virtual std::string GetPageThumbnailData(const GURL& url) OVERRIDE; 61 62 private: 63 BrowserContext* browser_context_; 64 65 DISALLOW_COPY_AND_ASSIGN(ShellDevToolsManagerDelegate); 66 }; 67 68 } // namespace content 69 70 #endif // CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_DELEGATE_H_ 71