blob: 7f686c94f5507c6fcb12d5fe6d4ad54c2d8a53b6 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/ui/omnibox/omnibox_ui_features.h"
#import "base/metrics/field_trial_params.h"
#import "components/omnibox/common/omnibox_features.h"
#import "ui/base/device_form_factor.h"
BASE_FEATURE(kEnableSuggestionsScrollingOnIPad,
"EnableSuggestionsScrollingOnIPad",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kEnablePopoutOmniboxIpad,
"EnablePopoutOmniboxIpad",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kOmniboxKeyboardPasteButton,
"OmniboxKeyboardPasteButton",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kOmniboxSuggestionsRTLImprovements,
"OmniboxSuggestionsRTLImprovements",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kOmniboxLockIconEnabled,
"OmniboxLockIconEnabled",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kOmniboxPopupRowContentConfiguration,
"OmniboxPopupRowContentConfiguration",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsIpadPopoutOmniboxEnabled() {
return base::FeatureList::IsEnabled(kEnablePopoutOmniboxIpad) &&
ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET;
}
bool IsRichAutocompletionEnabled() {
return base::FeatureList::IsEnabled(omnibox::kRichAutocompletion);
}
const char kRichAutocompletionParam[] = "RichAutocompletionParam";
const char kRichAutocompletionParamLabel[] = "Label";
const char kRichAutocompletionParamTextField[] = "TextField";
bool IsRichAutocompletionEnabled(RichAutocompletionImplementation type) {
if (!IsRichAutocompletionEnabled()) {
return false;
}
if (type == RichAutocompletionImplementation::kAny) {
return true;
}
std::string featureParam = base::GetFieldTrialParamValueByFeature(
omnibox::kRichAutocompletion, kRichAutocompletionParam);
if (type == RichAutocompletionImplementation::kTextField) {
return featureParam == kRichAutocompletionParamTextField;
}
// Label is the default.
return true;
}