summaryrefslogtreecommitdiff
path: root/chromium/net/http/http_stream_factory_job_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/http/http_stream_factory_job_controller.cc')
-rw-r--r--chromium/net/http/http_stream_factory_job_controller.cc13
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(