Remove Unused AsTextButtonBorder RTTI helper.
[chromium-blink-merge.git] / components / navigation_metrics / navigation_metrics.cc
blobacbe25a9b08c1fa79397679f5eadf90acd80eaf3
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"
8 #include "url/gurl.h"
10 namespace {
12 enum Scheme {
13 SCHEME_UNKNOWN,
14 SCHEME_HTTP,
15 SCHEME_HTTPS,
16 SCHEME_FILE,
17 SCHEME_FTP,
18 SCHEME_DATA,
19 SCHEME_JAVASCRIPT,
20 SCHEME_ABOUT,
21 SCHEME_CHROME,
22 SCHEME_MAX,
25 static const char* kSchemeNames[] = {
26 "unknown",
27 "http",
28 "https",
29 "file",
30 "ftp",
31 "data",
32 "javascript",
33 "about",
34 "chrome",
35 "max",
38 COMPILE_ASSERT(arraysize(kSchemeNames) == SCHEME_MAX + 1,
39 NavigationMetricsRecorder_name_count_mismatch);
41 } // namespace
43 namespace navigation_metrics {
45 void RecordMainFrameNavigation(const GURL& url) {
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);
50 break;
53 UMA_HISTOGRAM_ENUMERATION(
54 "Navigation.MainFrameScheme", scheme, SCHEME_MAX);
57 } // namespace navigation_metrics