| Index: ios/chrome/browser/ui/contextual_search/contextual_search_metrics.h
|
| diff --git a/ios/chrome/browser/ui/contextual_search/contextual_search_metrics.h b/ios/chrome/browser/ui/contextual_search/contextual_search_metrics.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5566428e6a2749a1ef5baadd049454fb8ace84fc
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/ui/contextual_search/contextual_search_metrics.h
|
| @@ -0,0 +1,66 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef IOS_CHROME_BROWSER_UI_CONTEXTUAL_SEARCH_CONTEXTUAL_SEARCH_METRICS_H_
|
| +#define IOS_CHROME_BROWSER_UI_CONTEXTUAL_SEARCH_CONTEXTUAL_SEARCH_METRICS_H_
|
| +
|
| +#import "base/time/time.h"
|
| +#import "ios/chrome/browser/ui/contextual_search/contextual_search_controller.h"
|
| +#import "ios/chrome/browser/ui/contextual_search/panel_configuration.h"
|
| +#import "ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_mediator.h"
|
| +
|
| +namespace ContextualSearch {
|
| +
|
| +// Record the contextual search pref state at startup.
|
| +void RecordPreferenceState(TouchToSearch::TouchToSearchPreferenceState state);
|
| +
|
| +// Record when the contextual search preference changes; if |enabled| then the
|
| +// preference was turned on. Notes that RecordFirstRunFlowOutcome() should be
|
| +// used instead after the first run flow.
|
| +void RecordPreferenceChanged(bool enabled);
|
| +
|
| +// Record the contextual search pref state after the first run flow completes.
|
| +void RecordFirstRunFlowOutcome(
|
| + TouchToSearch::TouchToSearchPreferenceState state);
|
| +
|
| +// Record the time between the start of a new search and showing the search
|
| +// results.
|
| +void RecordDuration(bool resultsSeen, bool chained, base::TimeDelta duration);
|
| +
|
| +// Record the time between the user tapping and starting a search.
|
| +void RecordTimeToSearch(base::TimeDelta duration);
|
| +
|
| +// Record whether the first run flow's panel was seen during the contextual
|
| +// search. This should only be called when the user exits the search still
|
| +// in the undecided state. |seen| should be true if the user saw the first
|
| +// run flow view, or false if they didn't (for example, if they had not yet
|
| +// opted in, triggered a search, and then dismissed the panel).
|
| +void RecordFirstRunPanelSeen(bool seen);
|
| +
|
| +// Record that the search results generated by a tap were created, and if the
|
| +// user saw them.
|
| +void RecordTapResultsSeen(bool seen);
|
| +
|
| +// Record that the search results generated by a long-press selection were
|
| +// created, and if the user saw them.
|
| +void RecordSelectionResultsSeen(bool seen);
|
| +
|
| +// Record when a user makes a tap, if it resulted in a valid selection.
|
| +void RecordSelectionIsValid(bool valid);
|
| +
|
| +// Record the first time the panel enters |to_state|, which state it came from
|
| +// and why.
|
| +void RecordFirstStateEntry(PanelState from_state,
|
| + PanelState to_state,
|
| + StateChangeReason reason);
|
| +
|
| +// Record the first time the panel exits |from_state|, which state it changed
|
| +// to and why.
|
| +void RecordFirstStateExit(PanelState from_state,
|
| + PanelState to_state,
|
| + StateChangeReason reason);
|
| +
|
| +} // namespace ContextualSearch
|
| +
|
| +#endif // IOS_CHROME_BROWSER_UI_CONTEXTUAL_SEARCH_CONTEXTUAL_SEARCH_METRICS_H_
|
|
|