Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "net/http/http_stream_factory_impl_job.h" | 5 #include "net/http/http_stream_factory_impl_job.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 209 } | 209 } |
| 210 | 210 |
| 211 void HttpStreamFactoryImpl::Job::Orphan(const Request* request) { | 211 void HttpStreamFactoryImpl::Job::Orphan(const Request* request) { |
| 212 DCHECK_EQ(request_, request); | 212 DCHECK_EQ(request_, request); |
| 213 request_ = NULL; | 213 request_ = NULL; |
| 214 if (blocking_job_) { | 214 if (blocking_job_) { |
| 215 // We've been orphaned, but there's a job we're blocked on. Don't bother | 215 // We've been orphaned, but there's a job we're blocked on. Don't bother |
| 216 // racing, just cancel ourself. | 216 // racing, just cancel ourself. |
| 217 DCHECK(blocking_job_->waiting_job_); | 217 DCHECK(blocking_job_->waiting_job_); |
| 218 blocking_job_->waiting_job_ = NULL; | 218 blocking_job_->waiting_job_ = NULL; |
| 219 blocking_job_ = NULL; | 219 blocking_job_ = NULL; |
|
mmenke
2014/05/15 18:30:21
We're no longer calling OnOrphanedJobComplete in t
Ryan Hamilton
2014/05/15 18:47:39
ARGH! No, this was *not* intentional. I misread th
| |
| 220 if (stream_factory_->for_websockets_ && | 220 } |
| 221 connection_ && connection_->socket()) | 221 |
| 222 connection_->socket()->Disconnect(); | 222 if (stream_factory_->for_websockets_ && |
| 223 stream_factory_->OnOrphanedJobComplete(this); | 223 connection_ && connection_->socket()) { |
| 224 } else if (stream_factory_->for_websockets_) { | 224 connection_->socket()->Disconnect(); |
| 225 // We cancel this job because a WebSocketHandshakeStream can't be created | 225 // We cancel this job because a WebSocketHandshakeStream can't be created |
| 226 // without a WebSocketHandshakeStreamBase::CreateHelper which is stored in | 226 // without a WebSocketHandshakeStreamBase::CreateHelper which is stored in |
| 227 // the Request class and isn't accessible from this job. | 227 // the Request class and isn't accessible from this job. |
| 228 if (connection_ && connection_->socket()) | |
| 229 connection_->socket()->Disconnect(); | |
| 230 stream_factory_->OnOrphanedJobComplete(this); | 228 stream_factory_->OnOrphanedJobComplete(this); |
| 231 } | 229 } |
| 232 } | 230 } |
| 233 | 231 |
| 234 void HttpStreamFactoryImpl::Job::SetPriority(RequestPriority priority) { | 232 void HttpStreamFactoryImpl::Job::SetPriority(RequestPriority priority) { |
| 235 priority_ = priority; | 233 priority_ = priority; |
| 236 // TODO(akalin): Propagate this to |connection_| and maybe the | 234 // TODO(akalin): Propagate this to |connection_| and maybe the |
| 237 // preconnect state. | 235 // preconnect state. |
| 238 } | 236 } |
| 239 | 237 |
| (...skipping 1250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1490 (net::LOAD_MAIN_FRAME | net::LOAD_SUB_FRAME | net::LOAD_PREFETCH | | 1488 (net::LOAD_MAIN_FRAME | net::LOAD_SUB_FRAME | net::LOAD_PREFETCH | |
| 1491 net::LOAD_IS_DOWNLOAD)) { | 1489 net::LOAD_IS_DOWNLOAD)) { |
| 1492 // Avoid pipelining resources that may be streamed for a long time. | 1490 // Avoid pipelining resources that may be streamed for a long time. |
| 1493 return false; | 1491 return false; |
| 1494 } | 1492 } |
| 1495 return stream_factory_->http_pipelined_host_pool_.IsKeyEligibleForPipelining( | 1493 return stream_factory_->http_pipelined_host_pool_.IsKeyEligibleForPipelining( |
| 1496 *http_pipelining_key_.get()); | 1494 *http_pipelining_key_.get()); |
| 1497 } | 1495 } |
| 1498 | 1496 |
| 1499 } // namespace net | 1497 } // namespace net |
| OLD | NEW |