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

Side by Side Diff: net/websockets/websocket_stream.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
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 "net/websockets/websocket_stream.h" 5 #include "net/websockets/websocket_stream.h"
6 6
7 #include <utility>
8
7 #include "base/logging.h" 9 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
9 #include "base/metrics/histogram_macros.h" 11 #include "base/metrics/histogram_macros.h"
10 #include "base/metrics/sparse_histogram.h" 12 #include "base/metrics/sparse_histogram.h"
11 #include "base/strings/stringprintf.h" 13 #include "base/strings/stringprintf.h"
12 #include "base/time/time.h" 14 #include "base/time/time.h"
13 #include "base/timer/timer.h" 15 #include "base/timer/timer.h"
14 #include "net/base/load_flags.h" 16 #include "net/base/load_flags.h"
15 #include "net/http/http_request_headers.h" 17 #include "net/http/http_request_headers.h"
16 #include "net/http/http_response_headers.h" 18 #include "net/http/http_response_headers.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 public: 83 public:
82 StreamRequestImpl( 84 StreamRequestImpl(
83 const GURL& url, 85 const GURL& url,
84 const URLRequestContext* context, 86 const URLRequestContext* context,
85 const url::Origin& origin, 87 const url::Origin& origin,
86 scoped_ptr<WebSocketStream::ConnectDelegate> connect_delegate, 88 scoped_ptr<WebSocketStream::ConnectDelegate> connect_delegate,
87 scoped_ptr<WebSocketHandshakeStreamCreateHelper> create_helper) 89 scoped_ptr<WebSocketHandshakeStreamCreateHelper> create_helper)
88 : delegate_(new Delegate(this)), 90 : delegate_(new Delegate(this)),
89 url_request_( 91 url_request_(
90 context->CreateRequest(url, DEFAULT_PRIORITY, delegate_.get())), 92 context->CreateRequest(url, DEFAULT_PRIORITY, delegate_.get())),
91 connect_delegate_(connect_delegate.Pass()), 93 connect_delegate_(std::move(connect_delegate)),
92 create_helper_(create_helper.release()) { 94 create_helper_(create_helper.release()) {
93 create_helper_->set_failure_message(&failure_message_); 95 create_helper_->set_failure_message(&failure_message_);
94 HttpRequestHeaders headers; 96 HttpRequestHeaders headers;
95 headers.SetHeader(websockets::kUpgrade, websockets::kWebSocketLowercase); 97 headers.SetHeader(websockets::kUpgrade, websockets::kWebSocketLowercase);
96 headers.SetHeader(HttpRequestHeaders::kConnection, websockets::kUpgrade); 98 headers.SetHeader(HttpRequestHeaders::kConnection, websockets::kUpgrade);
97 headers.SetHeader(HttpRequestHeaders::kOrigin, origin.Serialize()); 99 headers.SetHeader(HttpRequestHeaders::kOrigin, origin.Serialize());
98 headers.SetHeader(websockets::kSecWebSocketVersion, 100 headers.SetHeader(websockets::kSecWebSocketVersion,
99 websockets::kSupportedVersion); 101 websockets::kSupportedVersion);
100 url_request_->SetExtraRequestHeaders(headers); 102 url_request_->SetExtraRequestHeaders(headers);
101 103
102 // This passes the ownership of |create_helper_| to |url_request_|. 104 // This passes the ownership of |create_helper_| to |url_request_|.
103 url_request_->SetUserData( 105 url_request_->SetUserData(
104 WebSocketHandshakeStreamBase::CreateHelper::DataKey(), 106 WebSocketHandshakeStreamBase::CreateHelper::DataKey(),
105 create_helper_); 107 create_helper_);
106 url_request_->SetLoadFlags(LOAD_DISABLE_CACHE | LOAD_BYPASS_CACHE); 108 url_request_->SetLoadFlags(LOAD_DISABLE_CACHE | LOAD_BYPASS_CACHE);
107 } 109 }
108 110
109 // Destroying this object destroys the URLRequest, which cancels the request 111 // Destroying this object destroys the URLRequest, which cancels the request
110 // and so terminates the handshake if it is incomplete. 112 // and so terminates the handshake if it is incomplete.
111 ~StreamRequestImpl() override {} 113 ~StreamRequestImpl() override {}
112 114
113 void Start(scoped_ptr<base::Timer> timer) { 115 void Start(scoped_ptr<base::Timer> timer) {
114 DCHECK(timer); 116 DCHECK(timer);
115 base::TimeDelta timeout(base::TimeDelta::FromSeconds( 117 base::TimeDelta timeout(base::TimeDelta::FromSeconds(
116 kHandshakeTimeoutIntervalInSeconds)); 118 kHandshakeTimeoutIntervalInSeconds));
117 timer_ = timer.Pass(); 119 timer_ = std::move(timer);
118 timer_->Start(FROM_HERE, timeout, 120 timer_->Start(FROM_HERE, timeout,
119 base::Bind(&StreamRequestImpl::OnTimeout, 121 base::Bind(&StreamRequestImpl::OnTimeout,
120 base::Unretained(this))); 122 base::Unretained(this)));
121 url_request_->Start(); 123 url_request_->Start();
122 } 124 }
123 125
124 void PerformUpgrade() { 126 void PerformUpgrade() {
125 DCHECK(timer_); 127 DCHECK(timer_);
126 timer_->Stop(); 128 timer_->Stop();
127 connect_delegate_->OnSuccess(create_helper_->Upgrade()); 129 connect_delegate_->OnSuccess(create_helper_->Upgrade());
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 scoped_ptr<WebSocketStreamRequest> WebSocketStream::CreateAndConnectStream( 331 scoped_ptr<WebSocketStreamRequest> WebSocketStream::CreateAndConnectStream(
330 const GURL& socket_url, 332 const GURL& socket_url,
331 const std::vector<std::string>& requested_subprotocols, 333 const std::vector<std::string>& requested_subprotocols,
332 const url::Origin& origin, 334 const url::Origin& origin,
333 URLRequestContext* url_request_context, 335 URLRequestContext* url_request_context,
334 const BoundNetLog& net_log, 336 const BoundNetLog& net_log,
335 scoped_ptr<ConnectDelegate> connect_delegate) { 337 scoped_ptr<ConnectDelegate> connect_delegate) {
336 scoped_ptr<WebSocketHandshakeStreamCreateHelper> create_helper( 338 scoped_ptr<WebSocketHandshakeStreamCreateHelper> create_helper(
337 new WebSocketHandshakeStreamCreateHelper(connect_delegate.get(), 339 new WebSocketHandshakeStreamCreateHelper(connect_delegate.get(),
338 requested_subprotocols)); 340 requested_subprotocols));
339 scoped_ptr<StreamRequestImpl> request( 341 scoped_ptr<StreamRequestImpl> request(new StreamRequestImpl(
340 new StreamRequestImpl(socket_url, 342 socket_url, url_request_context, origin, std::move(connect_delegate),
341 url_request_context, 343 std::move(create_helper)));
342 origin,
343 connect_delegate.Pass(),
344 create_helper.Pass()));
345 request->Start(scoped_ptr<base::Timer>(new base::Timer(false, false))); 344 request->Start(scoped_ptr<base::Timer>(new base::Timer(false, false)));
346 return request.Pass(); 345 return std::move(request);
347 } 346 }
348 347
349 // This is declared in websocket_test_util.h. 348 // This is declared in websocket_test_util.h.
350 scoped_ptr<WebSocketStreamRequest> CreateAndConnectStreamForTesting( 349 scoped_ptr<WebSocketStreamRequest> CreateAndConnectStreamForTesting(
351 const GURL& socket_url, 350 const GURL& socket_url,
352 scoped_ptr<WebSocketHandshakeStreamCreateHelper> create_helper, 351 scoped_ptr<WebSocketHandshakeStreamCreateHelper> create_helper,
353 const url::Origin& origin, 352 const url::Origin& origin,
354 URLRequestContext* url_request_context, 353 URLRequestContext* url_request_context,
355 const BoundNetLog& net_log, 354 const BoundNetLog& net_log,
356 scoped_ptr<WebSocketStream::ConnectDelegate> connect_delegate, 355 scoped_ptr<WebSocketStream::ConnectDelegate> connect_delegate,
357 scoped_ptr<base::Timer> timer) { 356 scoped_ptr<base::Timer> timer) {
358 scoped_ptr<StreamRequestImpl> request( 357 scoped_ptr<StreamRequestImpl> request(new StreamRequestImpl(
359 new StreamRequestImpl(socket_url, 358 socket_url, url_request_context, origin, std::move(connect_delegate),
360 url_request_context, 359 std::move(create_helper)));
361 origin, 360 request->Start(std::move(timer));
362 connect_delegate.Pass(), 361 return std::move(request);
363 create_helper.Pass()));
364 request->Start(timer.Pass());
365 return request.Pass();
366 } 362 }
367 363
368 void WebSocketDispatchOnFinishOpeningHandshake( 364 void WebSocketDispatchOnFinishOpeningHandshake(
369 WebSocketStream::ConnectDelegate* connect_delegate, 365 WebSocketStream::ConnectDelegate* connect_delegate,
370 const GURL& url, 366 const GURL& url,
371 const scoped_refptr<HttpResponseHeaders>& headers, 367 const scoped_refptr<HttpResponseHeaders>& headers,
372 base::Time response_time) { 368 base::Time response_time) {
373 DCHECK(connect_delegate); 369 DCHECK(connect_delegate);
374 if (headers.get()) { 370 if (headers.get()) {
375 connect_delegate->OnFinishOpeningHandshake(make_scoped_ptr( 371 connect_delegate->OnFinishOpeningHandshake(make_scoped_ptr(
376 new WebSocketHandshakeResponseInfo(url, 372 new WebSocketHandshakeResponseInfo(url,
377 headers->response_code(), 373 headers->response_code(),
378 headers->GetStatusText(), 374 headers->GetStatusText(),
379 headers, 375 headers,
380 response_time))); 376 response_time)));
381 } 377 }
382 } 378 }
383 379
384 } // namespace net 380 } // namespace net
OLDNEW
« no previous file with comments | « net/websockets/websocket_handshake_stream_create_helper_test.cc ('k') | net/websockets/websocket_stream_create_test_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698