#include "content/browser/browser_context_impl.h"
#include <utility>
#include "base/memory/ref_counted.h"
#include "base/task/sequenced_task_runner.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
#include "content/browser/background_sync/background_sync_scheduler.h"
#include "content/browser/browsing_data/browsing_data_remover_impl.h"
#include "content/browser/download/download_manager_impl.h"
#include "content/browser/in_memory_federated_permission_context.h"
#include "content/browser/permissions/permission_controller_impl.h"
#include "content/browser/preloading/prefetch/prefetch_service.h"
#include "content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot_cache.h"
#include "content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot_manager.h"
#include "content/browser/renderer_host/navigation_transitions/navigation_transition_config.h"
#include "content/browser/speech/tts_controller_impl.h"
#include "content/browser/storage_partition_impl.h"
#include "content/browser/storage_partition_impl_map.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/shared_worker_service.h"
#include "media/capabilities/webrtc_video_stats_db_impl.h"
#include "media/learning/common/media_learning_tasks.h"
#include "media/learning/impl/learning_session_impl.h"
#include "media/mojo/services/video_decode_perf_history.h"
#include "media/mojo/services/webrtc_video_perf_history.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "storage/browser/file_system/external_mount_points.h"
#endif
namespace content {
namespace {
void NotifyContextWillBeDestroyed(StoragePartition* partition) { … }
void RegisterMediaLearningTask(
media::learning::LearningSessionImpl* learning_session,
const media::learning::LearningTask& task) { … }
}
BrowserContextImpl* BrowserContextImpl::From(BrowserContext* self) { … }
BrowserContextImpl::BrowserContextImpl(BrowserContext* self) : … { … }
BrowserContextImpl::~BrowserContextImpl() { … }
bool BrowserContextImpl::ShutdownStarted() { … }
void BrowserContextImpl::NotifyWillBeDestroyed() { … }
StoragePartitionImplMap* BrowserContextImpl::GetOrCreateStoragePartitionMap() { … }
BrowsingDataRemoverImpl* BrowserContextImpl::GetBrowsingDataRemover() { … }
media::learning::LearningSession* BrowserContextImpl::GetLearningSession() { … }
media::VideoDecodePerfHistory* BrowserContextImpl::GetVideoDecodePerfHistory() { … }
std::unique_ptr<media::WebrtcVideoPerfHistory>
BrowserContextImpl::CreateWebrtcVideoPerfHistory() { … }
media::WebrtcVideoPerfHistory* BrowserContextImpl::GetWebrtcVideoPerfHistory() { … }
void BrowserContextImpl::ShutdownStoragePartitions() { … }
DownloadManager* BrowserContextImpl::GetDownloadManager() { … }
void BrowserContextImpl::SetDownloadManagerForTesting(
std::unique_ptr<DownloadManager> download_manager) { … }
PermissionController* BrowserContextImpl::GetPermissionController() { … }
void BrowserContextImpl::SetPermissionControllerForTesting(
std::unique_ptr<PermissionController> permission_controller) { … }
storage::ExternalMountPoints* BrowserContextImpl::GetMountPoints() { … }
PrefetchService* BrowserContextImpl::GetPrefetchService() { … }
InMemoryFederatedPermissionContext*
BrowserContextImpl::GetFederatedPermissionContext() { … }
void BrowserContextImpl::ResetFederatedPermissionContext() { … }
void BrowserContextImpl::SetPrefetchServiceForTesting(
std::unique_ptr<PrefetchService> prefetch_service) { … }
NavigationEntryScreenshotManager*
BrowserContextImpl::GetNavigationEntryScreenshotManager() { … }
void BrowserContextImpl::WriteIntoTrace(
perfetto::TracedProto<TraceProto> proto) const { … }
}