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

Side by Side Diff: android_webview/native/aw_dev_tools_server.cc

Issue 1852513003: Convert //android_webview to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git is hard Created 4 years, 8 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 2013 The Chromium Authors. All rights reserved. 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 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 "android_webview/native/aw_dev_tools_server.h" 5 #include "android_webview/native/aw_dev_tools_server.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "android_webview/common/aw_content_client.h" 9 #include "android_webview/common/aw_content_client.h"
10 #include "android_webview/native/aw_contents.h" 10 #include "android_webview/native/aw_contents.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 class UnixDomainServerSocketFactory 89 class UnixDomainServerSocketFactory
90 : public DevToolsHttpHandler::ServerSocketFactory { 90 : public DevToolsHttpHandler::ServerSocketFactory {
91 public: 91 public:
92 explicit UnixDomainServerSocketFactory(const std::string& socket_name) 92 explicit UnixDomainServerSocketFactory(const std::string& socket_name)
93 : socket_name_(socket_name), 93 : socket_name_(socket_name),
94 last_tethering_socket_(0) { 94 last_tethering_socket_(0) {
95 } 95 }
96 96
97 private: 97 private:
98 // devtools_http_handler::DevToolsHttpHandler::ServerSocketFactory. 98 // devtools_http_handler::DevToolsHttpHandler::ServerSocketFactory.
99 scoped_ptr<net::ServerSocket> CreateForHttpServer() override { 99 std::unique_ptr<net::ServerSocket> CreateForHttpServer() override {
100 scoped_ptr<net::UnixDomainServerSocket> socket( 100 std::unique_ptr<net::UnixDomainServerSocket> socket(
101 new net::UnixDomainServerSocket( 101 new net::UnixDomainServerSocket(
102 base::Bind(&content::CanUserConnectToDevTools), 102 base::Bind(&content::CanUserConnectToDevTools),
103 true /* use_abstract_namespace */)); 103 true /* use_abstract_namespace */));
104 if (socket->BindAndListen(socket_name_, kBackLog) != net::OK) 104 if (socket->BindAndListen(socket_name_, kBackLog) != net::OK)
105 return scoped_ptr<net::ServerSocket>(); 105 return std::unique_ptr<net::ServerSocket>();
106 106
107 return std::move(socket); 107 return std::move(socket);
108 } 108 }
109 109
110 scoped_ptr<net::ServerSocket> CreateForTethering(std::string* name) override { 110 std::unique_ptr<net::ServerSocket> CreateForTethering(
111 std::string* name) override {
111 *name = base::StringPrintf( 112 *name = base::StringPrintf(
112 kTetheringSocketName, getpid(), ++last_tethering_socket_); 113 kTetheringSocketName, getpid(), ++last_tethering_socket_);
113 scoped_ptr<net::UnixDomainServerSocket> socket( 114 std::unique_ptr<net::UnixDomainServerSocket> socket(
114 new net::UnixDomainServerSocket( 115 new net::UnixDomainServerSocket(
115 base::Bind(&content::CanUserConnectToDevTools), 116 base::Bind(&content::CanUserConnectToDevTools),
116 true /* use_abstract_namespace */)); 117 true /* use_abstract_namespace */));
117 if (socket->BindAndListen(*name, kBackLog) != net::OK) 118 if (socket->BindAndListen(*name, kBackLog) != net::OK)
118 return scoped_ptr<net::ServerSocket>(); 119 return std::unique_ptr<net::ServerSocket>();
119 120
120 return std::move(socket); 121 return std::move(socket);
121 } 122 }
122 123
123 std::string socket_name_; 124 std::string socket_name_;
124 int last_tethering_socket_; 125 int last_tethering_socket_;
125 126
126 DISALLOW_COPY_AND_ASSIGN(UnixDomainServerSocketFactory); 127 DISALLOW_COPY_AND_ASSIGN(UnixDomainServerSocketFactory);
127 }; 128 };
128 129
129 } // namespace 130 } // namespace
130 131
131 namespace android_webview { 132 namespace android_webview {
132 133
133 AwDevToolsServer::AwDevToolsServer() { 134 AwDevToolsServer::AwDevToolsServer() {
134 } 135 }
135 136
136 AwDevToolsServer::~AwDevToolsServer() { 137 AwDevToolsServer::~AwDevToolsServer() {
137 Stop(); 138 Stop();
138 } 139 }
139 140
140 void AwDevToolsServer::Start() { 141 void AwDevToolsServer::Start() {
141 if (devtools_http_handler_) 142 if (devtools_http_handler_)
142 return; 143 return;
143 144
144 scoped_ptr<DevToolsHttpHandler::ServerSocketFactory> factory( 145 std::unique_ptr<DevToolsHttpHandler::ServerSocketFactory> factory(
145 new UnixDomainServerSocketFactory( 146 new UnixDomainServerSocketFactory(
146 base::StringPrintf(kSocketNameFormat, getpid()))); 147 base::StringPrintf(kSocketNameFormat, getpid())));
147 devtools_http_handler_.reset(new DevToolsHttpHandler( 148 devtools_http_handler_.reset(new DevToolsHttpHandler(
148 std::move(factory), 149 std::move(factory),
149 base::StringPrintf(kFrontEndURL, content::GetWebKitRevision().c_str()), 150 base::StringPrintf(kFrontEndURL, content::GetWebKitRevision().c_str()),
150 new AwDevToolsServerDelegate(), base::FilePath(), base::FilePath(), 151 new AwDevToolsServerDelegate(), base::FilePath(), base::FilePath(),
151 GetProduct(), GetUserAgent())); 152 GetProduct(), GetUserAgent()));
152 } 153 }
153 154
154 void AwDevToolsServer::Stop() { 155 void AwDevToolsServer::Stop() {
(...skipping 27 matching lines...) Expand all
182 AwDevToolsServer* devtools_server = 183 AwDevToolsServer* devtools_server =
183 reinterpret_cast<AwDevToolsServer*>(server); 184 reinterpret_cast<AwDevToolsServer*>(server);
184 if (enabled) { 185 if (enabled) {
185 devtools_server->Start(); 186 devtools_server->Start();
186 } else { 187 } else {
187 devtools_server->Stop(); 188 devtools_server->Stop();
188 } 189 }
189 } 190 }
190 191
191 } // namespace android_webview 192 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/native/aw_dev_tools_server.h ('k') | android_webview/native/aw_media_url_interceptor_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698