Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(445)

Side by Side Diff: chrome/browser/search/one_google_bar/one_google_bar_service.cc

Issue 2819553003: Hook up LocalNtpSource to OneGoogleBarService (Closed)
Patch Set: Tests! Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/search/one_google_bar/one_google_bar_service.h" 5 #include "chrome/browser/search/one_google_bar/one_google_bar_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 std::unique_ptr<OneGoogleBarFetcher> fetcher) 46 std::unique_ptr<OneGoogleBarFetcher> fetcher)
47 : fetcher_(std::move(fetcher)), 47 : fetcher_(std::move(fetcher)),
48 signin_observer_(base::MakeUnique<SigninObserver>( 48 signin_observer_(base::MakeUnique<SigninObserver>(
49 signin_manager, 49 signin_manager,
50 base::Bind(&OneGoogleBarService::SigninStatusChanged, 50 base::Bind(&OneGoogleBarService::SigninStatusChanged,
51 base::Unretained(this)))) {} 51 base::Unretained(this)))) {}
52 52
53 OneGoogleBarService::~OneGoogleBarService() = default; 53 OneGoogleBarService::~OneGoogleBarService() = default;
54 54
55 void OneGoogleBarService::Shutdown() { 55 void OneGoogleBarService::Shutdown() {
56 for (auto& observer : observers_) {
57 observer.OnOneGoogleBarServiceShuttingDown();
58 }
59
56 signin_observer_.reset(); 60 signin_observer_.reset();
57 } 61 }
58 62
59 void OneGoogleBarService::Refresh() { 63 void OneGoogleBarService::Refresh() {
60 fetcher_->Fetch(base::BindOnce(&OneGoogleBarService::SetOneGoogleBarData, 64 fetcher_->Fetch(base::BindOnce(&OneGoogleBarService::OneGoogleBarDataFetched,
61 base::Unretained(this))); 65 base::Unretained(this)));
62 } 66 }
63 67
64 void OneGoogleBarService::AddObserver(OneGoogleBarServiceObserver* observer) { 68 void OneGoogleBarService::AddObserver(OneGoogleBarServiceObserver* observer) {
65 observers_.AddObserver(observer); 69 observers_.AddObserver(observer);
66 } 70 }
67 71
68 void OneGoogleBarService::RemoveObserver( 72 void OneGoogleBarService::RemoveObserver(
69 OneGoogleBarServiceObserver* observer) { 73 OneGoogleBarServiceObserver* observer) {
70 observers_.RemoveObserver(observer); 74 observers_.RemoveObserver(observer);
71 } 75 }
72 76
73 void OneGoogleBarService::SigninStatusChanged() { 77 void OneGoogleBarService::SigninStatusChanged() {
74 SetOneGoogleBarData(base::nullopt); 78 SetOneGoogleBarData(base::nullopt);
75 } 79 }
76 80
81 void OneGoogleBarService::OneGoogleBarDataFetched(
82 const base::Optional<OneGoogleBarData>& data) {
83 SetOneGoogleBarData(data);
84 if (!data) {
85 for (auto& observer : observers_) {
86 observer.OnOneGoogleBarFetchFailed();
87 }
88 }
89 }
90
77 void OneGoogleBarService::SetOneGoogleBarData( 91 void OneGoogleBarService::SetOneGoogleBarData(
78 const base::Optional<OneGoogleBarData>& data) { 92 const base::Optional<OneGoogleBarData>& data) {
79 if (one_google_bar_data_ == data) { 93 if (one_google_bar_data_ == data) {
80 return; 94 return;
81 } 95 }
82 96
83 one_google_bar_data_ = data; 97 one_google_bar_data_ = data;
84 for (auto& observer : observers_) { 98 for (auto& observer : observers_) {
85 observer.OnOneGoogleBarDataChanged(); 99 observer.OnOneGoogleBarDataChanged();
86 } 100 }
87 } 101 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698