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