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 8910c8f96b52d13fb3db68bd8a7611a991c21670..a323555c45e68ad376d0e3cfda574a0c76587834 100644 |
--- a/net/http/http_stream_factory_impl_job.cc |
+++ b/net/http/http_stream_factory_impl_job.cc |
@@ -1010,6 +1010,12 @@ int HttpStreamFactoryImpl::Job::DoInitConnectionComplete(int result) { |
return result; |
} |
+ if (IsSpdyAlternate() && !using_spdy_) { |
+ job_status_ = STATUS_BROKEN; |
+ MaybeMarkAlternativeServiceBroken(); |
+ return ERR_NPN_NEGOTIATION_FAILED; |
+ } |
+ |
if (!ssl_started && result < 0 && IsAlternate()) { |
job_status_ = STATUS_BROKEN; |
// TODO(bnc): if (result == ERR_ALTERNATIVE_CERT_NOT_VALID_FOR_ORIGIN), then |
@@ -1097,6 +1103,7 @@ int HttpStreamFactoryImpl::Job::DoCreateStream() { |
FROM_HERE_WITH_EXPLICIT_FUNCTION( |
"462811 HttpStreamFactoryImpl::Job::DoCreateStream")); |
DCHECK(connection_->socket() || existing_spdy_session_.get() || using_quic_); |
+ DCHECK(!IsAlternate() || IsSpdyAlternate()); |
Ryan Hamilton
2015/05/05 20:51:12
nit: Personally, I find it hard to read dchecks wi
Bence
2015/05/06 13:21:56
Good point. Done.
|
next_state_ = STATE_CREATE_STREAM_COMPLETE; |