| Index: chrome/browser/prerender/prerender_histograms.cc
|
| diff --git a/chrome/browser/prerender/prerender_histograms.cc b/chrome/browser/prerender/prerender_histograms.cc
|
| index faf2b28122d0f615030377fefb1be4dc821edbe5..b1e66c2f57bd50e7b8456151758584ca0d5238e3 100644
|
| --- a/chrome/browser/prerender/prerender_histograms.cc
|
| +++ b/chrome/browser/prerender/prerender_histograms.cc
|
| @@ -141,11 +141,7 @@ const char* FirstContentfulPaintHiddenName(bool was_hidden) {
|
| } while (0)
|
|
|
| PrerenderHistograms::PrerenderHistograms()
|
| - : last_origin_(ORIGIN_MAX),
|
| - origin_wash_(false),
|
| - seen_any_pageload_(true),
|
| - seen_pageload_started_after_prerender_(true) {
|
| -}
|
| + : last_origin_(ORIGIN_MAX), origin_wash_(false) {}
|
|
|
| void PrerenderHistograms::RecordPrerender(Origin origin, const GURL& url) {
|
| // We need to update last_origin_ and origin_wash_.
|
| @@ -167,8 +163,6 @@ void PrerenderHistograms::RecordPrerender(Origin origin, const GURL& url) {
|
| // reset the window to begin at the most recent occurrence, so that we will
|
| // always be in a window in the 30 seconds from each occurrence.
|
| last_prerender_seen_time_ = GetCurrentTimeTicks();
|
| - seen_any_pageload_ = false;
|
| - seen_pageload_started_after_prerender_ = false;
|
| }
|
|
|
| void PrerenderHistograms::RecordPrerenderStarted(Origin origin) const {
|
| @@ -206,83 +200,6 @@ base::TimeTicks PrerenderHistograms::GetCurrentTimeTicks() const {
|
| return base::TimeTicks::Now();
|
| }
|
|
|
| -// Helper macro for histograms.
|
| -#define RECORD_PLT(tag, perceived_page_load_time) \
|
| - PREFIXED_HISTOGRAM( \
|
| - tag, origin, \
|
| - UMA_HISTOGRAM_CUSTOM_TIMES( \
|
| - name, \
|
| - perceived_page_load_time, \
|
| - base::TimeDelta::FromMilliseconds(10), \
|
| - base::TimeDelta::FromSeconds(60), \
|
| - 100))
|
| -
|
| -// Summary of all histograms Perceived PLT histograms:
|
| -// (all prefixed PerceivedPLT)
|
| -// PerceivedPLT -- Perceived Pageloadtimes (PPLT) for all pages in the group.
|
| -// ...Windowed -- PPLT for pages in the 30s after a prerender is created.
|
| -// ...FirstAfterMiss -- First page to finish loading after a prerender, which
|
| -// is different from the page that was prerendered.
|
| -// ...FirstAfterMissNonOverlapping -- Same as FirstAfterMiss, but only
|
| -// triggering for the first page to finish after the prerender that also started
|
| -// after the prerender started.
|
| -// ...FirstAfterMissBoth -- pages meeting
|
| -// FirstAfterMiss AND FirstAfterMissNonOverlapping
|
| -// ...FirstAfterMissAnyOnly -- pages meeting
|
| -// FirstAfterMiss but NOT FirstAfterMissNonOverlapping
|
| -// ..FirstAfterMissNonOverlappingOnly -- pages meeting
|
| -// FirstAfterMissNonOverlapping but NOT FirstAfterMiss
|
| -
|
| -void PrerenderHistograms::RecordPerceivedPageLoadTime(
|
| - Origin origin,
|
| - base::TimeDelta perceived_page_load_time,
|
| - NavigationType navigation_type,
|
| - const GURL& url) {
|
| - if (!url.SchemeIsHTTPOrHTTPS())
|
| - return;
|
| - bool within_window = WithinWindow();
|
| - bool is_google_url =
|
| - google_util::IsGoogleDomainUrl(url, google_util::DISALLOW_SUBDOMAIN,
|
| - google_util::ALLOW_NON_STANDARD_PORTS);
|
| - RECORD_PLT("PerceivedPLT", perceived_page_load_time);
|
| - if (within_window)
|
| - RECORD_PLT("PerceivedPLTWindowed", perceived_page_load_time);
|
| - if (navigation_type != NAVIGATION_TYPE_NORMAL) {
|
| - DCHECK(navigation_type == NAVIGATION_TYPE_PRERENDERED);
|
| - seen_any_pageload_ = true;
|
| - seen_pageload_started_after_prerender_ = true;
|
| - } else if (within_window) {
|
| - if (!is_google_url) {
|
| - bool recorded_any = false;
|
| - bool recorded_non_overlapping = false;
|
| - if (!seen_any_pageload_) {
|
| - seen_any_pageload_ = true;
|
| - RECORD_PLT("PerceivedPLTFirstAfterMiss", perceived_page_load_time);
|
| - recorded_any = true;
|
| - }
|
| - if (!seen_pageload_started_after_prerender_ &&
|
| - perceived_page_load_time <= GetTimeSinceLastPrerender()) {
|
| - seen_pageload_started_after_prerender_ = true;
|
| - RECORD_PLT("PerceivedPLTFirstAfterMissNonOverlapping",
|
| - perceived_page_load_time);
|
| - recorded_non_overlapping = true;
|
| - }
|
| - if (recorded_any || recorded_non_overlapping) {
|
| - if (recorded_any && recorded_non_overlapping) {
|
| - RECORD_PLT("PerceivedPLTFirstAfterMissBoth",
|
| - perceived_page_load_time);
|
| - } else if (recorded_any) {
|
| - RECORD_PLT("PerceivedPLTFirstAfterMissAnyOnly",
|
| - perceived_page_load_time);
|
| - } else if (recorded_non_overlapping) {
|
| - RECORD_PLT("PerceivedPLTFirstAfterMissNonOverlappingOnly",
|
| - perceived_page_load_time);
|
| - }
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| void PrerenderHistograms::RecordPerceivedFirstContentfulPaintStatus(
|
| Origin origin,
|
| bool successful,
|
| @@ -293,20 +210,6 @@ void PrerenderHistograms::RecordPerceivedFirstContentfulPaintStatus(
|
| successful);
|
| }
|
|
|
| -void PrerenderHistograms::RecordPageLoadTimeNotSwappedIn(
|
| - Origin origin,
|
| - base::TimeDelta page_load_time,
|
| - const GURL& url) const {
|
| - // If the URL to be prerendered is not a http[s] URL, or is a Google URL,
|
| - // do not record.
|
| - if (!url.SchemeIsHTTPOrHTTPS() ||
|
| - google_util::IsGoogleDomainUrl(url, google_util::DISALLOW_SUBDOMAIN,
|
| - google_util::ALLOW_NON_STANDARD_PORTS)) {
|
| - return;
|
| - }
|
| - RECORD_PLT("PrerenderNotSwappedInPLT", page_load_time);
|
| -}
|
| -
|
| void PrerenderHistograms::RecordPercentLoadDoneAtSwapin(Origin origin,
|
| double fraction) const {
|
| if (fraction < 0.0 || fraction > 1.0)
|
|
|