blob: a53e9f1ce2d7d0362561863025405c08710dca6e [file] [log] [blame]
Charlene Yan0724dc562019-04-12 17:57:411// 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// This file defines the browser-specific base::FeatureList features that are
6// limited to top chrome UI.
7
8#ifndef CHROME_BROWSER_UI_UI_FEATURES_H_
9#define CHROME_BROWSER_UI_UI_FEATURES_H_
10
11#include "base/feature_list.h"
Thomas Lukaszewicz31c038da2020-09-24 22:49:0712#include "base/metrics/field_trial_params.h"
Charlene Yan0724dc562019-04-12 17:57:4113#include "build/build_config.h"
Yuta Hijikata40b891d2020-11-27 09:05:0114#include "build/chromeos_buildflags.h"
Peter Boström92add81d2019-08-12 22:14:2415#include "chrome/common/buildflags.h"
Devlin Cronin5739bf02020-05-15 00:38:3816#include "extensions/buildflags/buildflags.h"
Charlene Yan0724dc562019-04-12 17:57:4117
18namespace features {
19
20// All features in alphabetical order. The features should be documented
21// alongside the definition of their values in the .cc file.
22
Christopher Thompsonf3ba20122019-06-06 22:01:0123extern const base::Feature kEvDetailsInPageInfo;
24
Devlin Cronin5739bf02020-05-15 00:38:3825#if BUILDFLAG(ENABLE_EXTENSIONS)
26extern const base::Feature kExtensionSettingsOverriddenDialogs;
27#endif
28
Charlene Yan0724dc562019-04-12 17:57:4129extern const base::Feature kExtensionsToolbarMenu;
30
rbpotter8c735ba2020-11-12 14:11:5531extern const base::Feature kForceEnablePrivetPrinting;
32
Monica Bastae2331412020-04-10 14:07:3033extern const base::Feature kNewProfilePicker;
34
Taylor Bergquist187a9f92019-08-12 22:13:1535extern const base::Feature kNewTabstripAnimation;
36
Joel Hockey73bc7122019-10-20 21:41:1137extern const base::Feature kProminentDarkModeActiveTabTitle;
38
Charlene Yan0ccd7f52019-04-12 23:20:5939extern const base::Feature kScrollableTabStrip;
40
Charlene Yana8164102020-11-10 04:39:4841extern const base::Feature kScrollableTabStripButtons;
42
Peter Boström259e1472020-10-22 22:26:2443extern const base::Feature kSidePanel;
44
David Roger35135bb2020-09-24 13:16:3945extern const base::Feature kProfilesUIRevamp;
dizgad7fe842020-08-12 16:55:1646
Charlene Yan45ff10d92020-09-16 03:14:5947extern const base::Feature kTabGroupsAutoCreate;
48
Charlene Yand49235292020-03-14 00:55:4349extern const base::Feature kTabGroupsCollapse;
50
Charlene Yan65e7cfe2020-07-28 18:55:2951extern const base::Feature kTabGroupsCollapseFreezing;
52
Charlene Yan5b80e052020-04-02 20:48:5653extern const base::Feature kTabGroupsFeedback;
54
Charlene Yan0724dc562019-04-12 17:57:4155extern const base::Feature kTabHoverCards;
56extern const char kTabHoverCardsFeatureParameterName[];
57
58extern const base::Feature kTabHoverCardImages;
59
Dana Fried07b03c62019-07-31 19:20:5660extern const base::Feature kTabOutlinesInLowContrastThemes;
61
Yuheng Huang4a8125c2020-06-23 20:45:3662extern const base::Feature kTabSearch;
63
Roman Arora4d4bb4b2020-09-24 17:28:1364extern const base::Feature kTabSearchFeedback;
65
Thomas Lukaszewicz31c038da2020-09-24 22:49:0766// Setting this to true will ignore the distance parameter when finding matches.
67// This means that it will not matter where in the string the pattern occurs.
68extern const base::FeatureParam<bool> kTabSearchSearchIgnoreLocation;
69
70// Determines how close the match must be to the beginning of the string. Eg a
71// distance of 100 and threshold of 0.8 would require a perfect match to be
72// within 80 characters of the beginning of the string.
73extern const base::FeatureParam<int> kTabSearchSearchDistance;
74
75// This determines how strong the match should be for the item to be included in
76// the result set. Eg a threshold of 0.0 requires a perfect match, 1.0 would
77// match anything. Permissible values are [0.0, 1.0].
78extern const base::FeatureParam<double> kTabSearchSearchThreshold;
79
80// These are the hardcoded minimum and maximum search threshold values for
81// |kTabSearchSearchThreshold|.
82constexpr double kTabSearchSearchThresholdMin = 0.0;
83constexpr double kTabSearchSearchThresholdMax = 1.0;
84
85// Controls how heavily weighted the tab's title is relative to the hostname.
86extern const base::FeatureParam<double> kTabSearchTitleToHostnameWeightRatio;
87
Yuheng Huangb2aa1bd42020-11-11 20:07:0988// Whether to move the active tab to the bottom of the list.
89extern const base::FeatureParam<bool> kTabSearchMoveActiveTabToBottom;
90
Peter Boström6e721192019-08-15 18:49:0291extern const base::Feature kWebFooterExperiment;
92
Collin Baker33a13f52019-12-13 00:30:2393extern const base::Feature kWebUITabStrip;
94
Yuta Hijikata40b891d2020-11-27 09:05:0195#if BUILDFLAG(IS_CHROMEOS_ASH)
Melissa Galonskya0c17c92019-06-27 18:34:1996extern const base::Feature kHiddenNetworkWarning;
Harry Cutts5b430df2020-09-22 11:22:2997extern const base::Feature kSeparatePointingStickSettings;
Yuta Hijikata40b891d2020-11-27 09:05:0198#endif // BUILDFLAG(IS_CHROMEOS_ASH)
Charlene Yan0724dc562019-04-12 17:57:4199} // namespace features
100
101#endif // CHROME_BROWSER_UI_UI_FEATURES_H_