Commit 1fd7658c authored by Sophie Chang's avatar Sophie Chang Committed by Commit Bot

Clear fetched hints when user clears history in OptGuideKeyedService

Bug: 969558
Change-Id: I8755c18f37b936663ad3a6df6fb5122397bf1337
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1756713
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: default avatarJoshua Bell <jsbell@chromium.org>
Reviewed-by: default avatarDoug Arnett <dougarnett@chromium.org>
Cr-Commit-Position: refs/heads/master@{#688179}
parent d7506a7f
......@@ -45,6 +45,8 @@
#include "chrome/browser/media/media_engagement_service.h"
#include "chrome/browser/media/webrtc/webrtc_event_log_manager.h"
#include "chrome/browser/ntp_snippets/content_suggestions_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/password_manager/password_store_factory.h"
#include "chrome/browser/permissions/permission_decision_auto_blocker.h"
#include "chrome/browser/prerender/prerender_manager.h"
......@@ -566,6 +568,10 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (previews_service)
previews_service->ClearBlackList(delete_begin_, delete_end_);
OptimizationGuideKeyedService* optimization_guide_keyed_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
if (optimization_guide_keyed_service)
optimization_guide_keyed_service->ClearData();
#if defined(OS_ANDROID)
OomInterventionDecider* oom_intervention_decider =
......
......@@ -436,6 +436,8 @@ void OptimizationGuideHintsManager::OnHintsFetched(
}
void OptimizationGuideHintsManager::OnFetchedHintsStored() {
LOCAL_HISTOGRAM_BOOLEAN("OptimizationGuide.FetchedHints.Stored", true);
hints_fetch_timer_.Stop();
hints_fetch_timer_.Start(
FROM_HERE, hint_cache_->FetchedHintsUpdateTime() - clock_->Now(), this,
......@@ -643,3 +645,7 @@ void OptimizationGuideHintsManager::OnEffectiveConnectionTypeChanged(
net::EffectiveConnectionType effective_connection_type) {
current_effective_connection_type_ = effective_connection_type;
}
void OptimizationGuideHintsManager::ClearFetchedHints() {
hint_cache_->ClearFetchedHints();
}
......@@ -108,6 +108,9 @@ class OptimizationGuideHintsManager
optimization_guide::proto::OptimizationType optimization_type,
optimization_guide::OptimizationMetadata* optimization_metadata);
// Clears fetched hints from |hint_cache_|.
void ClearFetchedHints();
// Overrides |hints_fetcher_| for testing.
void SetHintsFetcherForTesting(
std::unique_ptr<optimization_guide::HintsFetcher> hints_fetcher);
......
......@@ -93,6 +93,11 @@ OptimizationGuideKeyedService::CanApplyOptimization(
optimization_metadata);
}
void OptimizationGuideKeyedService::ClearData() {
if (hints_manager_)
hints_manager_->ClearFetchedHints();
}
void OptimizationGuideKeyedService::Shutdown() {
if (hints_manager_) {
hints_manager_->Shutdown();
......
......@@ -62,6 +62,9 @@ class OptimizationGuideKeyedService
// optimization type registered and there is a hint available.
void MaybeLoadHintForNavigation(content::NavigationHandle* navigation_handle);
// Clears data specific to the user.
void ClearData();
// optimization_guide::OptimizationGuideDecider implementation:
void RegisterOptimizationTypes(
std::vector<optimization_guide::proto::OptimizationType>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment