derekjchow | 30d4c22 | 2015-02-20 20:30:26 | [diff] [blame] | 1 | // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "chromecast/browser/cast_resource_dispatcher_host_delegate.h" |
| 6 | |
jasonroberts | 2f73988 | 2016-07-18 17:55:53 | [diff] [blame] | 7 | #include "chromecast/base/metrics/cast_metrics_helper.h" |
derekjchow | 30d4c22 | 2015-02-20 20:30:26 | [diff] [blame] | 8 | #include "chromecast/browser/cast_browser_process.h" |
| 9 | #include "chromecast/net/connectivity_checker.h" |
| 10 | #include "net/base/net_errors.h" |
| 11 | #include "net/url_request/url_request.h" |
servolk | 62b283a | 2015-12-09 17:08:43 | [diff] [blame] | 12 | #include "net/url_request/url_request_status.h" |
derekjchow | 30d4c22 | 2015-02-20 20:30:26 | [diff] [blame] | 13 | |
| 14 | namespace chromecast { |
| 15 | namespace shell { |
| 16 | |
| 17 | void CastResourceDispatcherHostDelegate::RequestComplete( |
maksim.sisov | ba5f1ff3 | 2016-10-03 08:14:37 | [diff] [blame] | 18 | net::URLRequest* url_request, |
| 19 | int net_error) { |
| 20 | if (net_error == net::OK || net_error == net::ERR_IO_PENDING || |
| 21 | net_error == net::ERR_ABORTED) |
| 22 | return; |
| 23 | |
| 24 | metrics::CastMetricsHelper* metrics_helper = |
| 25 | metrics::CastMetricsHelper::GetInstance(); |
| 26 | metrics_helper->RecordApplicationEventWithValue( |
| 27 | "Cast.Platform.ResourceRequestError", url_request->status().error()); |
| 28 | LOG(ERROR) << "Failed to load resource " << url_request->url() |
| 29 | << ", error:" << net::ErrorToShortString(net_error); |
| 30 | CastBrowserProcess::GetInstance()->connectivity_checker()->Check(); |
derekjchow | 30d4c22 | 2015-02-20 20:30:26 | [diff] [blame] | 31 | } |
| 32 | |
seantopping | 2f7f942e | 2017-03-06 19:15:12 | [diff] [blame] | 33 | void CastResourceDispatcherHostDelegate::RequestComplete( |
| 34 | net::URLRequest* url_request) { |
| 35 | if (url_request->status().status() == net::URLRequestStatus::FAILED) { |
| 36 | metrics::CastMetricsHelper* metrics_helper = |
| 37 | metrics::CastMetricsHelper::GetInstance(); |
| 38 | metrics_helper->RecordApplicationEventWithValue( |
| 39 | "Cast.Platform.ResourceRequestError", |
| 40 | url_request->status().error()); |
| 41 | LOG(ERROR) << "Failed to load resource " << url_request->url() |
| 42 | << "; status:" << url_request->status().status() << ", error:" |
| 43 | << net::ErrorToShortString(url_request->status().error()); |
| 44 | CastBrowserProcess::GetInstance()->connectivity_checker()->Check(); |
| 45 | } |
| 46 | } |
| 47 | |
derekjchow | 30d4c22 | 2015-02-20 20:30:26 | [diff] [blame] | 48 | } // namespace shell |
| 49 | } // namespace chromecast |