diff options
Diffstat (limited to 'chromium/net/http/http_stream_factory_job_controller.cc')
-rw-r--r-- | chromium/net/http/http_stream_factory_job_controller.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/chromium/net/http/http_stream_factory_job_controller.cc b/chromium/net/http/http_stream_factory_job_controller.cc index d787629ba01..878c6aea753 100644 --- a/chromium/net/http/http_stream_factory_job_controller.cc +++ b/chromium/net/http/http_stream_factory_job_controller.cc @@ -847,18 +847,21 @@ void HttpStreamFactory::JobController::MaybeReportBrokenAlternativeService() { return; } - // Report brokenness if alternative job failed. - base::UmaHistogramSparse("Net.AlternateServiceFailed", - -alternative_job_net_error_); - if (alternative_job_net_error_ == ERR_NETWORK_CHANGED || - alternative_job_net_error_ == ERR_INTERNET_DISCONNECTED) { + alternative_job_net_error_ == ERR_INTERNET_DISCONNECTED || + (alternative_job_net_error_ == ERR_NAME_NOT_RESOLVED && + request_info_.url.host() == + alternative_service_info_.alternative_service().host)) { // No need to mark alternative service as broken. // Reset error status for Jobs. ResetErrorStatusForJobs(); return; } + // Report brokenness if alternative job failed. + base::UmaHistogramSparse("Net.AlternateServiceFailed", + -alternative_job_net_error_); + HistogramBrokenAlternateProtocolLocation( BROKEN_ALTERNATE_PROTOCOL_LOCATION_HTTP_STREAM_FACTORY_JOB_ALT); session_->http_server_properties()->MarkAlternativeServiceBroken( |