Index: chrome/browser/push_messaging/push_messaging_service_impl.cc |
diff --git a/chrome/browser/push_messaging/push_messaging_service_impl.cc b/chrome/browser/push_messaging/push_messaging_service_impl.cc |
index 11907fe0aef82fdc604ad56ccffb5078648836e8..88f639f885c7b67401c380060d48781ef76a6988 100644 |
--- a/chrome/browser/push_messaging/push_messaging_service_impl.cc |
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.cc |
@@ -62,7 +62,7 @@ |
using content::BrowserThread; |
namespace { |
-const int kMaxRegistrations = 1000000; |
+const int kMaxSubscriptions = 1000000; |
void RecordDeliveryStatus(content::PushDeliveryStatus status) { |
UMA_HISTOGRAM_ENUMERATION("PushMessaging.DeliveryStatus", |
@@ -90,8 +90,8 @@ blink::WebPushPermissionStatus ToPushPermission(ContentSetting setting) { |
} |
} |
-void UnregisterCallbackToClosure( |
- const base::Closure& closure, content::PushUnregistrationStatus status) { |
+void UnsubscribeCallbackToClosure( |
+ const base::Closure& closure, content::PushUnsubscriptionStatus status) { |
closure.Run(); |
} |
@@ -122,13 +122,13 @@ void PushMessagingServiceImpl::InitializeForProfile(Profile* profile) { |
PushMessagingServiceImpl* push_service = |
PushMessagingServiceFactory::GetForProfile(profile); |
- push_service->IncreasePushRegistrationCount(count, false /* is_pending */); |
+ push_service->IncreasePushSubscriptionCount(count, false /* is_pending */); |
} |
PushMessagingServiceImpl::PushMessagingServiceImpl(Profile* profile) |
: profile_(profile), |
- push_registration_count_(0), |
- pending_push_registration_count_(0), |
+ push_subscription_count_(0), |
+ pending_push_subscription_count_(0), |
weak_factory_(this) { |
DCHECK(profile); |
profile_->GetHostContentSettingsMap()->AddObserver(this); |
@@ -138,34 +138,34 @@ PushMessagingServiceImpl::~PushMessagingServiceImpl() { |
profile_->GetHostContentSettingsMap()->RemoveObserver(this); |
} |
-void PushMessagingServiceImpl::IncreasePushRegistrationCount(int add, |
+void PushMessagingServiceImpl::IncreasePushSubscriptionCount(int add, |
bool is_pending) { |
DCHECK(add > 0); |
- if (push_registration_count_ + pending_push_registration_count_ == 0) { |
+ if (push_subscription_count_ + pending_push_subscription_count_ == 0) { |
GetGCMDriver()->AddAppHandler(kPushMessagingApplicationIdPrefix, this); |
} |
if (is_pending) { |
- pending_push_registration_count_ += add; |
+ pending_push_subscription_count_ += add; |
} else { |
- push_registration_count_ += add; |
+ push_subscription_count_ += add; |
profile_->GetPrefs()->SetInteger(prefs::kPushMessagingRegistrationCount, |
- push_registration_count_); |
+ push_subscription_count_); |
} |
} |
-void PushMessagingServiceImpl::DecreasePushRegistrationCount(int subtract, |
+void PushMessagingServiceImpl::DecreasePushSubscriptionCount(int subtract, |
bool was_pending) { |
DCHECK(subtract > 0); |
if (was_pending) { |
- pending_push_registration_count_ -= subtract; |
- DCHECK(pending_push_registration_count_ >= 0); |
+ pending_push_subscription_count_ -= subtract; |
+ DCHECK(pending_push_subscription_count_ >= 0); |
} else { |
- push_registration_count_ -= subtract; |
- DCHECK(push_registration_count_ >= 0); |
+ push_subscription_count_ -= subtract; |
+ DCHECK(push_subscription_count_ >= 0); |
profile_->GetPrefs()->SetInteger(prefs::kPushMessagingRegistrationCount, |
- push_registration_count_); |
+ push_subscription_count_); |
} |
- if (push_registration_count_ + pending_push_registration_count_ == 0) { |
+ if (push_subscription_count_ + pending_push_subscription_count_ == 0) { |
GetGCMDriver()->RemoveAppHandler(kPushMessagingApplicationIdPrefix); |
} |
} |
@@ -190,14 +190,14 @@ void PushMessagingServiceImpl::OnMessage( |
: message_callback_for_testing_; |
PushMessagingApplicationId application_id = |
PushMessagingApplicationId::Get(profile_, app_id); |
- // Drop message and unregister if app id was unknown (maybe recently deleted). |
+ // Drop message and unsibscribe if app id was unknown (recently deleted?). |
johnme
2015/05/07 13:31:25
Typo
|
if (!application_id.IsValid()) { |
DeliverMessageCallback(app_id, GURL::EmptyGURL(), -1, message, |
message_handled_closure, |
content::PUSH_DELIVERY_STATUS_UNKNOWN_APP_ID); |
return; |
} |
- // Drop message and unregister if |origin| has lost push permission. |
+ // Drop message and unsubscribe if |origin| has lost push permission. |
if (!HasPermission(application_id.origin())) { |
DeliverMessageCallback(app_id, application_id.origin(), |
application_id.service_worker_registration_id(), |
@@ -273,9 +273,9 @@ void PushMessagingServiceImpl::DeliverMessageCallback( |
case content::PUSH_DELIVERY_STATUS_UNKNOWN_APP_ID: |
case content::PUSH_DELIVERY_STATUS_PERMISSION_DENIED: |
case content::PUSH_DELIVERY_STATUS_NO_SERVICE_WORKER: |
- Unregister(app_id_guid, message.sender_id, |
- base::Bind(&UnregisterCallbackToClosure, |
- message_handled_closure)); |
+ Unsubscribe(app_id_guid, message.sender_id, |
+ base::Bind(&UnsubscribeCallbackToClosure, |
+ message_handled_closure)); |
break; |
} |
RecordDeliveryStatus(status); |
@@ -560,26 +560,26 @@ GURL PushMessagingServiceImpl::GetPushEndpoint() { |
return GURL(std::string(kPushMessagingEndpoint)); |
} |
-// Register and GetPermissionStatus methods ------------------------------------ |
+// Subscribe and GetPermissionStatus methods ----------------------------------- |
-void PushMessagingServiceImpl::RegisterFromDocument( |
+void PushMessagingServiceImpl::SubscribeFromDocument( |
const GURL& requesting_origin, |
int64 service_worker_registration_id, |
const std::string& sender_id, |
int renderer_id, |
int render_frame_id, |
bool user_visible, |
- const content::PushMessagingService::RegisterCallback& callback) { |
+ const content::PushMessagingService::SubscribeCallback& callback) { |
PushMessagingApplicationId application_id = |
PushMessagingApplicationId::Generate(requesting_origin, |
service_worker_registration_id); |
DCHECK(application_id.IsValid()); |
- if (push_registration_count_ + pending_push_registration_count_ |
- >= kMaxRegistrations) { |
- RegisterEnd(callback, |
- std::string(), |
- content::PUSH_REGISTRATION_STATUS_LIMIT_REACHED); |
+ if (push_subscription_count_ + pending_push_subscription_count_ |
+ >= kMaxSubscriptions) { |
+ SubscribeEnd(callback, |
+ std::string(), |
+ content::PUSH_SUBSCRIPTION_STATUS_LIMIT_REACHED); |
return; |
} |
@@ -604,9 +604,9 @@ void PushMessagingServiceImpl::RegisterFromDocument( |
PushMessagingPermissionContextFactory::GetForProfile(profile_); |
if (permission_context == NULL || !user_visible) { |
- RegisterEnd(callback, |
- std::string(), |
- content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); |
+ SubscribeEnd(callback, |
+ std::string(), |
+ content::PUSH_SUBSCRIPTION_STATUS_PERMISSION_DENIED); |
return; |
} |
@@ -622,26 +622,26 @@ void PushMessagingServiceImpl::RegisterFromDocument( |
callback)); |
} |
-void PushMessagingServiceImpl::RegisterFromWorker( |
+void PushMessagingServiceImpl::SubscribeFromWorker( |
const GURL& requesting_origin, |
int64 service_worker_registration_id, |
const std::string& sender_id, |
bool user_visible, |
- const content::PushMessagingService::RegisterCallback& register_callback) { |
+ const content::PushMessagingService::SubscribeCallback& callback) { |
PushMessagingApplicationId application_id = |
PushMessagingApplicationId::Generate(requesting_origin, |
service_worker_registration_id); |
DCHECK(application_id.IsValid()); |
if (profile_->GetPrefs()->GetInteger( |
- prefs::kPushMessagingRegistrationCount) >= kMaxRegistrations) { |
- RegisterEnd(register_callback, std::string(), |
- content::PUSH_REGISTRATION_STATUS_LIMIT_REACHED); |
+ prefs::kPushMessagingRegistrationCount) >= kMaxSubscriptions) { |
+ SubscribeEnd(callback, std::string(), |
+ content::PUSH_SUBSCRIPTION_STATUS_LIMIT_REACHED); |
return; |
} |
// TODO(peter): Consider |user_visible| when getting the permission status |
- // for registering from a worker. |
+ // for subscribing from a worker. |
GURL embedding_origin = requesting_origin; |
blink::WebPushPermissionStatus permission_status = |
@@ -649,18 +649,18 @@ void PushMessagingServiceImpl::RegisterFromWorker( |
embedding_origin, |
user_visible); |
if (permission_status != blink::WebPushPermissionStatusGranted) { |
- RegisterEnd(register_callback, std::string(), |
- content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); |
+ SubscribeEnd(callback, std::string(), |
+ content::PUSH_SUBSCRIPTION_STATUS_PERMISSION_DENIED); |
return; |
} |
- IncreasePushRegistrationCount(1, true /* is_pending */); |
+ IncreasePushSubscriptionCount(1, true /* is_pending */); |
std::vector<std::string> sender_ids(1, sender_id); |
GetGCMDriver()->Register( |
application_id.app_id_guid(), sender_ids, |
- base::Bind(&PushMessagingServiceImpl::DidRegister, |
+ base::Bind(&PushMessagingServiceImpl::DidSubscribe, |
weak_factory_.GetWeakPtr(), |
- application_id, register_callback)); |
+ application_id, callback)); |
} |
blink::WebPushPermissionStatus PushMessagingServiceImpl::GetPermissionStatus( |
@@ -675,145 +675,144 @@ blink::WebPushPermissionStatus PushMessagingServiceImpl::GetPermissionStatus( |
requesting_origin, embedding_origin)); |
} |
-void PushMessagingServiceImpl::RegisterEnd( |
- const content::PushMessagingService::RegisterCallback& callback, |
- const std::string& registration_id, |
- content::PushRegistrationStatus status) { |
- callback.Run(registration_id, status); |
+void PushMessagingServiceImpl::SubscribeEnd( |
+ const content::PushMessagingService::SubscribeCallback& callback, |
+ const std::string& subscription_id, |
+ content::PushSubscriptionStatus status) { |
+ callback.Run(subscription_id, status); |
} |
-void PushMessagingServiceImpl::DidRegister( |
+void PushMessagingServiceImpl::DidSubscribe( |
const PushMessagingApplicationId& application_id, |
- const content::PushMessagingService::RegisterCallback& callback, |
- const std::string& registration_id, |
+ const content::PushMessagingService::SubscribeCallback& callback, |
+ const std::string& subscription_id, |
gcm::GCMClient::Result result) { |
- content::PushRegistrationStatus status = |
- content::PUSH_REGISTRATION_STATUS_SERVICE_ERROR; |
+ content::PushSubscriptionStatus status = |
+ content::PUSH_SUBSCRIPTION_STATUS_SERVICE_ERROR; |
switch (result) { |
case gcm::GCMClient::SUCCESS: |
- status = content::PUSH_REGISTRATION_STATUS_SUCCESS_FROM_PUSH_SERVICE; |
+ status = content::PUSH_SUBSCRIPTION_STATUS_SUCCESS_FROM_PUSH_SERVICE; |
application_id.PersistToDisk(profile_); |
- IncreasePushRegistrationCount(1, false /* is_pending */); |
+ IncreasePushSubscriptionCount(1, false /* is_pending */); |
break; |
case gcm::GCMClient::INVALID_PARAMETER: |
case gcm::GCMClient::GCM_DISABLED: |
case gcm::GCMClient::ASYNC_OPERATION_PENDING: |
case gcm::GCMClient::SERVER_ERROR: |
case gcm::GCMClient::UNKNOWN_ERROR: |
- status = content::PUSH_REGISTRATION_STATUS_SERVICE_ERROR; |
+ status = content::PUSH_SUBSCRIPTION_STATUS_SERVICE_ERROR; |
break; |
case gcm::GCMClient::NETWORK_ERROR: |
case gcm::GCMClient::TTL_EXCEEDED: |
- status = content::PUSH_REGISTRATION_STATUS_NETWORK_ERROR; |
+ status = content::PUSH_SUBSCRIPTION_STATUS_NETWORK_ERROR; |
break; |
} |
- RegisterEnd(callback, registration_id, status); |
- DecreasePushRegistrationCount(1, true /* was_pending */); |
+ SubscribeEnd(callback, subscription_id, status); |
+ DecreasePushSubscriptionCount(1, true /* was_pending */); |
} |
void PushMessagingServiceImpl::DidRequestPermission( |
const PushMessagingApplicationId& application_id, |
const std::string& sender_id, |
- const content::PushMessagingService::RegisterCallback& register_callback, |
+ const content::PushMessagingService::SubscribeCallback& callback, |
ContentSetting content_setting) { |
if (content_setting != CONTENT_SETTING_ALLOW) { |
- RegisterEnd(register_callback, |
- std::string(), |
- content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); |
+ SubscribeEnd(callback, std::string(), |
+ content::PUSH_SUBSCRIPTION_STATUS_PERMISSION_DENIED); |
return; |
} |
- IncreasePushRegistrationCount(1, true /* is_pending */); |
+ IncreasePushSubscriptionCount(1, true /* is_pending */); |
std::vector<std::string> sender_ids(1, sender_id); |
GetGCMDriver()->Register( |
application_id.app_id_guid(), |
sender_ids, |
- base::Bind(&PushMessagingServiceImpl::DidRegister, |
+ base::Bind(&PushMessagingServiceImpl::DidSubscribe, |
weak_factory_.GetWeakPtr(), |
- application_id, register_callback)); |
+ application_id, callback)); |
} |
-// Unregister methods ---------------------------------------------------------- |
+// Unsubscribe methods --------------------------------------------------------- |
-void PushMessagingServiceImpl::Unregister( |
+void PushMessagingServiceImpl::Unsubscribe( |
const GURL& requesting_origin, |
int64 service_worker_registration_id, |
const std::string& sender_id, |
- const content::PushMessagingService::UnregisterCallback& callback) { |
+ const content::PushMessagingService::UnsubscribeCallback& callback) { |
PushMessagingApplicationId application_id = PushMessagingApplicationId::Get( |
profile_, requesting_origin, service_worker_registration_id); |
if (!application_id.IsValid()) { |
if (!callback.is_null()) { |
callback.Run( |
- content::PUSH_UNREGISTRATION_STATUS_SUCCESS_WAS_NOT_REGISTERED); |
+ content::PUSH_UNSUBSCRIPTION_STATUS_SUCCESS_WAS_NOT_SUBSCRIBED); |
} |
return; |
} |
- Unregister(application_id.app_id_guid(), sender_id, callback); |
+ Unsubscribe(application_id.app_id_guid(), sender_id, callback); |
} |
-void PushMessagingServiceImpl::Unregister( |
+void PushMessagingServiceImpl::Unsubscribe( |
const std::string& app_id_guid, |
const std::string& sender_id, |
- const content::PushMessagingService::UnregisterCallback& callback) { |
+ const content::PushMessagingService::UnsubscribeCallback& callback) { |
// Delete the mapping for this app id, to guarantee that no messages get |
- // delivered in future (even if unregistration fails). |
+ // delivered in future (even if unsubscription fails). |
// TODO(johnme): Instead of deleting these app ids, store them elsewhere, and |
- // retry unregistration if it fails due to network errors (crbug.com/465399). |
+ // retry unsubscription if it fails due to network errors (crbug.com/465399). |
PushMessagingApplicationId application_id = |
PushMessagingApplicationId::Get(profile_, app_id_guid); |
- bool was_registered = application_id.IsValid(); |
- if (was_registered) |
+ bool was_subscribed = application_id.IsValid(); |
+ if (was_subscribed) |
application_id.DeleteFromDisk(profile_); |
- const auto& unregister_callback = |
- base::Bind(&PushMessagingServiceImpl::DidUnregister, |
+ const auto& unsubscribe_callback = |
+ base::Bind(&PushMessagingServiceImpl::DidUnsubscribe, |
weak_factory_.GetWeakPtr(), |
- was_registered, callback); |
+ was_subscribed, callback); |
#if defined(OS_ANDROID) |
// On Android the backend is different, and requires the original sender_id. |
- // UnregisterBecausePermissionRevoked sometimes calls us with an empty one. |
+ // UnsubscribeBecausePermissionRevoked sometimes calls us with an empty one. |
if (sender_id.empty()) |
- unregister_callback.Run(gcm::GCMClient::INVALID_PARAMETER); |
+ unsubscribe_callback.Run(gcm::GCMClient::INVALID_PARAMETER); |
else |
GetGCMDriver()->UnregisterWithSenderId(app_id_guid, sender_id, |
- unregister_callback); |
+ unsubscribe_callback); |
#else |
- GetGCMDriver()->Unregister(app_id_guid, unregister_callback); |
+ GetGCMDriver()->Unregister(app_id_guid, unsubscribe_callback); |
#endif |
} |
-void PushMessagingServiceImpl::DidUnregister( |
- bool was_registered, |
- const content::PushMessagingService::UnregisterCallback& callback, |
+void PushMessagingServiceImpl::DidUnsubscribe( |
+ bool was_subscribed, |
+ const content::PushMessagingService::UnsubscribeCallback& callback, |
gcm::GCMClient::Result result) { |
- if (was_registered) |
- DecreasePushRegistrationCount(1, false /* was_pending */); |
+ if (was_subscribed) |
+ DecreasePushSubscriptionCount(1, false /* was_pending */); |
// Internal calls pass a null callback. |
if (callback.is_null()) |
return; |
- if (!was_registered) { |
+ if (!was_subscribed) { |
callback.Run( |
- content::PUSH_UNREGISTRATION_STATUS_SUCCESS_WAS_NOT_REGISTERED); |
+ content::PUSH_UNSUBSCRIPTION_STATUS_SUCCESS_WAS_NOT_SUBSCRIBED); |
return; |
} |
switch (result) { |
case gcm::GCMClient::SUCCESS: |
- callback.Run(content::PUSH_UNREGISTRATION_STATUS_SUCCESS_UNREGISTERED); |
+ callback.Run(content::PUSH_UNSUBSCRIPTION_STATUS_SUCCESS_UNSUBSCRIBED); |
break; |
case gcm::GCMClient::INVALID_PARAMETER: |
case gcm::GCMClient::GCM_DISABLED: |
case gcm::GCMClient::SERVER_ERROR: |
case gcm::GCMClient::UNKNOWN_ERROR: |
- callback.Run(content::PUSH_UNREGISTRATION_STATUS_PENDING_SERVICE_ERROR); |
+ callback.Run(content::PUSH_UNSUBSCRIPTION_STATUS_PENDING_SERVICE_ERROR); |
break; |
case gcm::GCMClient::ASYNC_OPERATION_PENDING: |
case gcm::GCMClient::NETWORK_ERROR: |
case gcm::GCMClient::TTL_EXCEEDED: |
- callback.Run(content::PUSH_UNREGISTRATION_STATUS_PENDING_NETWORK_ERROR); |
+ callback.Run(content::PUSH_UNSUBSCRIPTION_STATUS_PENDING_NETWORK_ERROR); |
break; |
} |
} |
@@ -858,28 +857,28 @@ void PushMessagingServiceImpl::OnContentSettingChanged( |
GetSenderId( |
profile_, id.origin(), id.service_worker_registration_id(), |
base::Bind( |
- &PushMessagingServiceImpl::UnregisterBecausePermissionRevoked, |
+ &PushMessagingServiceImpl::UnsubscribeBecausePermissionRevoked, |
weak_factory_.GetWeakPtr(), id, barrier_closure)); |
} |
} |
-void PushMessagingServiceImpl::UnregisterBecausePermissionRevoked( |
+void PushMessagingServiceImpl::UnsubscribeBecausePermissionRevoked( |
const PushMessagingApplicationId& id, const base::Closure& closure, |
const std::string& sender_id, bool success, bool not_found) { |
base::Closure barrier_closure = base::BarrierClosure(2, closure); |
- // Unregister the PushMessagingApplicationId with the push service. |
+ // Unsubscribe the PushMessagingApplicationId with the push service. |
// It's possible for GetSenderId to have failed and sender_id to be empty, if |
// cookies (and the SW database) for an origin got cleared before permissions |
- // are cleared for the origin. In that case Unregister will just delete the |
+ // are cleared for the origin. In that case Unubscribe will just delete the |
// application ID to block future messages. |
- // TODO(johnme): Auto-unregister before SW DB is cleared |
+ // TODO(johnme): Auto-unsubscribe before SW DB is cleared |
// (https://crbug.com/402458). |
- Unregister(id.app_id_guid(), sender_id, |
- base::Bind(&UnregisterCallbackToClosure, barrier_closure)); |
+ Unsubscribe(id.app_id_guid(), sender_id, |
+ base::Bind(&UnsubscribeCallbackToClosure, barrier_closure)); |
- // Clear the associated service worker push registration id. |
- ClearPushRegistrationID(profile_, id.origin(), |
+ // Clear the associated service worker push subscription id. |
+ ClearPushSubscriptionID(profile_, id.origin(), |
id.service_worker_registration_id(), barrier_closure); |
} |