Chromium Code Reviews| Index: components/navigation_metrics/navigation_metrics.cc |
| diff --git a/components/navigation_metrics/navigation_metrics.cc b/components/navigation_metrics/navigation_metrics.cc |
| index e0d61c769f7b6a5daa6c876951b4870d02babf58..314ab74c81e2adae1ce5caa6006ffd0c0986fd9c 100644 |
| --- a/components/navigation_metrics/navigation_metrics.cc |
| +++ b/components/navigation_metrics/navigation_metrics.cc |
| @@ -47,7 +47,10 @@ static_assert(arraysize(kSchemeNames) == SCHEME_MAX + 1, |
| namespace navigation_metrics { |
| -void RecordMainFrameNavigation(const GURL& url, bool is_in_page) { |
| +void RecordMainFrameNavigation(const GURL& url, |
| + bool is_in_page, |
| + bool is_off_the_record, |
| + bool have_already_seen_origin) { |
| Scheme scheme = SCHEME_UNKNOWN; |
| for (int i = 1; i < SCHEME_MAX; ++i) { |
| if (url.SchemeIs(kSchemeNames[i])) { |
| @@ -55,10 +58,22 @@ void RecordMainFrameNavigation(const GURL& url, bool is_in_page) { |
| break; |
| } |
| } |
| - UMA_HISTOGRAM_ENUMERATION("Navigation.MainFrameScheme", scheme, SCHEME_MAX); |
| - if (!is_in_page) { |
| - UMA_HISTOGRAM_ENUMERATION( |
| - "Navigation.MainFrameSchemeDifferentPage", scheme, SCHEME_MAX); |
| + |
| + if (is_off_the_record) { |
| + if (!have_already_seen_origin) { |
| + UMA_HISTOGRAM_ENUMERATION("Navigation.SchemePerUniqueOriginOTR", scheme, |
| + SCHEME_MAX); |
| + } |
| + } else { |
|
felt
2016/04/07 02:28:04
nit: could you simplify this by returning early?
palmer
2016/04/07 23:45:43
Simplified in a different way.
|
| + if (!have_already_seen_origin) { |
| + UMA_HISTOGRAM_ENUMERATION("Navigation.SchemePerUniqueOrigin", scheme, |
| + SCHEME_MAX); |
| + } |
| + UMA_HISTOGRAM_ENUMERATION("Navigation.MainFrameScheme", scheme, SCHEME_MAX); |
|
felt
2016/04/07 02:28:04
do we still want to calculate MFS like normal for
palmer
2016/04/07 23:45:43
Oh, right. Yep!
|
| + if (!is_in_page) { |
| + UMA_HISTOGRAM_ENUMERATION("Navigation.MainFrameSchemeDifferentPage", |
| + scheme, SCHEME_MAX); |
| + } |
| } |
| } |