#include "chrome/browser/optimization_guide/chrome_hints_manager.h"
#include "base/memory/scoped_refptr.h"
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/navigation_predictor/navigation_predictor_keyed_service.h"
#include "chrome/browser/navigation_predictor/navigation_predictor_keyed_service_factory.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
#include "chrome/browser/optimization_guide/optimization_guide_web_contents_observer.h"
#include "chrome/browser/profiles/profile.h"
#include "components/google/core/common/google_util.h"
#include "components/optimization_guide/core/hint_cache.h"
#include "components/optimization_guide/core/optimization_guide_features.h"
#include "components/optimization_guide/core/push_notification_manager.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "content/public/browser/browser_thread.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
namespace {
bool IsAllowedToFetchForNavigationPrediction(
const std::optional<NavigationPredictorKeyedService::Prediction>
prediction) { … }
}
namespace optimization_guide {
ChromeHintsManager::ChromeHintsManager(
Profile* profile,
PrefService* pref_service,
base::WeakPtr<optimization_guide::OptimizationGuideStore> hint_store,
optimization_guide::TopHostProvider* top_host_provider,
optimization_guide::TabUrlProvider* tab_url_provider,
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
std::unique_ptr<optimization_guide::PushNotificationManager>
push_notification_manager,
signin::IdentityManager* identity_manager,
OptimizationGuideLogger* optimization_guide_logger)
: … { … }
ChromeHintsManager::~ChromeHintsManager() { … }
void ChromeHintsManager::Shutdown() { … }
void ChromeHintsManager::OnPredictionUpdated(
const std::optional<NavigationPredictorKeyedService::Prediction>
prediction) { … }
}