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

Unified Diff: chrome/browser/push_messaging/push_messaging_service_impl.cc

Issue 1210283005: Introduce the PushSubscription.curve25519dh attribute (2/3) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
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 992739312ee132d4294673b23a762ae90ec00040..007c2e4ef48a0e9939ab7d0a636479b5eb1a4405 100644
--- a/chrome/browser/push_messaging/push_messaging_service_impl.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.cc
@@ -332,8 +332,8 @@ void PushMessagingServiceImpl::SubscribeFromDocument(
if (push_subscription_count_ + pending_push_subscription_count_ >=
kMaxRegistrations) {
- SubscribeEnd(callback, std::string(),
- content::PUSH_REGISTRATION_STATUS_LIMIT_REACHED);
+ SubscribeEndWithError(callback,
+ content::PUSH_REGISTRATION_STATUS_LIMIT_REACHED);
return;
}
@@ -360,9 +360,8 @@ void PushMessagingServiceImpl::SubscribeFromDocument(
content::CONSOLE_MESSAGE_LEVEL_ERROR,
kSilentPushUnsupportedMessage);
- SubscribeEnd(callback,
- std::string(),
- content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
+ SubscribeEndWithError(callback,
+ content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
return;
}
@@ -390,8 +389,8 @@ void PushMessagingServiceImpl::SubscribeFromWorker(
if (profile_->GetPrefs()->GetInteger(
prefs::kPushMessagingRegistrationCount) >= kMaxRegistrations) {
- SubscribeEnd(register_callback, std::string(),
- content::PUSH_REGISTRATION_STATUS_LIMIT_REACHED);
+ SubscribeEndWithError(register_callback,
+ content::PUSH_REGISTRATION_STATUS_LIMIT_REACHED);
return;
}
@@ -404,8 +403,8 @@ void PushMessagingServiceImpl::SubscribeFromWorker(
embedding_origin,
user_visible);
if (permission_status != blink::WebPushPermissionStatusGranted) {
- SubscribeEnd(register_callback, std::string(),
- content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
+ SubscribeEndWithError(register_callback,
+ content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
return;
}
@@ -417,6 +416,15 @@ void PushMessagingServiceImpl::SubscribeFromWorker(
app_identifier, register_callback));
}
+void PushMessagingServiceImpl::GetPublicEncryptionKey(
johnme 2015/07/09 16:02:53 Nit: Please move this to a new section of the .cc
Peter Beverloo 2015/07/09 18:54:17 Done.
+ const GURL& origin,
+ int64_t service_worker_registration_id,
+ const PushMessagingService::PublicKeyCallback& callback) {
+ // TODO(peter): Get the public key from the GCM Driver. Right now we have to
+ // return success=true here, otherwise subscriptions would fail.
+ callback.Run(true /* success */, std::vector<uint8_t>());
+}
+
blink::WebPushPermissionStatus PushMessagingServiceImpl::GetPermissionStatus(
const GURL& requesting_origin,
const GURL& embedding_origin,
@@ -436,8 +444,16 @@ bool PushMessagingServiceImpl::SupportNonVisibleMessages() {
void PushMessagingServiceImpl::SubscribeEnd(
const content::PushMessagingService::RegisterCallback& callback,
const std::string& subscription_id,
+ const std::vector<uint8_t>& curve25519dh,
+ content::PushRegistrationStatus status) {
+ callback.Run(subscription_id, curve25519dh, status);
+}
+
+void PushMessagingServiceImpl::SubscribeEndWithError(
+ const content::PushMessagingService::RegisterCallback& callback,
content::PushRegistrationStatus status) {
- callback.Run(subscription_id, status);
+ SubscribeEnd(callback, std::string() /* subscription_id */,
+ std::vector<uint8_t>() /* curve25519dh */, status);
}
void PushMessagingServiceImpl::DidSubscribe(
@@ -465,7 +481,11 @@ void PushMessagingServiceImpl::DidSubscribe(
status = content::PUSH_REGISTRATION_STATUS_NETWORK_ERROR;
break;
}
- SubscribeEnd(callback, subscription_id, status);
+
+ // TODO(peter): Hook up getting the keys from the GCM Driver.
+ std::vector<uint8_t> curve25519dh;
+
+ SubscribeEnd(callback, subscription_id, curve25519dh, status);
johnme 2015/07/09 16:02:53 Nit: it feels slightly inconsistent that you still
Peter Beverloo 2015/07/09 18:54:16 The alternative would be to return from the gcm::G
DecreasePushSubscriptionCount(1, true /* was_pending */);
}
@@ -475,9 +495,8 @@ void PushMessagingServiceImpl::DidRequestPermission(
const content::PushMessagingService::RegisterCallback& register_callback,
ContentSetting content_setting) {
if (content_setting != CONTENT_SETTING_ALLOW) {
- SubscribeEnd(register_callback,
- std::string(),
- content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
+ SubscribeEndWithError(register_callback,
+ content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
return;
}

Powered by Google App Engine
This is Rietveld 408576698