Index: chrome/browser/search/one_google_bar/one_google_bar_service.cc |
diff --git a/chrome/browser/search/one_google_bar/one_google_bar_service.cc b/chrome/browser/search/one_google_bar/one_google_bar_service.cc |
index e585921b2106a18086f8ad16eec42f8e1409a139..50705766b98a582d4d56409f5780bcfdf96256f0 100644 |
--- a/chrome/browser/search/one_google_bar/one_google_bar_service.cc |
+++ b/chrome/browser/search/one_google_bar/one_google_bar_service.cc |
@@ -53,11 +53,15 @@ OneGoogleBarService::OneGoogleBarService( |
OneGoogleBarService::~OneGoogleBarService() = default; |
void OneGoogleBarService::Shutdown() { |
+ for (auto& observer : observers_) { |
+ observer.OnOneGoogleBarServiceShuttingDown(); |
+ } |
+ |
signin_observer_.reset(); |
} |
void OneGoogleBarService::Refresh() { |
- fetcher_->Fetch(base::BindOnce(&OneGoogleBarService::SetOneGoogleBarData, |
+ fetcher_->Fetch(base::BindOnce(&OneGoogleBarService::OneGoogleBarDataFetched, |
base::Unretained(this))); |
} |
@@ -74,6 +78,16 @@ void OneGoogleBarService::SigninStatusChanged() { |
SetOneGoogleBarData(base::nullopt); |
} |
+void OneGoogleBarService::OneGoogleBarDataFetched( |
+ const base::Optional<OneGoogleBarData>& data) { |
+ SetOneGoogleBarData(data); |
+ if (!data) { |
+ for (auto& observer : observers_) { |
+ observer.OnOneGoogleBarFetchFailed(); |
+ } |
+ } |
+} |
+ |
void OneGoogleBarService::SetOneGoogleBarData( |
const base::Optional<OneGoogleBarData>& data) { |
if (one_google_bar_data_ == data) { |