| Index: content/browser/loader/async_resource_handler.cc
|
| diff --git a/content/browser/loader/async_resource_handler.cc b/content/browser/loader/async_resource_handler.cc
|
| index 87d82ca1424f637a7fd3d53532d6b8c9472766d0..eb64f8b4c60cbc0d901da22458b68343f6acb468 100644
|
| --- a/content/browser/loader/async_resource_handler.cc
|
| +++ b/content/browser/loader/async_resource_handler.cc
|
| @@ -14,6 +14,7 @@
|
| #include "base/memory/shared_memory.h"
|
| #include "base/metrics/histogram.h"
|
| #include "base/strings/string_number_conversions.h"
|
| +#include "base/time/time.h"
|
| #include "content/browser/devtools/devtools_netlog_observer.h"
|
| #include "content/browser/host_zoom_map_impl.h"
|
| #include "content/browser/loader/resource_buffer.h"
|
| @@ -113,6 +114,13 @@ void AsyncResourceHandler::OnFollowRedirect(int request_id) {
|
| return;
|
| }
|
|
|
| + if (!redirect_start_time_.is_null()) {
|
| + UMA_HISTOGRAM_TIMES("Net.AsyncResourceHandler_RedirectHopTime",
|
| + TimeTicks::Now() - redirect_start_time_);
|
| + // Reset start time.
|
| + redirect_start_time_ = TimeTicks();
|
| + }
|
| +
|
| ResumeIfDeferred();
|
| }
|
|
|
| @@ -143,6 +151,8 @@ bool AsyncResourceHandler::OnRequestRedirected(
|
| if (!info->filter())
|
| return false;
|
|
|
| + redirect_start_time_ = TimeTicks::Now();
|
| +
|
| *defer = did_defer_ = true;
|
| OnDefer();
|
|
|
|
|