blob: 23427eeb822b6811329b5db0f46e35dcdda4b3b4 [file] [log] [blame]
Tomasz Wiszkowskid938a1112019-03-06 18:01:571// Copyright 2019 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#include "components/omnibox/common/omnibox_features.h"
6
manukc32a8eff2019-07-02 15:48:307#include "build/build_config.h"
8
Tomasz Wiszkowskid938a1112019-03-06 18:01:579namespace omnibox {
10
manuk06717f92020-05-29 15:38:4711const auto enabled_by_default_desktop_only =
12#if defined(OS_ANDROID) || defined(OS_IOS)
13 base::FEATURE_DISABLED_BY_DEFAULT
14#else
15 base::FEATURE_ENABLED_BY_DEFAULT
16#endif
17 ;
18
Tomasz Wiszkowski8a0e0dc42020-02-19 00:06:3719// Allows Omnibox to dynamically adjust number of offered suggestions to fill in
20// the space between Omnibox an the soft keyboard. The number of suggestions
21// shown will be no less than minimum for the platform (eg. 5 for Android).
22const base::Feature kAdaptiveSuggestionsCount{
23 "OmniboxAdaptiveSuggestionsCount", base::FEATURE_DISABLED_BY_DEFAULT};
24
Tomasz Wiszkowskid938a1112019-03-06 18:01:5725// Feature used to hide the scheme from steady state URLs displayed in the
26// toolbar. It is restored during editing.
manuk06717f92020-05-29 15:38:4727const base::Feature kHideFileUrlScheme{
28 "OmniboxUIExperimentHideFileUrlScheme",
29 // Android and iOS don't have the File security chip, and therefore still
30 // need to show the file scheme.
31 enabled_by_default_desktop_only};
Tomasz Wiszkowskid938a1112019-03-06 18:01:5732
manukaddd3c42019-04-09 21:20:5933// Feature used to enable local entity suggestions. Similar to rich entities but
34// but location specific. E.g., typing 'starbucks near' could display the local
35// entity suggestion 'starbucks near disneyland \n starbucks * Anaheim, CA'.
36const base::Feature kOmniboxLocalEntitySuggestions{
37 "OmniboxLocalEntitySuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
38
Tomasz Wiszkowskid938a1112019-03-06 18:01:5739// Feature used to enable swapping the rows on answers.
40const base::Feature kOmniboxReverseAnswers{"OmniboxReverseAnswers",
41 base::FEATURE_DISABLED_BY_DEFAULT};
42
Kevin Bailey7d918b92019-05-02 16:00:1443// Feature used to enable matching short words to bookmarks for suggestions.
44const base::Feature kOmniboxShortBookmarkSuggestions{
45 "OmniboxShortBookmarkSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
46
Tomasz Wiszkowskid938a1112019-03-06 18:01:5747// Feature used to force on the experiment of transmission of tail suggestions
48// from GWS to this client, currently testing for desktop.
49const base::Feature kOmniboxTailSuggestions{
50 "OmniboxTailSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
51
Kevin Bailey37bbf1d2019-08-21 19:23:5552// Feature that enables the tab-switch suggestions corresponding to an open
53// tab, for a button or dedicated suggestion. Enabled by default on Desktop
54// and iOS.
Tomasz Wiszkowskid938a1112019-03-06 18:01:5755const base::Feature kOmniboxTabSwitchSuggestions{
56 "OmniboxTabSwitchSuggestions",
Stepan Khapuginb09801662019-05-07 10:17:0457#if defined(OS_ANDROID)
Tomasz Wiszkowskid938a1112019-03-06 18:01:5758 base::FEATURE_DISABLED_BY_DEFAULT
59#else
60 base::FEATURE_ENABLED_BY_DEFAULT
61#endif
62};
63
Tomasz Wiszkowskid938a1112019-03-06 18:01:5764// Feature used to enable various experiments on keyword mode, UI and
65// suggestions.
66const base::Feature kExperimentalKeywordMode{"OmniboxExperimentalKeywordMode",
67 base::FEATURE_DISABLED_BY_DEFAULT};
68
Tomasz Wiszkowskid938a1112019-03-06 18:01:5769// Feature to enable clipboard provider to suggest searching for copied images.
70const base::Feature kEnableClipboardProviderImageSuggestions{
Robbie Gibson85cef3182019-07-21 15:10:2971 "OmniboxEnableClipboardProviderImageSuggestions",
72#if defined(OS_IOS)
73 base::FEATURE_ENABLED_BY_DEFAULT
74#else
75 base::FEATURE_DISABLED_BY_DEFAULT
76#endif
77};
Tomasz Wiszkowskid938a1112019-03-06 18:01:5778
79// Feature to enable the search provider to send a request to the suggest
80// server on focus. This allows the suggest server to warm up, by, for
81// example, loading per-user models into memory. Having a per-user model
82// in memory allows the suggest server to respond more quickly with
83// personalized suggestions as the user types.
84const base::Feature kSearchProviderWarmUpOnFocus{
85 "OmniboxWarmUpSearchProviderOnFocus",
86#if defined(OS_IOS)
87 base::FEATURE_DISABLED_BY_DEFAULT
88#else
89 base::FEATURE_ENABLED_BY_DEFAULT
90#endif
91};
92
Tomasz Wiszkowskid938a1112019-03-06 18:01:5793// Feature used to display the title of the current URL match.
94const base::Feature kDisplayTitleForCurrentUrl{
95 "OmniboxDisplayTitleForCurrentUrl",
96#if !defined(OS_IOS)
97 base::FEATURE_ENABLED_BY_DEFAULT
98#else
99 base::FEATURE_DISABLED_BY_DEFAULT
100#endif
101};
102
Tomasz Wiszkowskid938a1112019-03-06 18:01:57103// Feature used to always swap the title and URL.
104const base::Feature kUIExperimentSwapTitleAndUrl{
105 "OmniboxUIExperimentSwapTitleAndUrl",
106#if defined(OS_IOS) || defined(OS_ANDROID)
107 base::FEATURE_DISABLED_BY_DEFAULT
108#else
109 base::FEATURE_ENABLED_BY_DEFAULT
110#endif
111};
112
Tomasz Wiszkowskid938a1112019-03-06 18:01:57113// Feature used to enable speculatively starting a service worker associated
114// with the destination of the default match when the user's input looks like a
115// query.
116const base::Feature kSpeculativeServiceWorkerStartOnQueryInput{
117 "OmniboxSpeculativeServiceWorkerStartOnQueryInput",
118 base::FEATURE_ENABLED_BY_DEFAULT
119};
120
121// Feature used to fetch document suggestions.
122const base::Feature kDocumentProvider{"OmniboxDocumentProvider",
123 base::FEATURE_DISABLED_BY_DEFAULT};
124
manuk4542e232019-09-11 19:27:35125// Feature used to autocomplete bookmark, history, and document suggestions when
126// the user input is a prefix of their titles, as opposed to their URLs.
127const base::Feature kAutocompleteTitles{"OmniboxAutocompleteTitles",
128 base::FEATURE_DISABLED_BY_DEFAULT};
129
Patrick Noland2b4968b2019-06-27 14:50:26130// Returns whether IsInstantExtendedAPIEnabled should be ignored when deciding
131// the number of Google-provided search suggestions.
132const base::Feature kOmniboxDisableInstantExtendedLimit{
Ender0c8b5b42020-05-26 22:52:51133 "OmniboxDisableInstantExtendedLimit",
134#if defined(OS_ANDROID)
135 base::FEATURE_ENABLED_BY_DEFAULT
136#else
137 base::FEATURE_DISABLED_BY_DEFAULT
138#endif
139};
Patrick Noland2b4968b2019-06-27 14:50:26140
Brandon Wylief8dd4e82019-07-11 16:39:57141// Show the search engine logo in the omnibox on Android (desktop already does
142// this).
143const base::Feature kOmniboxSearchEngineLogo{"OmniboxSearchEngineLogo",
Brandon Wyliee480f8252020-07-28 19:25:01144 base::FEATURE_ENABLED_BY_DEFAULT};
Brandon Wylief8dd4e82019-07-11 16:39:57145
manukbf3c8ab2019-10-24 16:52:08146// Feature used to allow users to remove suggestions from clipboard.
147const base::Feature kOmniboxRemoveSuggestionsFromClipboard{
Gang Wu8f978362020-05-05 17:53:03148 "OmniboxRemoveSuggestionsFromClipboard",
149#if defined(OS_ANDROID)
150 base::FEATURE_ENABLED_BY_DEFAULT
151#else
152 base::FEATURE_DISABLED_BY_DEFAULT
153#endif
154};
manukbf3c8ab2019-10-24 16:52:08155
manukbf3c8ab2019-10-24 16:52:08156// Feature to debounce drive requests from the document provider.
157const base::Feature kDebounceDocumentProvider{
158 "OmniboxDebounceDocumentProvider", base::FEATURE_DISABLED_BY_DEFAULT};
159
Tommy Li6390ecc2019-09-06 21:08:57160// Preserves the default match against change when providers return results
161// asynchronously. This prevents the default match from changing after the user
162// finishes typing. Without this feature, if the default match is updated right
163// when the user presses Enter, the user may go to a surprising destination.
164const base::Feature kOmniboxPreserveDefaultMatchAgainstAsyncUpdate{
165 "OmniboxPreserveDefaultMatchAgainstAsyncUpdate",
Tommy Li2b9db032020-03-02 22:12:14166 base::FEATURE_ENABLED_BY_DEFAULT};
Tommy Li6390ecc2019-09-06 21:08:57167
manuk7b89f6642019-11-08 19:25:24168// Demotes the relevance scores when comparing suggestions based on the
169// suggestion's |AutocompleteMatchType| and the user's |PageClassification|.
170// This feature's main job is to contain the DemoteByType parameter.
171const base::Feature kOmniboxDemoteByType{"OmniboxDemoteByType",
172 base::FEATURE_DISABLED_BY_DEFAULT};
173
Justin Donnelly477e35e2020-04-02 14:40:00174// A special flag, enabled by default, that can be used to disable all new
175// search features (e.g. zero suggest).
176const base::Feature kNewSearchFeatures{"OmniboxNewSearchFeatures",
177 base::FEATURE_ENABLED_BY_DEFAULT};
178
manuk89d73982020-05-12 01:17:34179// Feature used to cap max zero suggestions shown according to the param
180// OmniboxMaxZeroSuggestMatches. If omitted,
181// OmniboxUIExperimentMaxAutocompleteMatches will be used instead. If present,
182// OmniboxMaxZeroSuggestMatches will override
183// OmniboxUIExperimentMaxAutocompleteMatches when |from_omnibox_focus| is true.
184const base::Feature kMaxZeroSuggestMatches{"OmniboxMaxZeroSuggestMatches",
185 base::FEATURE_DISABLED_BY_DEFAULT};
186
manuk89d73982020-05-12 01:17:34187// Feature used to cap max suggestions shown according to the params
188// UIMaxAutocompleteMatches and UIMaxAutocompleteMatchesByProvider.
189const base::Feature kUIExperimentMaxAutocompleteMatches{
190 "OmniboxUIExperimentMaxAutocompleteMatches",
191 base::FEATURE_DISABLED_BY_DEFAULT};
192
Justin Donnelly444aa062020-05-14 23:27:20193// Feature used to cap the number of URL-type matches shown within the
194// Omnibox. If enabled, the number of URL-type matches is limited (unless
195// there are no more non-URL matches available.) If enabled, there is a
196// companion parameter - OmniboxMaxURLMatches - which specifies the maximum
197// desired number of URL-type matches.
198const bool kOmniboxMaxURLMatchesEnabledByDefault =
199#if defined(OS_IOS) || defined(OS_ANDROID)
200 false;
201#else
202 true;
203#endif
204const base::Feature kOmniboxMaxURLMatches{
205 "OmniboxMaxURLMatches", kOmniboxMaxURLMatchesEnabledByDefault
206 ? base::FEATURE_ENABLED_BY_DEFAULT
207 : base::FEATURE_DISABLED_BY_DEFAULT};
208
manuk4e2979d2020-07-08 23:29:28209// Feature used to cap max suggestions to a dynamic limit based on how many URLs
210// would be shown. E.g., show up to 10 suggestions if doing so would display no
211// URLs; else show up to 8 suggestions if doing so would include 1 or more URLs.
212const base::Feature kDynamicMaxAutocomplete{"OmniboxDynamicMaxAutocomplete",
213 base::FEATURE_DISABLED_BY_DEFAULT};
214
Tommy Li354a0e42020-07-30 16:46:14215// If enabled, when the user clears the whole omnibox text (i.e. via Backspace),
Tommy Li19e27ede2020-08-14 22:52:40216// Chrome will request remote ZeroSuggest suggestions for the OTHER page
217// classification (contextual web).
218const base::Feature kClobberTriggersContextualWebZeroSuggest{
219 "OmniboxClobberTriggersContextualWebZeroSuggest",
220 base::FEATURE_DISABLED_BY_DEFAULT};
Tommy Li354a0e42020-07-30 16:46:14221
Tommy Lie8ecbf8b2020-08-13 00:19:05222// Disable this flag to prevent focus gestures (e.g. clicks, taps, Ctrl+L) from
223// triggering ZeroSuggest for the OTHER page classification (contextual web).
224// This is used to experiment with alternate ZeroSuggest triggers like clobber.
225//
226// Note, this flag is Enabled by default, as on-focus is the standard
227// ZeroSuggest trigger. This flag doesn't affect the NTP or SERP.
228// We don't want to accidentally unlaunch on-focus NTP ZeroSuggest.
229const base::Feature kFocusGestureTriggersContextualWebZeroSuggest{
230 "OmniboxFocusGestureTriggersContextualWebZeroSuggest",
231 base::FEATURE_ENABLED_BY_DEFAULT};
232
Moe Ahmadi38b04ce3d2020-07-09 22:14:15233// If enabled, ranks the local zero-prefix suggestions based on frecency
234// (combined frequency and recency).
235const base::Feature kOmniboxLocalZeroSuggestFrecencyRanking{
236 "OmniboxLocalZeroSuggestFrecencyRanking",
237 base::FEATURE_DISABLED_BY_DEFAULT};
238
Moe Ahmadi72c8e812020-07-10 21:34:23239// Used to adjust the age threshold since the last visit in order to consider a
240// normalized keyword search term as a zero-prefix suggestion. If disabled, the
241// default value of history::kLowQualityMatchAgeLimitInDays is used. If enabled,
242// the age threshold is determined by this feature's companion parameter,
243// OmniboxFieldTrial::kOmniboxLocalZeroSuggestAgeThresholdParam.
244const base::Feature kOmniboxLocalZeroSuggestAgeThreshold{
245 "OmniboxLocalZeroSuggestAgeThreshold", base::FEATURE_DISABLED_BY_DEFAULT};
246
Tommy Lib4b3bb5b2020-05-01 02:34:56247// Feature that configures ZeroSuggestProvider using the "ZeroSuggestVariant"
248// per-page-classification parameter.
Tommy Li55784022020-04-28 20:58:18249//
Tommy Lib4b3bb5b2020-05-01 02:34:56250// Generally speaking - do NOT use this for future server-side experiments.
251// Instead, create your a new narrowly scoped base::Feature for each experiment.
252//
253// Because our Field Trial system can only configure this base::Feature in a
254// single study, and does not merge parameters, using this creates conflicts.
Tommy C. Li090105512019-05-16 22:00:56255const base::Feature kOnFocusSuggestions{"OmniboxOnFocusSuggestions",
256 base::FEATURE_ENABLED_BY_DEFAULT};
257
Tommy Li55784022020-04-28 20:58:18258// Enables on-focus suggestions on the Open Web, that are contextual to the
259// current URL. Will only work if user is signed-in and syncing, or is
260// otherwise eligible to send the current page URL to the suggest server.
Tommy Lie0a3a992020-05-29 21:32:05261//
262// There's multiple flags here for multiple backend configurations:
263// - Default (search queries)
264// - On-Content Suggestions
Tommy Li55784022020-04-28 20:58:18265const base::Feature kOnFocusSuggestionsContextualWeb{
266 "OmniboxOnFocusSuggestionsContextualWeb",
267 base::FEATURE_DISABLED_BY_DEFAULT};
Tommy Lie0a3a992020-05-29 21:32:05268const base::Feature kOnFocusSuggestionsContextualWebOnContent{
269 "OmniboxOnFocusSuggestionsContextualWebOnContent",
270 base::FEATURE_DISABLED_BY_DEFAULT};
Tommy Li55784022020-04-28 20:58:18271
Moe Ahmadi31147bc2020-06-02 19:07:56272// Enables Reactive Zero-Prefix Suggestions (rZPS) on the NTP, for the Omnibox
273// and Realbox respectively. Note: enabling this feature merely makes
Tommy Lib4b3bb5b2020-05-01 02:34:56274// ZeroSuggestProvider send the request. There are additional requirements,
Moe Ahmadi31147bc2020-06-02 19:07:56275// like the user being signed-in, and the suggest server having rZPS enabled.
276const base::Feature kReactiveZeroSuggestionsOnNTPOmnibox{
277 "OmniboxReactiveZeroSuggestionsOnNTPOmnibox",
Tommy Lib4b3bb5b2020-05-01 02:34:56278 base::FEATURE_DISABLED_BY_DEFAULT};
Moe Ahmadi31147bc2020-06-02 19:07:56279const base::Feature kReactiveZeroSuggestionsOnNTPRealbox{
280 "OmniboxReactiveZeroSuggestionsOnNTPRealbox",
Tommy Lib4b3bb5b2020-05-01 02:34:56281 base::FEATURE_DISABLED_BY_DEFAULT};
282
Tomasz Wiszkowski947f6d0d2019-03-15 22:27:25283// Allow suggestions to be shown to the user on the New Tab Page upon focusing
284// URL bar (the omnibox).
285const base::Feature kZeroSuggestionsOnNTP{"OmniboxZeroSuggestionsOnNTP",
Moe Ahmadi55b0f57c2020-08-15 01:20:03286 base::FEATURE_ENABLED_BY_DEFAULT};
Tomasz Wiszkowski947f6d0d2019-03-15 22:27:25287
Moe Ahmadi4005ec92019-09-09 16:55:53288// Allow suggestions to be shown to the user on the New Tab Page upon focusing
289// the real search box.
290const base::Feature kZeroSuggestionsOnNTPRealbox{
Moe Ahmadi55b0f57c2020-08-15 01:20:03291 "OmniboxZeroSuggestionsOnNTPRealbox", base::FEATURE_ENABLED_BY_DEFAULT};
Moe Ahmadi4005ec92019-09-09 16:55:53292
Tommy Li1d03b9bf2019-09-23 23:46:34293// Allow on-focus query refinements to be shown on the default SERP.
294const base::Feature kZeroSuggestionsOnSERP{"OmniboxZeroSuggestionsOnSERP",
295 base::FEATURE_ENABLED_BY_DEFAULT};
296
Ce Chenc8d803a2020-04-27 09:31:33297// Features to provide non personalized head search suggestion from a compact
298// on device model. More specifically, feature name with suffix Incognito /
299// NonIncognito will only controls behaviors under incognito / non-incognito
300// mode respectively.
301const base::Feature kOnDeviceHeadProviderIncognito{
302 "OmniboxOnDeviceHeadProviderIncognito", base::FEATURE_DISABLED_BY_DEFAULT};
303const base::Feature kOnDeviceHeadProviderNonIncognito{
304 "OmniboxOnDeviceHeadProviderNonIncognito",
305 base::FEATURE_DISABLED_BY_DEFAULT};
306
Justin Donnellyf2703482019-10-24 21:42:15307// If enabled, changes the way Google-provided search suggestions are scored by
308// the backend. Note that this Feature is only used for triggering a server-
309// side experiment config that will send experiment IDs to the backend. It is
310// not referred to in any of the Chromium code.
311const base::Feature kOmniboxExperimentalSuggestScoring{
312 "OmniboxExperimentalSuggestScoring", base::FEATURE_DISABLED_BY_DEFAULT};
313
manukh3bb80c92020-01-22 00:19:46314// If disabled, terms with no wordstart matches disqualify the suggestion unless
315// they occur in the URL host. If enabled, terms with no wordstart matches are
316// allowed but not scored. E.g., both inputs 'java script' and 'java cript' will
317// match a suggestion titled 'javascript' and score equivalently.
manukh5ff0f582020-01-14 03:54:13318const base::Feature kHistoryQuickProviderAllowButDoNotScoreMidwordTerms{
319 "OmniboxHistoryQuickProviderAllowButDoNotScoreMidwordTerms",
manuk8f1b1e1a2020-07-28 22:02:13320 base::FEATURE_ENABLED_BY_DEFAULT};
manukh5ff0f582020-01-14 03:54:13321
manukh3bb80c92020-01-22 00:19:46322// If disabled, midword matches are ignored except in the URL host, and input
323// terms with no wordstart matches are scored 0, resulting in an overall score
324// of 0. If enabled, midword matches are allowed and scored when they begin
325// immediately after the previous match ends. E.g. 'java script' will match a
326// suggestion titled 'javascript' but the input 'java cript' won't.
manukh5ff0f582020-01-14 03:54:13327const base::Feature kHistoryQuickProviderAllowMidwordContinuations{
328 "OmniboxHistoryQuickProviderAllowMidwordContinuations",
manuk8f1b1e1a2020-07-28 22:02:13329 base::FEATURE_ENABLED_BY_DEFAULT};
manukh5ff0f582020-01-14 03:54:13330
Tomasz Wiszkowski70fb35f2020-02-27 00:39:19331// If enabled, shows slightly more compact suggestions, allowing the
332// kAdaptiveSuggestionsCount feature to fit more suggestions on screen.
333const base::Feature kCompactSuggestions{"OmniboxCompactSuggestions",
334 base::FEATURE_DISABLED_BY_DEFAULT};
335
Tomasz Wiszkowski70fb35f2020-02-27 00:39:19336// If enabled, defers keyboard popup when user highlights the omnibox until
337// the user taps the Omnibox again.
338extern const base::Feature kDeferredKeyboardPopup{
339 "OmniboxDeferredKeyboardPopup", base::FEATURE_DISABLED_BY_DEFAULT};
340
manuk695f9d4532020-03-18 19:22:08341// If enabled, expands autocompletion to possibly (depending on params) include
342// suggestion titles and non-prefixes as opposed to be restricted to URL
343// prefixes. Will also adjust the location bar UI and omnibox text selection to
344// accommodate the autocompletions.
345const base::Feature kRichAutocompletion{"OmniboxRichAutocompletion",
346 base::FEATURE_DISABLED_BY_DEFAULT};
347
Filip Gorski05279842020-06-12 12:49:02348// Feature that enables Search Ready Omnibox in invognito.
349const base::Feature kOmniboxSearchReadyIncognito{
350 "OmniboxSearchReadyIncognito", base::FEATURE_DISABLED_BY_DEFAULT};
351
Orin Jaworskifc174722020-01-29 00:32:22352// Feature that puts a single row of buttons on suggestions with actionable
353// elements like keywords, tab-switch buttons, and Pedals.
354const base::Feature kOmniboxSuggestionButtonRow{
355 "OmniboxSuggestionButtonRow", base::FEATURE_DISABLED_BY_DEFAULT};
356
Justin Donnelly5726ecf2020-08-14 00:53:52357// Feature used to enable Pedal suggestions.
358const base::Feature kOmniboxPedalSuggestions{"OmniboxPedalSuggestions",
359 base::FEATURE_DISABLED_BY_DEFAULT};
360
361// Feature used to enable the keyword search button.
362const base::Feature kOmniboxKeywordSearchButton{
363 "OmniboxKeywordSearchButton", base::FEATURE_DISABLED_BY_DEFAULT};
364
Filip Gorski927709ea2020-04-30 15:58:37365// Enables using an Android RecyclerView to render the suggestions dropdown
366// instead of a ListView.
367const base::Feature kOmniboxSuggestionsRecyclerView{
368 "OmniboxSuggestionsRecyclerView", base::FEATURE_DISABLED_BY_DEFAULT};
369
Tomasz Wiszkowski5ec4f532020-05-19 21:28:10370// Allows long Omnibox suggestions to wrap around to next line.
371const base::Feature kOmniboxSuggestionsWrapAround{
372 "OmniboxSuggestionsWrapAround", base::FEATURE_DISABLED_BY_DEFAULT};
373
Tommy Li1f1fc4a2020-01-31 21:02:07374// If enabled, uses WebUI to render the omnibox suggestions popup, similar to
375// how the NTP "fakebox" is implemented.
376const base::Feature kWebUIOmniboxPopup{"WebUIOmniboxPopup",
377 base::FEATURE_DISABLED_BY_DEFAULT};
378
Brandon Wylie1299ff82020-01-23 02:13:37379// When enabled, use Assistant for omnibox voice query recognition instead of
380// Android's built-in voice recognition service. Only works on Android.
381const base::Feature kOmniboxAssistantVoiceSearch{
382 "OmniboxAssistantVoiceSearch", base::FEATURE_DISABLED_BY_DEFAULT};
383
Livvie Lin30a9f9d2020-03-17 19:45:19384// When enabled, provides an omnibox context menu option that prevents URL
385// elisions.
386const base::Feature kOmniboxContextMenuShowFullUrls{
387 "OmniboxContextMenuShowFullUrls", base::FEATURE_DISABLED_BY_DEFAULT};
388
Emily Stark4bca290ac2020-06-29 21:02:30389// Feature used to reveal the path, query and ref from steady state URLs
390// on hover.
391const base::Feature kRevealSteadyStateUrlPathQueryAndRefOnHover{
392 "OmniboxUIExperimentRevealSteadyStateUrlPathQueryAndRefOnHover",
393 base::FEATURE_DISABLED_BY_DEFAULT};
394
395// Feature used to hide the path, query and ref from steady state URLs
396// on interaction with the page.
397const base::Feature kHideSteadyStateUrlPathQueryAndRefOnInteraction{
398 "OmniboxUIExperimentHideSteadyStateUrlPathQueryAndRefOnInteraction",
399 base::FEATURE_DISABLED_BY_DEFAULT};
400
Joe DeBlasio6d5806e12020-08-06 17:27:18401// Feature used to possibly elide not just the path, query, and ref from steady
402// state URLs, but also subdomains beyond the registrable domain, depending on
403// whether the hostname fails lookalike checks. Has no effect unless
Emily Stark4bca290ac2020-06-29 21:02:30404// kRevealSteadyStateUrlPathQueryAndRefOnHover and/or
405// kHideSteadyStateUrlPathQueryAndRefOnInteraction are enabled.
Joe DeBlasio6d5806e12020-08-06 17:27:18406const base::Feature kMaybeElideToRegistrableDomain{
Emily Stark4bca290ac2020-06-29 21:02:30407 "OmniboxUIExperimentElideToRegistrableDomain",
408 base::FEATURE_DISABLED_BY_DEFAULT};
409
Tomasz Wiszkowskid938a1112019-03-06 18:01:57410} // namespace omnibox