OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/webui/ntp/android/promo_handler.h" | 5 #include "chrome/browser/ui/webui/ntp/android/promo_handler.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/ref_counted_memory.h" | 8 #include "base/memory/ref_counted_memory.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
11 #include "base/strings/string_number_conversions.h" | 11 #include "base/strings/string_number_conversions.h" |
12 #include "base/utf_string_conversions.h" | 12 #include "base/utf_string_conversions.h" |
13 #include "chrome/browser/android/intent_helper.h" | 13 #include "chrome/browser/android/intent_helper.h" |
| 14 #include "chrome/browser/prefs/pref_registry_syncable.h" |
14 #include "chrome/browser/prefs/pref_service.h" | 15 #include "chrome/browser/prefs/pref_service.h" |
15 #include "chrome/browser/profiles/profile.h" | 16 #include "chrome/browser/profiles/profile.h" |
16 #include "chrome/browser/profiles/profile_manager.h" | 17 #include "chrome/browser/profiles/profile_manager.h" |
17 #include "chrome/browser/signin/signin_manager.h" | 18 #include "chrome/browser/signin/signin_manager.h" |
18 #include "chrome/browser/sync/glue/session_model_associator.h" | 19 #include "chrome/browser/sync/glue/session_model_associator.h" |
19 #include "chrome/browser/sync/glue/synced_session.h" | 20 #include "chrome/browser/sync/glue/synced_session.h" |
20 #include "chrome/browser/sync/profile_sync_service.h" | 21 #include "chrome/browser/sync/profile_sync_service.h" |
21 #include "chrome/browser/sync/profile_sync_service_factory.h" | 22 #include "chrome/browser/sync/profile_sync_service_factory.h" |
22 #include "chrome/browser/web_resource/notification_promo.h" | 23 #include "chrome/browser/web_resource/notification_promo.h" |
23 #include "chrome/browser/web_resource/notification_promo_mobile_ntp.h" | 24 #include "chrome/browser/web_resource/notification_promo_mobile_ntp.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 base::Unretained(this))); | 116 base::Unretained(this))); |
116 web_ui()->RegisterMessageCallback("promoActionTriggered", | 117 web_ui()->RegisterMessageCallback("promoActionTriggered", |
117 base::Bind(&PromoHandler::HandlePromoActionTriggered, | 118 base::Bind(&PromoHandler::HandlePromoActionTriggered, |
118 base::Unretained(this))); | 119 base::Unretained(this))); |
119 web_ui()->RegisterMessageCallback("promoDisabled", | 120 web_ui()->RegisterMessageCallback("promoDisabled", |
120 base::Bind(&PromoHandler::HandlePromoDisabled, | 121 base::Bind(&PromoHandler::HandlePromoDisabled, |
121 base::Unretained(this))); | 122 base::Unretained(this))); |
122 } | 123 } |
123 | 124 |
124 // static | 125 // static |
125 void PromoHandler::RegisterUserPrefs(PrefServiceSyncable* prefs) { | 126 void PromoHandler::RegisterUserPrefs(PrefRegistrySyncable* registry) { |
126 prefs->RegisterBooleanPref(prefs::kNtpPromoDesktopSessionFound, | 127 registry->RegisterBooleanPref(prefs::kNtpPromoDesktopSessionFound, |
127 false, | 128 false, |
128 PrefServiceSyncable::UNSYNCABLE_PREF); | 129 PrefRegistrySyncable::UNSYNCABLE_PREF); |
129 } | 130 } |
130 | 131 |
131 void PromoHandler::Observe(int type, | 132 void PromoHandler::Observe(int type, |
132 const content::NotificationSource& source, | 133 const content::NotificationSource& source, |
133 const content::NotificationDetails& details) { | 134 const content::NotificationDetails& details) { |
134 if (chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED == type || | 135 if (chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED == type || |
135 chrome::NOTIFICATION_SYNC_CONFIGURE_DONE == type || | 136 chrome::NOTIFICATION_SYNC_CONFIGURE_DONE == type || |
136 chrome::NOTIFICATION_FOREIGN_SESSION_UPDATED == type) { | 137 chrome::NOTIFICATION_FOREIGN_SESSION_UPDATED == type) { |
137 // A change occurred to one of the preferences we care about | 138 // A change occurred to one of the preferences we care about |
138 CheckDesktopSessions(); | 139 CheckDesktopSessions(); |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 sessions[i]->device_type; | 326 sessions[i]->device_type; |
326 if (device_type == browser_sync::SyncedSession::TYPE_WIN || | 327 if (device_type == browser_sync::SyncedSession::TYPE_WIN || |
327 device_type == browser_sync::SyncedSession::TYPE_MACOSX || | 328 device_type == browser_sync::SyncedSession::TYPE_MACOSX || |
328 device_type == browser_sync::SyncedSession::TYPE_LINUX) { | 329 device_type == browser_sync::SyncedSession::TYPE_LINUX) { |
329 // Found a desktop session: write out the pref. | 330 // Found a desktop session: write out the pref. |
330 prefs->SetBoolean(prefs::kNtpPromoDesktopSessionFound, true); | 331 prefs->SetBoolean(prefs::kNtpPromoDesktopSessionFound, true); |
331 return; | 332 return; |
332 } | 333 } |
333 } | 334 } |
334 } | 335 } |
OLD | NEW |