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 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_SHELL_SHELL_DEVTOOLS_DELEGATE_H_ 6 #define CONTENT_SHELL_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 12 namespace content { 13 14 class BrowserContext; 15 class DevToolsHttpHandler; 16 17 class ShellDevToolsDelegate : public DevToolsHttpHandlerDelegate { 18 public: 19 explicit ShellDevToolsDelegate(BrowserContext* browser_context); 20 virtual ~ShellDevToolsDelegate(); 21 22 // Stops http server. 23 void Stop(); 24 25 // DevToolsHttpProtocolHandler::Delegate overrides. 26 virtual std::string GetDiscoveryPageHTML() OVERRIDE; 27 virtual bool BundlesFrontendResources() OVERRIDE; 28 virtual base::FilePath GetDebugFrontendDir() OVERRIDE; 29 virtual std::string GetPageThumbnailData(const GURL& url) OVERRIDE; 30 virtual RenderViewHost* CreateNewTarget() OVERRIDE; 31 virtual TargetType GetTargetType(RenderViewHost*) OVERRIDE; 32 virtual std::string GetViewDescription(content::RenderViewHost*) OVERRIDE; 33 virtual scoped_refptr<net::StreamListenSocket> CreateSocketForTethering( 34 net::StreamListenSocket::Delegate* delegate, 35 std::string* name) OVERRIDE; 36 37 DevToolsHttpHandler* devtools_http_handler() { 38 return devtools_http_handler_; 39 } 40 41 private: 42 BrowserContext* browser_context_; 43 DevToolsHttpHandler* devtools_http_handler_; 44 45 DISALLOW_COPY_AND_ASSIGN(ShellDevToolsDelegate); 46 }; 47 48 } // namespace content 49 50 #endif // CONTENT_SHELL_SHELL_DEVTOOLS_DELEGATE_H_ 51