Index: chrome/browser/android/offline_pages/prerendering_loader.cc |
diff --git a/chrome/browser/android/offline_pages/prerendering_loader.cc b/chrome/browser/android/offline_pages/prerendering_loader.cc |
index 0b2f878764963cadf74a4cf1ec95240527f95c2f..d4c5482c73b6674e78209c4f3154c9ba5489da57 100644 |
--- a/chrome/browser/android/offline_pages/prerendering_loader.cc |
+++ b/chrome/browser/android/offline_pages/prerendering_loader.cc |
@@ -8,6 +8,7 @@ |
#include "base/logging.h" |
#include "base/metrics/histogram_macros.h" |
#include "base/threading/thread_task_runner_handle.h" |
+#include "base/time/time.h" |
#include "chrome/browser/profiles/profile.h" |
#include "content/public/browser/browser_context.h" |
#include "content/public/browser/browser_thread.h" |
@@ -88,6 +89,14 @@ PrerenderingLoader::~PrerenderingLoader() { |
CancelPrerender(); |
} |
+void PrerenderingLoader::AddLoadingSignal(const char* signal_name) { |
+ std::string signal(signal_name); |
+ signal += ": "; |
+ // We need a time in milliseconds, and JavaTime provides that. |
+ signal += std::to_string(base::Time::Now().ToJavaTime()); |
Dmitry Titov
2017/03/29 18:53:06
this is not using ToJavaTime() for what it is inte
Pete Williamson
2017/03/29 22:05:42
Reading the descriptions at the top of time.h, it
|
+ signal_data_.push_back(signal); |
+} |
+ |
bool PrerenderingLoader::LoadPage(const GURL& url, |
const LoadPageCallback& load_done_callback, |
const ProgressCallback& progress_callback) { |
@@ -98,6 +107,9 @@ bool PrerenderingLoader::LoadPage(const GURL& url, |
return false; |
} |
+ // Add this signal to signal_data_. |
+ AddLoadingSignal("StartLoading"); |
+ |
// Create a WebContents instance to define and hold a SessionStorageNamespace |
// for this load request. |
DCHECK(!session_contents_.get()); |
@@ -152,6 +164,9 @@ void PrerenderingLoader::OnPrerenderStopLoading() { |
// Inform SnapshotController of OnLoad event so it can determine |
// when to consider it really LOADED. |
snapshot_controller_->DocumentOnLoadCompletedInMainFrame(); |
+ |
+ // Add this signal to signal_data_. |
+ AddLoadingSignal("OnLoad"); |
} |
void PrerenderingLoader::OnPrerenderDomContentLoaded() { |
@@ -168,6 +183,9 @@ void PrerenderingLoader::OnPrerenderDomContentLoaded() { |
// second delay from this event). |
snapshot_controller_->DocumentAvailableInMainFrame(); |
} |
+ |
+ // Add this signal to signal_data_. |
+ AddLoadingSignal("OnDomContentLoaded"); |
} |
} |
@@ -183,6 +201,10 @@ void PrerenderingLoader::OnPrerenderNetworkBytesChanged(int64_t bytes) { |
void PrerenderingLoader::StartSnapshot() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
+ |
+ // Add this signal to signal_data_. |
+ AddLoadingSignal("Snapshotting"); |
+ |
HandleLoadEvent(); |
} |