1 // Copyright 2014 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. 4 5 #ifndef COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_SEARCH_METRICS_H_ 6 #define COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_SEARCH_METRICS_H_ 7 8 #include "build/build_config.h" 9 10 // A thin helper class used by parties interested in reporting Google search 11 // metrics (mostly counts of searches from different access points). This class 12 // partly exists to make testing easier. 13 class GoogleSearchMetrics { 14 public: 15 // Various Google Search access points, to be used with UMA enumeration 16 // histograms. 17 enum AccessPoint { 18 AP_OMNIBOX, 19 AP_OMNIBOX_INSTANT, 20 AP_DIRECT_NAV, 21 AP_DIRECT_NAV_INSTANT, 22 AP_HOME_PAGE, 23 AP_HOME_PAGE_INSTANT, 24 AP_SEARCH_APP, 25 AP_SEARCH_APP_INSTANT, 26 AP_OTHER, 27 AP_OTHER_INSTANT, 28 AP_BOUNDARY, 29 }; 30 31 GoogleSearchMetrics(); 32 virtual ~GoogleSearchMetrics(); 33 34 // Record a single Google search from source |ap|. 35 virtual void RecordGoogleSearch(AccessPoint ap) const; 36 37 #if defined(OS_ANDROID) 38 // Record a single Android Google search from source |ap|. |prerender_enabled| 39 // is set to true when prerendering is enabled via settings. 40 virtual void RecordAndroidGoogleSearch(AccessPoint ap, 41 bool prerender_enabled) const; 42 #endif 43 }; 44 45 #endif // COMPONENTS_GOOGLE_CORE_BROWSER_GOOGLE_SEARCH_METRICS_H_ 46