Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / content / browser / loader / async_resource_handler.cc
index 87d82ca..eb64f8b 100644 (file)
@@ -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();