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. 13class 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