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

Side by Side Diff: net/http/http_stream_factory_impl_job_controller.cc

Issue 2894723002: Revert of Return Request as unique_ptr from JobController::Start(). (Closed)
Patch Set: Created 3 years, 7 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) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 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/http/http_stream_factory_impl_job_controller.h" 5 #include "net/http/http_stream_factory_impl_job_controller.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 bound_job_ = nullptr; 108 bound_job_ = nullptr;
109 if (pac_request_) 109 if (pac_request_)
110 session_->proxy_service()->CancelPacRequest(pac_request_); 110 session_->proxy_service()->CancelPacRequest(pac_request_);
111 net_log_.EndEvent(NetLogEventType::HTTP_STREAM_JOB_CONTROLLER); 111 net_log_.EndEvent(NetLogEventType::HTTP_STREAM_JOB_CONTROLLER);
112 } 112 }
113 113
114 bool HttpStreamFactoryImpl::JobController::for_websockets() { 114 bool HttpStreamFactoryImpl::JobController::for_websockets() {
115 return factory_->for_websockets_; 115 return factory_->for_websockets_;
116 } 116 }
117 117
118 std::unique_ptr<HttpStreamFactoryImpl::Request> 118 HttpStreamFactoryImpl::Request* HttpStreamFactoryImpl::JobController::Start(
119 HttpStreamFactoryImpl::JobController::Start(
120 HttpStreamRequest::Delegate* delegate, 119 HttpStreamRequest::Delegate* delegate,
121 WebSocketHandshakeStreamBase::CreateHelper* 120 WebSocketHandshakeStreamBase::CreateHelper*
122 websocket_handshake_stream_create_helper, 121 websocket_handshake_stream_create_helper,
123 const NetLogWithSource& source_net_log, 122 const NetLogWithSource& source_net_log,
124 HttpStreamRequest::StreamType stream_type, 123 HttpStreamRequest::StreamType stream_type,
125 RequestPriority priority) { 124 RequestPriority priority) {
126 DCHECK(factory_); 125 DCHECK(factory_);
127 DCHECK(!request_); 126 DCHECK(!request_);
128 127
129 stream_type_ = stream_type; 128 stream_type_ = stream_type;
130 priority_ = priority; 129 priority_ = priority;
131 130
132 auto request = base::MakeUnique<Request>( 131 request_ = new Request(request_info_.url, this, delegate,
133 request_info_.url, this, delegate, 132 websocket_handshake_stream_create_helper,
134 websocket_handshake_stream_create_helper, source_net_log, stream_type); 133 source_net_log, stream_type);
135 // Keep a raw pointer but release ownership of Request instance.
136 request_ = request.get();
137
138 // Associates |net_log_| with |source_net_log|. 134 // Associates |net_log_| with |source_net_log|.
139 source_net_log.AddEvent(NetLogEventType::HTTP_STREAM_JOB_CONTROLLER_BOUND, 135 source_net_log.AddEvent(NetLogEventType::HTTP_STREAM_JOB_CONTROLLER_BOUND,
140 net_log_.source().ToEventParametersCallback()); 136 net_log_.source().ToEventParametersCallback());
141 net_log_.AddEvent(NetLogEventType::HTTP_STREAM_JOB_CONTROLLER_BOUND, 137 net_log_.AddEvent(NetLogEventType::HTTP_STREAM_JOB_CONTROLLER_BOUND,
142 source_net_log.source().ToEventParametersCallback()); 138 source_net_log.source().ToEventParametersCallback());
143 139
144 RunLoop(OK); 140 RunLoop(OK);
145 return request; 141 return request_;
146 } 142 }
147 143
148 void HttpStreamFactoryImpl::JobController::Preconnect(int num_streams) { 144 void HttpStreamFactoryImpl::JobController::Preconnect(int num_streams) {
149 DCHECK(!main_job_); 145 DCHECK(!main_job_);
150 DCHECK(!alternative_job_); 146 DCHECK(!alternative_job_);
151 DCHECK(is_preconnect_); 147 DCHECK(is_preconnect_);
152 148
153 stream_type_ = HttpStreamRequest::HTTP_STREAM; 149 stream_type_ = HttpStreamRequest::HTTP_STREAM;
154 num_streams_ = num_streams; 150 num_streams_ = num_streams;
155 151
(...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 // If ReconsiderProxyAfterError() failed synchronously, it means 1256 // If ReconsiderProxyAfterError() failed synchronously, it means
1261 // there was nothing left to fall-back to, so fail the transaction 1257 // there was nothing left to fall-back to, so fail the transaction
1262 // with the last connection error we got. 1258 // with the last connection error we got.
1263 // TODO(eroman): This is a confusing contract, make it more obvious. 1259 // TODO(eroman): This is a confusing contract, make it more obvious.
1264 rv = error; 1260 rv = error;
1265 } 1261 }
1266 return rv; 1262 return rv;
1267 } 1263 }
1268 1264
1269 } // namespace net 1265 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_stream_factory_impl_job_controller.h ('k') | net/http/http_stream_factory_impl_job_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698