Home | History | Annotate | Download | only in google
      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