| Index: net/http/http_stream_factory_impl_job.cc
|
| diff --git a/net/http/http_stream_factory_impl_job.cc b/net/http/http_stream_factory_impl_job.cc
|
| index 398f84e194c5076d953dfeade541482bc44e4bb9..e250ceeab411ef90ccb7aace0ba14e863d11f141 100644
|
| --- a/net/http/http_stream_factory_impl_job.cc
|
| +++ b/net/http/http_stream_factory_impl_job.cc
|
| @@ -334,6 +334,17 @@
|
|
|
| void HttpStreamFactoryImpl::Job::Orphan() {
|
| net_log_.AddEvent(NetLogEventType::HTTP_STREAM_JOB_ORPHANED);
|
| +
|
| + if (delegate_->for_websockets()) {
|
| + // We cancel this job because a WebSocketHandshakeStream can't be created
|
| + // without a WebSocketHandshakeStreamBase::CreateHelper which is stored in
|
| + // the Request class and isn't retrievable by this job.
|
| + if (connection_ && connection_->socket()) {
|
| + connection_->socket()->Disconnect();
|
| + }
|
| + delegate_->OnOrphanedJobComplete(this);
|
| + }
|
| + // |this| may be deleted after this call.
|
| }
|
|
|
| void HttpStreamFactoryImpl::Job::SetPriority(RequestPriority priority) {
|
| @@ -721,7 +732,7 @@
|
| }
|
|
|
| int HttpStreamFactoryImpl::Job::DoStart() {
|
| - const NetLogWithSource* net_log = delegate_->GetNetLog();
|
| + const NetLogWithSource* net_log = delegate_->GetNetLog(this);
|
|
|
| if (net_log) {
|
| net_log_.BeginEvent(
|
|
|