Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: chrome/browser/devtools/remote_debugging_server.cc

Issue 487013003: Revert "Revert of Replace StreamListenSocket with StreamSocket in HttpServer. (patchset #29 of http… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/devtools/remote_debugging_server.h" 5 #include "chrome/browser/devtools/remote_debugging_server.h"
6 6
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "chrome/browser/devtools/browser_list_tabcontents_provider.h" 8 #include "chrome/browser/devtools/browser_list_tabcontents_provider.h"
9 #include "chrome/browser/ui/webui/devtools_ui.h" 9 #include "chrome/browser/ui/webui/devtools_ui.h"
10 #include "chrome/common/chrome_paths.h" 10 #include "chrome/common/chrome_paths.h"
11 #include "content/public/browser/devtools_http_handler.h" 11 #include "content/public/browser/devtools_http_handler.h"
12 #include "net/socket/tcp_listen_socket.h" 12 #include "net/socket/tcp_server_socket.h"
13
14 namespace {
15
16 class TCPServerSocketFactory
17 : public content::DevToolsHttpHandler::ServerSocketFactory {
18 public:
19 TCPServerSocketFactory(const std::string& address, int port, int backlog)
20 : content::DevToolsHttpHandler::ServerSocketFactory(
21 address, port, backlog) {}
22
23 private:
24 // content::DevToolsHttpHandler::ServerSocketFactory.
25 virtual scoped_ptr<net::ServerSocket> Create() const OVERRIDE {
26 return scoped_ptr<net::ServerSocket>(
27 new net::TCPServerSocket(NULL, net::NetLog::Source()));
28 }
29
30 DISALLOW_COPY_AND_ASSIGN(TCPServerSocketFactory);
31 };
32
33 } // namespace
13 34
14 RemoteDebuggingServer::RemoteDebuggingServer( 35 RemoteDebuggingServer::RemoteDebuggingServer(
15 chrome::HostDesktopType host_desktop_type, 36 chrome::HostDesktopType host_desktop_type,
16 const std::string& ip, 37 const std::string& ip,
17 int port) { 38 int port) {
18 base::FilePath output_dir; 39 base::FilePath output_dir;
19 if (!port) { 40 if (!port) {
20 // The client requested an ephemeral port. Must write the selected 41 // The client requested an ephemeral port. Must write the selected
21 // port to a well-known location in the profile directory to 42 // port to a well-known location in the profile directory to
22 // bootstrap the connection process. 43 // bootstrap the connection process.
23 bool result = PathService::Get(chrome::DIR_USER_DATA, &output_dir); 44 bool result = PathService::Get(chrome::DIR_USER_DATA, &output_dir);
24 DCHECK(result); 45 DCHECK(result);
25 } 46 }
26 47
48 scoped_ptr<content::DevToolsHttpHandler::ServerSocketFactory> factory(
49 new TCPServerSocketFactory(ip, port, 1));
27 devtools_http_handler_ = content::DevToolsHttpHandler::Start( 50 devtools_http_handler_ = content::DevToolsHttpHandler::Start(
28 new net::TCPListenSocketFactory(ip, port), 51 factory.Pass(),
29 "", 52 "",
30 new BrowserListTabContentsProvider(host_desktop_type), 53 new BrowserListTabContentsProvider(host_desktop_type),
31 output_dir); 54 output_dir);
32 } 55 }
33 56
34 RemoteDebuggingServer::~RemoteDebuggingServer() { 57 RemoteDebuggingServer::~RemoteDebuggingServer() {
35 devtools_http_handler_->Stop(); 58 devtools_http_handler_->Stop();
36 } 59 }
OLDNEW
« no previous file with comments | « chrome/browser/devtools/device/android_web_socket.cc ('k') | chrome/test/chromedriver/net/net_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698