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

Side by Side Diff: net/proxy/proxy_resolver_factory_mojo.cc

Issue 1545233002: Convert Pass()→std::move() in //net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « net/proxy/proxy_list.cc ('k') | net/proxy/proxy_resolver_factory_mojo_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "net/proxy/proxy_resolver_factory_mojo.h" 5 #include "net/proxy/proxy_resolver_factory_mojo.h"
6 6
7 #include <set> 7 #include <set>
8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/logging.h" 11 #include "base/logging.h"
11 #include "base/macros.h" 12 #include "base/macros.h"
12 #include "base/stl_util.h" 13 #include "base/stl_util.h"
13 #include "base/threading/thread_checker.h" 14 #include "base/threading/thread_checker.h"
14 #include "base/values.h" 15 #include "base/values.h"
15 #include "mojo/common/common_type_converters.h" 16 #include "mojo/common/common_type_converters.h"
16 #include "mojo/common/url_type_converters.h" 17 #include "mojo/common/url_type_converters.h"
17 #include "mojo/public/cpp/bindings/binding.h" 18 #include "mojo/public/cpp/bindings/binding.h"
(...skipping 12 matching lines...) Expand all
30 namespace net { 31 namespace net {
31 namespace { 32 namespace {
32 33
33 scoped_ptr<base::Value> NetLogErrorCallback( 34 scoped_ptr<base::Value> NetLogErrorCallback(
34 int line_number, 35 int line_number,
35 const base::string16* message, 36 const base::string16* message,
36 NetLogCaptureMode /* capture_mode */) { 37 NetLogCaptureMode /* capture_mode */) {
37 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); 38 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
38 dict->SetInteger("line_number", line_number); 39 dict->SetInteger("line_number", line_number);
39 dict->SetString("message", *message); 40 dict->SetString("message", *message);
40 return dict.Pass(); 41 return std::move(dict);
41 } 42 }
42 43
43 // A mixin that forwards logging to (Bound)NetLog and ProxyResolverErrorObserver 44 // A mixin that forwards logging to (Bound)NetLog and ProxyResolverErrorObserver
44 // and DNS requests to a MojoHostResolverImpl, which is implemented in terms of 45 // and DNS requests to a MojoHostResolverImpl, which is implemented in terms of
45 // a HostResolver. 46 // a HostResolver.
46 template <typename ClientInterface> 47 template <typename ClientInterface>
47 class ClientMixin : public ClientInterface { 48 class ClientMixin : public ClientInterface {
48 public: 49 public:
49 ClientMixin(HostResolver* host_resolver, 50 ClientMixin(HostResolver* host_resolver,
50 ProxyResolverErrorObserver* error_observer, 51 ProxyResolverErrorObserver* error_observer,
(...skipping 18 matching lines...) Expand all
69 auto callback = base::Bind(&NetLogErrorCallback, line_number, &message_str); 70 auto callback = base::Bind(&NetLogErrorCallback, line_number, &message_str);
70 bound_net_log_.AddEvent(NetLog::TYPE_PAC_JAVASCRIPT_ERROR, callback); 71 bound_net_log_.AddEvent(NetLog::TYPE_PAC_JAVASCRIPT_ERROR, callback);
71 if (net_log_) 72 if (net_log_)
72 net_log_->AddGlobalEntry(NetLog::TYPE_PAC_JAVASCRIPT_ERROR, callback); 73 net_log_->AddGlobalEntry(NetLog::TYPE_PAC_JAVASCRIPT_ERROR, callback);
73 if (error_observer_) 74 if (error_observer_)
74 error_observer_->OnPACScriptError(line_number, message_str); 75 error_observer_->OnPACScriptError(line_number, message_str);
75 } 76 }
76 77
77 void ResolveDns(interfaces::HostResolverRequestInfoPtr request_info, 78 void ResolveDns(interfaces::HostResolverRequestInfoPtr request_info,
78 interfaces::HostResolverRequestClientPtr client) override { 79 interfaces::HostResolverRequestClientPtr client) override {
79 host_resolver_.Resolve(request_info.Pass(), client.Pass()); 80 host_resolver_.Resolve(std::move(request_info), std::move(client));
80 } 81 }
81 82
82 protected: 83 protected:
83 bool dns_request_in_progress() { 84 bool dns_request_in_progress() {
84 return host_resolver_.request_in_progress(); 85 return host_resolver_.request_in_progress();
85 } 86 }
86 87
87 private: 88 private:
88 MojoHostResolverImpl host_resolver_; 89 MojoHostResolverImpl host_resolver_;
89 ProxyResolverErrorObserver* const error_observer_; 90 ProxyResolverErrorObserver* const error_observer_;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 resolver_(resolver), 196 resolver_(resolver),
196 url_(url), 197 url_(url),
197 results_(results), 198 results_(results),
198 callback_(callback), 199 callback_(callback),
199 binding_(this) { 200 binding_(this) {
200 interfaces::ProxyResolverRequestClientPtr client_ptr; 201 interfaces::ProxyResolverRequestClientPtr client_ptr;
201 binding_.Bind(mojo::GetProxy(&client_ptr)); 202 binding_.Bind(mojo::GetProxy(&client_ptr));
202 binding_.set_connection_error_handler(base::Bind( 203 binding_.set_connection_error_handler(base::Bind(
203 &ProxyResolverMojo::Job::OnConnectionError, base::Unretained(this))); 204 &ProxyResolverMojo::Job::OnConnectionError, base::Unretained(this)));
204 resolver_->mojo_proxy_resolver_ptr_->GetProxyForUrl(mojo::String::From(url_), 205 resolver_->mojo_proxy_resolver_ptr_->GetProxyForUrl(mojo::String::From(url_),
205 client_ptr.Pass()); 206 std::move(client_ptr));
206 } 207 }
207 208
208 ProxyResolverMojo::Job::~Job() { 209 ProxyResolverMojo::Job::~Job() {
209 DCHECK(thread_checker_.CalledOnValidThread()); 210 DCHECK(thread_checker_.CalledOnValidThread());
210 if (!callback_.is_null()) 211 if (!callback_.is_null())
211 callback_.Run(ERR_PAC_SCRIPT_TERMINATED); 212 callback_.Run(ERR_PAC_SCRIPT_TERMINATED);
212 } 213 }
213 214
214 void ProxyResolverMojo::Job::Cancel() { 215 void ProxyResolverMojo::Job::Cancel() {
215 DCHECK(thread_checker_.CalledOnValidThread()); 216 DCHECK(thread_checker_.CalledOnValidThread());
(...skipping 28 matching lines...) Expand all
244 resolver_->RemoveJob(this); 245 resolver_->RemoveJob(this);
245 callback.Run(error); 246 callback.Run(error);
246 } 247 }
247 248
248 ProxyResolverMojo::ProxyResolverMojo( 249 ProxyResolverMojo::ProxyResolverMojo(
249 interfaces::ProxyResolverPtr resolver_ptr, 250 interfaces::ProxyResolverPtr resolver_ptr,
250 HostResolver* host_resolver, 251 HostResolver* host_resolver,
251 scoped_ptr<base::ScopedClosureRunner> on_delete_callback_runner, 252 scoped_ptr<base::ScopedClosureRunner> on_delete_callback_runner,
252 scoped_ptr<ProxyResolverErrorObserver> error_observer, 253 scoped_ptr<ProxyResolverErrorObserver> error_observer,
253 NetLog* net_log) 254 NetLog* net_log)
254 : mojo_proxy_resolver_ptr_(resolver_ptr.Pass()), 255 : mojo_proxy_resolver_ptr_(std::move(resolver_ptr)),
255 host_resolver_(host_resolver), 256 host_resolver_(host_resolver),
256 error_observer_(error_observer.Pass()), 257 error_observer_(std::move(error_observer)),
257 net_log_(net_log), 258 net_log_(net_log),
258 on_delete_callback_runner_(on_delete_callback_runner.Pass()) { 259 on_delete_callback_runner_(std::move(on_delete_callback_runner)) {
259 mojo_proxy_resolver_ptr_.set_connection_error_handler(base::Bind( 260 mojo_proxy_resolver_ptr_.set_connection_error_handler(base::Bind(
260 &ProxyResolverMojo::OnConnectionError, base::Unretained(this))); 261 &ProxyResolverMojo::OnConnectionError, base::Unretained(this)));
261 } 262 }
262 263
263 ProxyResolverMojo::~ProxyResolverMojo() { 264 ProxyResolverMojo::~ProxyResolverMojo() {
264 DCHECK(thread_checker_.CalledOnValidThread()); 265 DCHECK(thread_checker_.CalledOnValidThread());
265 // All pending requests should have been cancelled. 266 // All pending requests should have been cancelled.
266 DCHECK(pending_jobs_.empty()); 267 DCHECK(pending_jobs_.empty());
267 } 268 }
268 269
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 scoped_ptr<ProxyResolverErrorObserver> error_observer) 332 scoped_ptr<ProxyResolverErrorObserver> error_observer)
332 : ClientMixin<interfaces::ProxyResolverFactoryRequestClient>( 333 : ClientMixin<interfaces::ProxyResolverFactoryRequestClient>(
333 factory->host_resolver_, 334 factory->host_resolver_,
334 error_observer.get(), 335 error_observer.get(),
335 factory->net_log_, 336 factory->net_log_,
336 BoundNetLog()), 337 BoundNetLog()),
337 factory_(factory), 338 factory_(factory),
338 resolver_(resolver), 339 resolver_(resolver),
339 callback_(callback), 340 callback_(callback),
340 binding_(this), 341 binding_(this),
341 error_observer_(error_observer.Pass()) { 342 error_observer_(std::move(error_observer)) {
342 interfaces::ProxyResolverFactoryRequestClientPtr client_ptr; 343 interfaces::ProxyResolverFactoryRequestClientPtr client_ptr;
343 binding_.Bind(mojo::GetProxy(&client_ptr)); 344 binding_.Bind(mojo::GetProxy(&client_ptr));
344 on_delete_callback_runner_ = factory_->mojo_proxy_factory_->CreateResolver( 345 on_delete_callback_runner_ = factory_->mojo_proxy_factory_->CreateResolver(
345 mojo::String::From(pac_script->utf16()), mojo::GetProxy(&resolver_ptr_), 346 mojo::String::From(pac_script->utf16()), mojo::GetProxy(&resolver_ptr_),
346 client_ptr.Pass()); 347 std::move(client_ptr));
347 resolver_ptr_.set_connection_error_handler( 348 resolver_ptr_.set_connection_error_handler(
348 base::Bind(&ProxyResolverFactoryMojo::Job::OnConnectionError, 349 base::Bind(&ProxyResolverFactoryMojo::Job::OnConnectionError,
349 base::Unretained(this))); 350 base::Unretained(this)));
350 binding_.set_connection_error_handler( 351 binding_.set_connection_error_handler(
351 base::Bind(&ProxyResolverFactoryMojo::Job::OnConnectionError, 352 base::Bind(&ProxyResolverFactoryMojo::Job::OnConnectionError,
352 base::Unretained(this))); 353 base::Unretained(this)));
353 } 354 }
354 355
355 void OnConnectionError() { ReportResult(ERR_PAC_SCRIPT_TERMINATED); } 356 void OnConnectionError() { ReportResult(ERR_PAC_SCRIPT_TERMINATED); }
356 357
357 private: 358 private:
358 void ReportResult(int32_t error) override { 359 void ReportResult(int32_t error) override {
359 resolver_ptr_.set_connection_error_handler(mojo::Closure()); 360 resolver_ptr_.set_connection_error_handler(mojo::Closure());
360 binding_.set_connection_error_handler(mojo::Closure()); 361 binding_.set_connection_error_handler(mojo::Closure());
361 if (error == OK) { 362 if (error == OK) {
362 resolver_->reset( 363 resolver_->reset(new ProxyResolverMojo(
363 new ProxyResolverMojo(resolver_ptr_.Pass(), factory_->host_resolver_, 364 std::move(resolver_ptr_), factory_->host_resolver_,
364 on_delete_callback_runner_.Pass(), 365 std::move(on_delete_callback_runner_), std::move(error_observer_),
365 error_observer_.Pass(), factory_->net_log_)); 366 factory_->net_log_));
366 } 367 }
367 on_delete_callback_runner_.reset(); 368 on_delete_callback_runner_.reset();
368 callback_.Run(error); 369 callback_.Run(error);
369 } 370 }
370 371
371 ProxyResolverFactoryMojo* const factory_; 372 ProxyResolverFactoryMojo* const factory_;
372 scoped_ptr<ProxyResolver>* resolver_; 373 scoped_ptr<ProxyResolver>* resolver_;
373 const CompletionCallback callback_; 374 const CompletionCallback callback_;
374 interfaces::ProxyResolverPtr resolver_ptr_; 375 interfaces::ProxyResolverPtr resolver_ptr_;
375 mojo::Binding<interfaces::ProxyResolverFactoryRequestClient> binding_; 376 mojo::Binding<interfaces::ProxyResolverFactoryRequestClient> binding_;
(...skipping 28 matching lines...) Expand all
404 return ERR_PAC_SCRIPT_FAILED; 405 return ERR_PAC_SCRIPT_FAILED;
405 } 406 }
406 request->reset(new Job(this, pac_script, resolver, callback, 407 request->reset(new Job(this, pac_script, resolver, callback,
407 error_observer_factory_.is_null() 408 error_observer_factory_.is_null()
408 ? nullptr 409 ? nullptr
409 : error_observer_factory_.Run())); 410 : error_observer_factory_.Run()));
410 return ERR_IO_PENDING; 411 return ERR_IO_PENDING;
411 } 412 }
412 413
413 } // namespace net 414 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_list.cc ('k') | net/proxy/proxy_resolver_factory_mojo_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698