Index: chrome/browser/services/gcm/push_messaging_application_id.cc |
diff --git a/chrome/browser/services/gcm/push_messaging_application_id.cc b/chrome/browser/services/gcm/push_messaging_application_id.cc |
index b246b0088ea87d6c0c3c9a5ed73ea1e82953a324..01c20fc88190a499962fb9303e10f8556175e92c 100644 |
--- a/chrome/browser/services/gcm/push_messaging_application_id.cc |
+++ b/chrome/browser/services/gcm/push_messaging_application_id.cc |
@@ -91,6 +91,28 @@ PushMessagingApplicationId PushMessagingApplicationId::Get( |
return PushMessagingApplicationId(); |
} |
+// static |
+std::vector<PushMessagingApplicationId> PushMessagingApplicationId::GetAll( |
+ Profile* profile) { |
+ std::vector<PushMessagingApplicationId> result; |
+ |
+ const base::DictionaryValue* map = |
+ profile->GetPrefs()->GetDictionary(prefs::kPushMessagingApplicationIdMap); |
+ for (auto it = base::DictionaryValue::Iterator(*map); !it.IsAtEnd(); |
+ it.Advance()) { |
+ result.push_back(Get(profile, it.key())); |
+ } |
+ |
+ return result; |
+} |
+ |
+PushMessagingApplicationId::PushMessagingApplicationId( |
+ const PushMessagingApplicationId& other) |
+ : app_id_guid(other.app_id_guid), |
+ origin(other.origin), |
+ service_worker_registration_id(other.service_worker_registration_id) { |
+} |
+ |
void PushMessagingApplicationId::PersistToDisk(Profile* profile) const { |
DCHECK(IsValid()); |