#include "chrome/browser/search/instant_service.h"
#include <stddef.h>
#include <string>
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/ptr_util.h"
#include "base/observer_list.h"
#include "base/path_service.h"
#include "base/scoped_observation.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/thread_pool.h"
#include "base/time/clock.h"
#include "build/build_config.h"
#include "chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search/instant_service_factory.h"
#include "chrome/browser/search/instant_service_observer.h"
#include "chrome/browser/search/most_visited_iframe_source.h"
#include "chrome/browser/search/search.h"
#include "chrome/browser/themes/theme_properties.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "chrome/browser/ui/webui/favicon_source.h"
#include "chrome/browser/ui/webui/theme_source.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/search/search.mojom.h"
#include "chrome/common/url_constants.h"
#include "chrome/grit/theme_resources.h"
#include "components/favicon_base/favicon_url_parser.h"
#include "components/ntp_tiles/constants.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
#include "components/search/ntp_features.h"
#include "components/search/search_provider_observer.h"
#include "components/sync_preferences/pref_service_syncable.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/url_data_source.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/common/extension.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/color_utils.h"
InstantService::InstantService(Profile* profile)
: … { … }
InstantService::~InstantService() = default;
void InstantService::AddInstantProcess(content::RenderProcessHost* host) { … }
bool InstantService::IsInstantProcess(int process_id) const { … }
void InstantService::AddObserver(InstantServiceObserver* observer) { … }
void InstantService::RemoveObserver(InstantServiceObserver* observer) { … }
void InstantService::OnNewTabPageOpened() { … }
void InstantService::OnThemeChanged() { … }
void InstantService::DeleteMostVisitedItem(const GURL& url) { … }
void InstantService::UndoMostVisitedDeletion(const GURL& url) { … }
void InstantService::UndoAllMostVisitedDeletions() { … }
void InstantService::UpdateNtpTheme() { … }
void InstantService::UpdateMostVisitedInfo() { … }
NtpTheme* InstantService::GetInitializedNtpTheme() { … }
void InstantService::SetNativeThemeForTesting(ui::NativeTheme* theme) { … }
void InstantService::Shutdown() { … }
void InstantService::RenderProcessHostDestroyed(
content::RenderProcessHost* host) { … }
void InstantService::OnNativeThemeUpdated(ui::NativeTheme* observed_theme) { … }
void InstantService::OnURLsAvailable(
const std::map<ntp_tiles::SectionType, ntp_tiles::NTPTilesVector>&
sections) { … }
void InstantService::OnIconMadeAvailable(const GURL& site_url) { … }
void InstantService::NotifyAboutMostVisitedInfo() { … }
void InstantService::NotifyAboutNtpTheme() { … }
void InstantService::BuildNtpTheme() { … }
bool InstantService::ShouldServiceRequest(
const GURL& url,
content::BrowserContext* browser_context,
int render_process_id) { … }
void InstantService::SetNtpElementsNtpTheme() { … }