| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_NAVIGATION_METRICS_NAVIGATION_METRICS_H_ |
| #define COMPONENTS_NAVIGATION_METRICS_NAVIGATION_METRICS_H_ |
| |
| class GURL; |
| |
| namespace navigation_metrics { |
| |
| // A Scheme is an C++ enum type loggable in UMA for a histogram of UMA enum type |
| // NavigationScheme. |
| // |
| // These values are written to logs. New enum values can be added, but existing |
| // value must never be renumbered or deleted and reused. Any new scheme must |
| // be added at the end, before COUNT. |
| enum class Scheme { |
| UNKNOWN = 0, |
| HTTP = 1, |
| HTTPS = 2, |
| FILE = 3, |
| FTP = 4, |
| DATA = 5, |
| JAVASCRIPT = 6, |
| ABOUT = 7, |
| CHROME = 8, |
| BLOB = 9, |
| FILESYSTEM = 10, |
| CHROME_NATIVE = 11, |
| CHROME_SEARCH = 12, |
| CHROME_DISTILLER = 13, |
| CHROME_DEVTOOLS = 14, |
| CHROME_EXTENSION = 15, |
| VIEW_SOURCE = 16, |
| EXTERNALFILE = 17, |
| COUNT, |
| }; |
| |
| Scheme GetScheme(const GURL& url); |
| |
| void RecordMainFrameNavigation(const GURL& url, |
| bool is_same_document, |
| bool is_off_the_record); |
| |
| void RecordOmniboxURLNavigation(const GURL& url); |
| |
| } // namespace navigation_metrics |
| |
| #endif // COMPONENTS_NAVIGATION_METRICS_NAVIGATION_METRICS_H_ |