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

Unified Diff: chrome/browser/web_resource/promo_resource_service.cc

Issue 8851007: WIP / Do not commit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/web_resource/promo_resource_service.cc
diff --git a/chrome/browser/web_resource/promo_resource_service.cc b/chrome/browser/web_resource/promo_resource_service.cc
index 7fa4e76a5250034c1fb3af0faf7047ecbb984ba4..0639295c3fc6b3d37fedb01df4d42108e35f664a 100644
--- a/chrome/browser/web_resource/promo_resource_service.cc
+++ b/chrome/browser/web_resource/promo_resource_service.cc
@@ -56,7 +56,6 @@ const char* kCaitPromoResourceServer =
return promo_server_url.empty() ?
PromoResourceService::kDefaultPromoResourceServer :
kCaitPromoResourceServer;
- //promo_server_url.c_str();
}
bool IsTest() {
@@ -83,6 +82,7 @@ void PromoResourceService::RegisterPrefs(PrefService* local_state) {
// static
void PromoResourceService::RegisterUserPrefs(PrefService* prefs) {
+ RegisterLastUpdateTimePref(prefs, prefs::kNTPPromoResourceCacheUpdate);
prefs->RegisterDoublePref(prefs::kNTPCustomLogoStart,
0,
PrefService::UNSYNCABLE_PREF);
@@ -133,21 +133,18 @@ PromoResourceService::PromoResourceService(Profile* profile)
: WebResourceService(profile->GetPrefs(),
GetPromoResourceURL(),
false,//true, // append locale to URL
- chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
prefs::kNTPPromoResourceCacheUpdate,
kStartResourceFetchDelay,
GetCacheUpdateDelay()),
- profile_(profile),
- channel_(chrome::VersionInfo::CHANNEL_UNKNOWN) {
- Init();
+ profile_(profile),
+ channel_(chrome::VersionInfo::CHANNEL_UNKNOWN),
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)),
+ web_resource_update_scheduled_(false) {
+ ScheduleNotificationOnInit();
}
PromoResourceService::~PromoResourceService() { }
-void PromoResourceService::Init() {
- ScheduleNotificationOnInit();
-}
-
bool PromoResourceService::IsBuildTargeted(int builds_targeted) {
if (channel_ == chrome::VersionInfo::CHANNEL_UNKNOWN)
channel_ = GetChannel();
@@ -211,6 +208,30 @@ void PromoResourceService::ScheduleNotificationOnInit() {
}
}
+void PromoResourceService::PostNotification(int64 delay_ms) {
+ if (web_resource_update_scheduled_)
+ return;
+ if (delay_ms > 0) {
+ web_resource_update_scheduled_ = true;
+ MessageLoop::current()->PostDelayedTask(
+ FROM_HERE,
+ base::Bind(&PromoResourceService::PromoResourceStateChange,
+ weak_ptr_factory_.GetWeakPtr()),
+ delay_ms);
+ } else if (delay_ms == 0) {
+ PromoResourceStateChange();
+ }
+}
+
+void PromoResourceService::PromoResourceStateChange() {
+ web_resource_update_scheduled_ = false;
+ content::NotificationService* service =
+ content::NotificationService::current();
+ service->Notify(chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED,
+ content::Source<WebResourceService>(this),
+ content::NotificationService::NoDetails());
+}
+
int PromoResourceService::GetPromoServiceVersion() {
PrefService* local_state = g_browser_process->local_state();
return local_state->GetInteger(prefs::kNTPPromoVersion);
« no previous file with comments | « chrome/browser/web_resource/promo_resource_service.h ('k') | chrome/browser/web_resource/web_resource_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698