blob: 207379035c3cd50f5e5a7e0d5dce1547b626c5a7 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromecast/browser/cast_resource_dispatcher_host_delegate.h"
#include "chromecast/base/metrics/cast_metrics_helper.h"
#include "chromecast/browser/cast_browser_process.h"
#include "chromecast/net/connectivity_checker.h"
#include "net/base/net_errors.h"
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_status.h"
namespace chromecast {
namespace shell {
void CastResourceDispatcherHostDelegate::RequestComplete(
net::URLRequest* url_request,
int net_error) {
if (net_error == net::OK || net_error == net::ERR_IO_PENDING ||
net_error == net::ERR_ABORTED)
return;
metrics::CastMetricsHelper* metrics_helper =
metrics::CastMetricsHelper::GetInstance();
metrics_helper->RecordApplicationEventWithValue(
"Cast.Platform.ResourceRequestError", url_request->status().error());
LOG(ERROR) << "Failed to load resource " << url_request->url()
<< ", error:" << net::ErrorToShortString(net_error);
CastBrowserProcess::GetInstance()->connectivity_checker()->Check();
}
void CastResourceDispatcherHostDelegate::RequestComplete(
net::URLRequest* url_request) {
if (url_request->status().status() == net::URLRequestStatus::FAILED) {
metrics::CastMetricsHelper* metrics_helper =
metrics::CastMetricsHelper::GetInstance();
metrics_helper->RecordApplicationEventWithValue(
"Cast.Platform.ResourceRequestError",
url_request->status().error());
LOG(ERROR) << "Failed to load resource " << url_request->url()
<< "; status:" << url_request->status().status() << ", error:"
<< net::ErrorToShortString(url_request->status().error());
CastBrowserProcess::GetInstance()->connectivity_checker()->Check();
}
}
} // namespace shell
} // namespace chromecast