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 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 scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) OVERRIDE; 31 virtual void EnumerateTargets(TargetCallback callback) OVERRIDE; 32 virtual scoped_ptr<net::StreamListenSocket> CreateSocketForTethering( 33 net::StreamListenSocket::Delegate* delegate, 34 std::string* name) OVERRIDE; 35 devtools_http_handler()36 DevToolsHttpHandler* devtools_http_handler() { 37 return devtools_http_handler_; 38 } 39 40 private: 41 BrowserContext* browser_context_; 42 DevToolsHttpHandler* devtools_http_handler_; 43 44 DISALLOW_COPY_AND_ASSIGN(ShellDevToolsDelegate); 45 }; 46 47 } // namespace content 48 49 #endif // CONTENT_SHELL_BROWSER_SHELL_DEVTOOLS_DELEGATE_H_ 50