#include "chrome/browser/page_content_annotations/page_content_annotations_service_factory.h"
#include <memory>
#include "base/feature_list.h"
#include "base/no_destructor.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/autocomplete/zero_suggest_cache_service_factory.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_attributes_entry.h"
#include "chrome/browser/profiles/profile_attributes_storage.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/search_engines/template_url_fetcher_factory.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "components/history/core/browser/history_service.h"
#include "components/leveldb_proto/public/proto_database_provider.h"
#include "components/omnibox/browser/zero_suggest_cache_service.h"
#include "components/optimization_guide/core/optimization_guide_features.h"
#include "components/page_content_annotations/core/page_content_annotations_features.h"
#include "components/page_content_annotations/core/page_content_annotations_service.h"
#include "components/search_engines/template_url_service.h"
#include "components/variations/service/variations_service.h"
#include "components/variations/service/variations_service_utils.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/storage_partition.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ash/profiles/profile_helper.h"
#endif
namespace {
bool IsEphemeralProfile(Profile* profile) { … }
bool ShouldEnablePageContentAnnotations(Profile* profile) { … }
}
page_content_annotations::PageContentAnnotationsService*
PageContentAnnotationsServiceFactory::GetForProfile(Profile* profile) { … }
PageContentAnnotationsServiceFactory*
PageContentAnnotationsServiceFactory::GetInstance() { … }
PageContentAnnotationsServiceFactory::PageContentAnnotationsServiceFactory()
: … { … }
PageContentAnnotationsServiceFactory::~PageContentAnnotationsServiceFactory() =
default;
std::unique_ptr<KeyedService>
PageContentAnnotationsServiceFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const { … }
bool PageContentAnnotationsServiceFactory::ServiceIsCreatedWithBrowserContext()
const { … }
bool PageContentAnnotationsServiceFactory::ServiceIsNULLWhileTesting() const { … }