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.
5 #ifndef COMPONENTS_SEARCH_SEARCH_H_
6 #define COMPONENTS_SEARCH_SEARCH_H_
12 #include "base/basictypes.h"
13 #include "base/strings/string16.h"
17 // Returns whether the Instant Extended API is enabled.
18 bool IsInstantExtendedAPIEnabled();
20 // Returns the value to pass to the &espv CGI parameter when loading the
21 // embedded search page from the user's default search provider. Returns 0 if
22 // the Instant Extended API is not enabled.
23 uint64
EmbeddedSearchPageVersion();
25 // Type for a collection of experiment configuration parameters.
26 typedef std::vector
<std::pair
<std::string
, std::string
> > FieldTrialFlags
;
28 // Finds the active field trial group name and parses out the configuration
29 // flags. On success, |flags| will be filled with the field trial flags. |flags|
30 // must not be NULL. Returns true iff the active field trial is successfully
31 // parsed and not disabled.
32 // Note that |flags| may be successfully populated in some cases when false is
33 // returned - in these cases it should not be used.
34 // Exposed for testing only.
35 bool GetFieldTrialInfo(FieldTrialFlags
* flags
);
37 // Given a FieldTrialFlags object, returns the string value of the provided
39 // Exposed for testing only.
40 std::string
GetStringValueForFlagWithDefault(const std::string
& flag
,
41 const std::string
& default_value
,
42 const FieldTrialFlags
& flags
);
44 // Given a FieldTrialFlags object, returns the uint64 value of the provided
46 // Exposed for testing only.
47 uint64
GetUInt64ValueForFlagWithDefault(const std::string
& flag
,
49 const FieldTrialFlags
& flags
);
51 // Given a FieldTrialFlags object, returns the bool value of the provided flag.
52 // Exposed for testing only.
53 bool GetBoolValueForFlagWithDefault(const std::string
& flag
,
55 const FieldTrialFlags
& flags
);
57 // Returns true if 'hide_verbatim' flag is enabled in field trials
58 // to hide the top match in the native suggestions dropdown if it is a verbatim
59 // match. See comments on ShouldHideTopMatch in autocomplete_result.h.
60 bool ShouldHideTopVerbatimMatch();
64 #endif // COMPONENTS_SEARCH_SEARCH_H_