Chromium Code Reviews| 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(); |
| } |