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 16class 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