1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/navigation_metrics/navigation_metrics.h"
7 #include "base/metrics/histogram.h"
25 const char* const kSchemeNames
[] = {
32 url::kJavaScriptScheme
,
38 static_assert(arraysize(kSchemeNames
) == SCHEME_MAX
+ 1,
39 "kSchemeNames should have SCHEME_MAX + 1 elements");
43 namespace navigation_metrics
{
45 void RecordMainFrameNavigation(const GURL
& url
, bool is_in_page
) {
46 Scheme scheme
= SCHEME_UNKNOWN
;
47 for (int i
= 1; i
< SCHEME_MAX
; ++i
) {
48 if (url
.SchemeIs(kSchemeNames
[i
])) {
49 scheme
= static_cast<Scheme
>(i
);
53 UMA_HISTOGRAM_ENUMERATION("Navigation.MainFrameScheme", scheme
, SCHEME_MAX
);
55 UMA_HISTOGRAM_ENUMERATION(
56 "Navigation.MainFrameSchemeDifferentPage", scheme
, SCHEME_MAX
);
60 } // namespace navigation_metrics