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