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 CHROME_BROWSER_DEVTOOLS_BROWSER_LIST_TABCONTENTS_PROVIDER_H_ 6 #define CHROME_BROWSER_DEVTOOLS_BROWSER_LIST_TABCONTENTS_PROVIDER_H_ 7 8 #include <set> 9 #include <string> 10 11 #include "base/basictypes.h" 12 #include "base/compiler_specific.h" 13 #include "chrome/browser/ui/host_desktop.h" 14 #include "content/public/browser/devtools_http_handler_delegate.h" 15 16 class BrowserListTabContentsProvider 17 : public content::DevToolsHttpHandlerDelegate { 18 public: 19 static void EnableTethering(); 20 21 explicit BrowserListTabContentsProvider( 22 chrome::HostDesktopType host_desktop_type); 23 virtual ~BrowserListTabContentsProvider(); 24 25 // DevToolsHttpProtocolHandler::Delegate overrides. 26 virtual std::string GetDiscoveryPageHTML() OVERRIDE; 27 virtual bool BundlesFrontendResources() OVERRIDE; 28 virtual base::FilePath GetDebugFrontendDir() OVERRIDE; 29 virtual scoped_ptr<net::StreamListenSocket> CreateSocketForTethering( 30 net::StreamListenSocket::Delegate* delegate, 31 std::string* name) OVERRIDE; 32 33 private: 34 chrome::HostDesktopType host_desktop_type_; 35 int last_tethering_port_; 36 DISALLOW_COPY_AND_ASSIGN(BrowserListTabContentsProvider); 37 }; 38 39 #endif // CHROME_BROWSER_DEVTOOLS_BROWSER_LIST_TABCONTENTS_PROVIDER_H_ 40