• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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 CHROME_BROWSER_GOOGLE_GOOGLE_SEARCH_METRICS_H_
6 #define CHROME_BROWSER_GOOGLE_GOOGLE_SEARCH_METRICS_H_
7 
8 // A thin helper class used by parties interested in reporting Google search
9 // metrics (mostly counts of searches from different access points). This class
10 // partly exists to make testing easier.
11 class GoogleSearchMetrics {
12  public:
13   // Various Google Search access points, to be used with UMA enumeration
14   // histograms.
15   enum AccessPoint {
16     AP_OMNIBOX,
17     AP_OMNIBOX_INSTANT,
18     AP_DIRECT_NAV,
19     AP_DIRECT_NAV_INSTANT,
20     AP_HOME_PAGE,
21     AP_HOME_PAGE_INSTANT,
22     AP_SEARCH_APP,
23     AP_SEARCH_APP_INSTANT,
24     AP_OTHER,
25     AP_OTHER_INSTANT,
26     AP_BOUNDARY,
27   };
28 
29   GoogleSearchMetrics();
30   virtual ~GoogleSearchMetrics();
31 
32   // Record a single Google search from source |ap|.
33   virtual void RecordGoogleSearch(AccessPoint ap) const;
34 };
35 
36 #endif  // CHROME_BROWSER_GOOGLE_GOOGLE_SEARCH_METRICS_H_
37