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

Side by Side Diff: chrome/browser/notifications/extension_welcome_notification.cc

Issue 1355063004: Template methods on Timer classes instead of the classes themselves. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: timer: fixcaller Created 5 years, 3 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/notifications/extension_welcome_notification.h" 5 #include "chrome/browser/notifications/extension_welcome_notification.h"
6 6
7 #include "base/guid.h" 7 #include "base/guid.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 } 301 }
302 302
303 void ExtensionWelcomeNotification::StartExpirationTimer() { 303 void ExtensionWelcomeNotification::StartExpirationTimer() {
304 if (!expiration_timer_ && !IsWelcomeNotificationExpired()) { 304 if (!expiration_timer_ && !IsWelcomeNotificationExpired()) {
305 base::Time expiration_timestamp = GetExpirationTimestamp(); 305 base::Time expiration_timestamp = GetExpirationTimestamp();
306 if (expiration_timestamp.is_null()) { 306 if (expiration_timestamp.is_null()) {
307 SetExpirationTimestampFromNow(); 307 SetExpirationTimestampFromNow();
308 expiration_timestamp = GetExpirationTimestamp(); 308 expiration_timestamp = GetExpirationTimestamp();
309 DCHECK(!expiration_timestamp.is_null()); 309 DCHECK(!expiration_timestamp.is_null());
310 } 310 }
311 expiration_timer_.reset( 311 expiration_timer_.reset(new base::OneShotTimer());
312 new base::OneShotTimer<ExtensionWelcomeNotification>());
313 expiration_timer_->Start( 312 expiration_timer_->Start(
314 FROM_HERE, 313 FROM_HERE,
315 expiration_timestamp - delegate_->GetCurrentTime(), 314 expiration_timestamp - delegate_->GetCurrentTime(),
316 this, 315 this,
317 &ExtensionWelcomeNotification::ExpireWelcomeNotification); 316 &ExtensionWelcomeNotification::ExpireWelcomeNotification);
318 } 317 }
319 } 318 }
320 319
321 void ExtensionWelcomeNotification::StopExpirationTimer() { 320 void ExtensionWelcomeNotification::StopExpirationTimer() {
322 if (expiration_timer_) { 321 if (expiration_timer_) {
(...skipping 24 matching lines...) Expand all
347 prefs::kWelcomeNotificationExpirationTimestamp, 346 prefs::kWelcomeNotificationExpirationTimestamp,
348 (delegate_->GetCurrentTime() + 347 (delegate_->GetCurrentTime() +
349 base::TimeDelta::FromDays(kRequestedShowTimeDays)).ToInternalValue()); 348 base::TimeDelta::FromDays(kRequestedShowTimeDays)).ToInternalValue());
350 } 349 }
351 350
352 bool ExtensionWelcomeNotification::IsWelcomeNotificationExpired() const { 351 bool ExtensionWelcomeNotification::IsWelcomeNotificationExpired() const {
353 const base::Time expiration_timestamp = GetExpirationTimestamp(); 352 const base::Time expiration_timestamp = GetExpirationTimestamp();
354 return !expiration_timestamp.is_null() && 353 return !expiration_timestamp.is_null() &&
355 (expiration_timestamp <= delegate_->GetCurrentTime()); 354 (expiration_timestamp <= delegate_->GetCurrentTime());
356 } 355 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698