// 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. #ifndef COMPONENTS_HISTORY_CLUSTERS_CORE_CONFIG_H_ #define COMPONENTS_HISTORY_CLUSTERS_CORE_CONFIG_H_ #include <string> #include "base/containers/flat_set.h" #include "base/time/time.h" namespace history_clusters { namespace switches { extern const char kShouldShowAllClustersOnProminentUiSurfaces[]; } // namespace switches // The default configuration. Always use |GetConfig()| to get the current // configuration. // // Config has the same thread-safety as base::FeatureList. The first call to // GetConfig() (which performs initialization) must be done single threaded on // the main thread. After that, Config can be read from any thread. struct Config { … }; // Returns true if |application_locale| is supported by Journeys. // This is a costly check: Should be called only if // |is_journeys_enabled_no_locale_check| is true, and the result should be // cached. bool IsApplicationLocaleSupportedByJourneys( const std::string& application_locale); // Gets the current configuration. const Config& GetConfig(); // Overrides the config returned by |GetConfig()|. void SetConfigForTesting(const Config& config); } // namespace history_clusters #endif // COMPONENTS_HISTORY_CLUSTERS_CORE_CONFIG_H_