#include "chrome/browser/extensions/extension_service_test_base.h"
#include "base/memory/raw_ptr.h"
#include <utility>
#include "base/command_line.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/memory/ref_counted.h"
#include "base/path_service.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/task_environment.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/bookmarks/managed_bookmark_service_factory.h"
#include "chrome/browser/extensions/component_loader.h"
#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/extension_garbage_collector_factory.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/load_error_reporter.h"
#include "chrome/browser/extensions/shared_module_service.h"
#include "chrome/browser/extensions/test_extension_system.h"
#include "chrome/browser/extensions/updater/extension_updater.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
#include "chrome/browser/prefs/browser_prefs.h"
#include "chrome/browser/signin/chrome_signin_client_factory.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/browser/signin/identity_test_environment_profile_adaptor.h"
#include "chrome/browser/signin/test_signin_client_builder.h"
#include "chrome/browser/sync/sync_service_factory.h"
#include "chrome/browser/trusted_vault/trusted_vault_service_factory.h"
#include "chrome/common/buildflags.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile.h"
#include "components/crx_file/crx_verifier.h"
#include "components/policy/core/common/policy_service_impl.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/sync_preferences/pref_service_mock_factory.h"
#include "components/sync_preferences/pref_service_syncable.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/test/browser_task_environment.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/pref_names.h"
#include "extensions/common/extensions_client.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ash/extensions/install_limiter.h"
#endif
namespace extensions {
namespace {
std::unique_ptr<TestingProfile> BuildTestingProfile(
ExtensionServiceTestBase::ExtensionServiceInitParams params,
base::ScopedTempDir& temp_dir,
policy::PolicyService* policy_service) { … }
}
ExtensionServiceTestBase::ExtensionServiceInitParams::
ExtensionServiceInitParams() = default;
ExtensionServiceTestBase::ExtensionServiceInitParams::
ExtensionServiceInitParams(ExtensionServiceInitParams&& other) = default;
ExtensionServiceTestBase::ExtensionServiceInitParams::
~ExtensionServiceInitParams() = default;
bool ExtensionServiceTestBase::ExtensionServiceInitParams::
SetPrefsContentFromFile(const base::FilePath& filepath) { … }
bool ExtensionServiceTestBase::ExtensionServiceInitParams::
ConfigureByTestDataDirectory(const base::FilePath& filepath) { … }
ExtensionServiceTestBase::ExtensionServiceTestBase()
: … { … }
ExtensionServiceTestBase::ExtensionServiceTestBase(
std::unique_ptr<content::BrowserTaskEnvironment> task_environment)
: … { … }
ExtensionServiceTestBase::~ExtensionServiceTestBase() { … }
void ExtensionServiceTestBase::InitializeExtensionService(
ExtensionServiceTestBase::ExtensionServiceInitParams params) { … }
bool ExtensionServiceTestBase::ShouldAllowMV2Extensions() { … }
void ExtensionServiceTestBase::InitializeEmptyExtensionService() { … }
void ExtensionServiceTestBase::InitializeGoodInstalledExtensionService() { … }
void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() { … }
void ExtensionServiceTestBase::
InitializeExtensionServiceWithExtensionsDisabled() { … }
size_t ExtensionServiceTestBase::GetPrefKeyCount() { … }
void ExtensionServiceTestBase::ValidatePrefKeyCount(size_t count) { … }
testing::AssertionResult ExtensionServiceTestBase::ValidateBooleanPref(
const std::string& extension_id,
const std::string& pref_path,
bool expected_val) { … }
void ExtensionServiceTestBase::ValidateIntegerPref(
const std::string& extension_id,
const std::string& pref_path,
int expected_val) { … }
void ExtensionServiceTestBase::ValidateStringPref(
const std::string& extension_id,
const std::string& pref_path,
const std::string& expected_val) { … }
void ExtensionServiceTestBase::SetUp() { … }
void ExtensionServiceTestBase::TearDown() { … }
void ExtensionServiceTestBase::SetUpTestSuite() { … }
content::BrowserContext* ExtensionServiceTestBase::browser_context() { … }
Profile* ExtensionServiceTestBase::profile() { … }
sync_preferences::TestingPrefServiceSyncable*
ExtensionServiceTestBase::testing_pref_service() { … }
void ExtensionServiceTestBase::CreateExtensionService(
bool is_first_run,
bool autoupdate_enabled,
bool extensions_enabled,
bool enable_install_limiter) { … }
}