blob: 981e67aa88d9fe40824db797a9e9d92b807accfa [file] [log] [blame]
Avi Drissman8ba1bad2022-09-13 19:22:361// Copyright 2020 The Chromium Authors
Ehimare Okoyomon2eccb6072020-05-12 12:22:272// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Olesia Marukhno46ccd432021-12-03 08:50:275#include "components/page_info/core/features.h"
Ehimare Okoyomon2eccb6072020-05-12 12:22:276
Christian Dullweber48eacbd2024-01-29 10:11:377#include <string_view>
Christian Dullweber94b26012023-03-16 10:52:248#include "base/containers/contains.h"
Christian Dullweber48eacbd2024-01-29 10:11:379#include "base/containers/fixed_flat_set.h"
Ehimare Okoyomon2eccb6072020-05-12 12:22:2710#include "base/feature_list.h"
11#include "base/metrics/field_trial_params.h"
Xiaohan Wangd9e3b1f02022-01-14 14:48:3512#include "build/build_config.h"
Christian Dullweber329dad32022-04-20 17:45:3813#include "ui/base/l10n/l10n_util.h"
Ehimare Okoyomon2eccb6072020-05-12 12:22:2714
15namespace page_info {
Christian Dullweber48eacbd2024-01-29 10:11:3716constexpr auto kDefaultLangs = base::MakeFixedFlatSet<std::string_view>({
17 "ar", "bg", "ca", "cs", "da", "de", "el", "en", "es", "et",
18 "fi", "fr", "he", "hi", "hr", "hu", "id", "it", "ja", "ko",
19 "lt", "lv", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl",
20 "sr", "sv", "sw", "th", "tr", "uk", "vi", "zh",
21});
Christian Dullweber94b26012023-03-16 10:52:2422
Christian Dullweber329dad32022-04-20 17:45:3823extern bool IsAboutThisSiteFeatureEnabled(const std::string& locale) {
Christian Dullweber94b26012023-03-16 10:52:2424 std::string lang = l10n_util::GetLanguage(locale);
Christian Dullweber48eacbd2024-01-29 10:11:3725 if (base::Contains(kDefaultLangs, lang)) {
Christian Dullweber686e52c2023-06-15 08:52:1826 return base::FeatureList::IsEnabled(kPageInfoAboutThisSite);
Christian Dullweber329dad32022-04-20 17:45:3827 }
Christian Dullweber686e52c2023-06-15 08:52:1828 return base::FeatureList::IsEnabled(kPageInfoAboutThisSiteMoreLangs);
Christian Dullweber329dad32022-04-20 17:45:3829}
Olesia Marukhno0fc754b2021-09-17 15:05:0630
Christian Dullweber686e52c2023-06-15 08:52:1831BASE_FEATURE(kPageInfoAboutThisSite,
32 "PageInfoAboutThisSite",
Christian Dullweber239e5ca92024-05-30 15:51:3133 base::FEATURE_ENABLED_BY_DEFAULT
Christian Dullweber239e5ca92024-05-30 15:51:3134);
Christian Dullweber686e52c2023-06-15 08:52:1835BASE_FEATURE(kPageInfoAboutThisSiteMoreLangs,
36 "PageInfoAboutThisSiteMoreLangs",
Daniel Chengd2879972022-09-26 09:12:2037 base::FEATURE_DISABLED_BY_DEFAULT);
Christian Dullweber329dad32022-04-20 17:45:3838
Christian Dullweber686e52c2023-06-15 08:52:1839const base::FeatureParam<bool> kShowSampleContent{&kPageInfoAboutThisSite,
Christian Dullweber8303ced2022-01-28 13:53:2240 "ShowSampleContent", false};
Christian Dullweberd933ad52021-10-28 09:31:2341
Xiaohan Wangd9e3b1f02022-01-14 14:48:3542#if !BUILDFLAG(IS_ANDROID)
Daniel Chengd2879972022-09-26 09:12:2043BASE_FEATURE(kPageInfoHistoryDesktop,
44 "PageInfoHistoryDesktop",
45 base::FEATURE_DISABLED_BY_DEFAULT);
Zofia Salata1f9c6ae2022-07-21 16:23:3146
Daniel Chengd2879972022-09-26 09:12:2047BASE_FEATURE(kPageInfoHideSiteSettings,
48 "PageInfoHideSiteSettings",
49 base::FEATURE_DISABLED_BY_DEFAULT);
Zofia Salata2a841f52022-07-27 10:55:1050
Olesia Marukhno72f47472021-12-13 16:53:3751#endif
52
Olesia Marukhno4d09c9072021-04-08 09:43:2353} // namespace page_info