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

Side by Side Diff: components/doodle/doodle_service.cc

Issue 2838833005: Move NewTabPage.LogoShownTime metrics recording into LogoBridge (Closed)
Patch Set: Remove state from LoadTimeMetricsRecorder 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
« no previous file with comments | « components/doodle/doodle_service.h ('k') | components/doodle/doodle_service_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "components/doodle/doodle_service.h" 5 #include "components/doodle/doodle_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/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 void DoodleService::Shutdown() {} 73 void DoodleService::Shutdown() {}
74 74
75 void DoodleService::AddObserver(Observer* observer) { 75 void DoodleService::AddObserver(Observer* observer) {
76 observers_.AddObserver(observer); 76 observers_.AddObserver(observer);
77 } 77 }
78 78
79 void DoodleService::RemoveObserver(Observer* observer) { 79 void DoodleService::RemoveObserver(Observer* observer) {
80 observers_.RemoveObserver(observer); 80 observers_.RemoveObserver(observer);
81 } 81 }
82 82
83 void DoodleService::Refresh() { 83 bool DoodleService::Refresh() {
84 base::TimeTicks now_ticks = tick_clock_->NowTicks(); 84 base::TimeTicks now_ticks = tick_clock_->NowTicks();
85 // Check if we have passed the minimum refresh interval. 85 // Check if we have passed the minimum refresh interval.
86 base::TimeDelta time_since_fetch = now_ticks - last_successful_fetch_; 86 base::TimeDelta time_since_fetch = now_ticks - last_successful_fetch_;
87 if (time_since_fetch < min_refresh_interval_) { 87 if (time_since_fetch < min_refresh_interval_) {
88 RecordDownloadMetrics(OUTCOME_REFRESH_INTERVAL_NOT_PASSED, 88 RecordDownloadMetrics(OUTCOME_REFRESH_INTERVAL_NOT_PASSED,
89 base::TimeDelta()); 89 base::TimeDelta());
90 return; 90 return false;
91 } 91 }
92 fetcher_->FetchDoodle(base::BindOnce(&DoodleService::DoodleFetched, 92 fetcher_->FetchDoodle(base::BindOnce(&DoodleService::DoodleFetched,
93 base::Unretained(this), now_ticks)); 93 base::Unretained(this), now_ticks));
94 return true;
94 } 95 }
95 96
96 // static 97 // static
97 bool DoodleService::DownloadOutcomeIsSuccess(DownloadOutcome outcome) { 98 bool DoodleService::DownloadOutcomeIsSuccess(DownloadOutcome outcome) {
98 switch (outcome) { 99 switch (outcome) {
99 case OUTCOME_NEW_DOODLE: 100 case OUTCOME_NEW_DOODLE:
100 case OUTCOME_REVALIDATED_DOODLE: 101 case OUTCOME_REVALIDATED_DOODLE:
101 case OUTCOME_CHANGED_DOODLE: 102 case OUTCOME_CHANGED_DOODLE:
102 case OUTCOME_NO_DOODLE: 103 case OUTCOME_NO_DOODLE:
103 return true; 104 return true;
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 pref_service_->ClearPref(prefs::kCachedConfigExpiry); 234 pref_service_->ClearPref(prefs::kCachedConfigExpiry);
234 } 235 }
235 } 236 }
236 237
237 void DoodleService::DoodleExpired() { 238 void DoodleService::DoodleExpired() {
238 DCHECK(cached_config_.has_value()); 239 DCHECK(cached_config_.has_value());
239 HandleNewConfig(DoodleState::NO_DOODLE, base::TimeDelta(), base::nullopt); 240 HandleNewConfig(DoodleState::NO_DOODLE, base::TimeDelta(), base::nullopt);
240 } 241 }
241 242
242 } // namespace doodle 243 } // namespace doodle
OLDNEW
« no previous file with comments | « components/doodle/doodle_service.h ('k') | components/doodle/doodle_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698