Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ | 5 #ifndef CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ |
| 6 #define CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ | 6 #define CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 57 void OnMessagesDeleted(const std::string& app_id) override; | 57 void OnMessagesDeleted(const std::string& app_id) override; |
| 58 void OnSendError( | 58 void OnSendError( |
| 59 const std::string& app_id, | 59 const std::string& app_id, |
| 60 const gcm::GCMClient::SendErrorDetails& send_error_details) override; | 60 const gcm::GCMClient::SendErrorDetails& send_error_details) override; |
| 61 void OnSendAcknowledged(const std::string& app_id, | 61 void OnSendAcknowledged(const std::string& app_id, |
| 62 const std::string& message_id) override; | 62 const std::string& message_id) override; |
| 63 bool CanHandle(const std::string& app_id) const override; | 63 bool CanHandle(const std::string& app_id) const override; |
| 64 | 64 |
| 65 // content::PushMessagingService implementation: | 65 // content::PushMessagingService implementation: |
| 66 GURL GetPushEndpoint() override; | 66 GURL GetPushEndpoint() override; |
| 67 void RegisterFromDocument( | 67 void SubscribeFromDocument( |
| 68 const GURL& requesting_origin, | 68 const GURL& requesting_origin, |
| 69 int64 service_worker_registration_id, | 69 int64 service_worker_registration_id, |
| 70 const std::string& sender_id, | 70 const std::string& sender_id, |
| 71 int renderer_id, | 71 int renderer_id, |
| 72 int render_frame_id, | 72 int render_frame_id, |
| 73 bool user_visible, | 73 bool user_visible, |
| 74 const content::PushMessagingService::RegisterCallback& callback) override; | 74 const content::PushMessagingService::SubscribeCallback& callback) |
| 75 void RegisterFromWorker( | 75 override; |
|
johnme
2015/05/07 13:31:25
Nit: Same indent as previous line.
| |
| 76 void SubscribeFromWorker( | |
| 76 const GURL& requesting_origin, | 77 const GURL& requesting_origin, |
| 77 int64 service_worker_registration_id, | 78 int64 service_worker_registration_id, |
| 78 const std::string& sender_id, | 79 const std::string& sender_id, |
| 79 bool user_visible, | 80 bool user_visible, |
| 80 const content::PushMessagingService::RegisterCallback& callback) override; | 81 const content::PushMessagingService::SubscribeCallback& callback) |
| 81 void Unregister( | 82 override; |
|
johnme
2015/05/07 13:31:25
Nit: Same indent as previous line.
| |
| 83 void Unsubscribe( | |
| 82 const GURL& requesting_origin, | 84 const GURL& requesting_origin, |
| 83 int64 service_worker_registration_id, | 85 int64 service_worker_registration_id, |
| 84 const std::string& sender_id, | 86 const std::string& sender_id, |
| 85 const content::PushMessagingService::UnregisterCallback&) override; | 87 const content::PushMessagingService::UnsubscribeCallback&) override; |
| 86 blink::WebPushPermissionStatus GetPermissionStatus( | 88 blink::WebPushPermissionStatus GetPermissionStatus( |
| 87 const GURL& requesting_origin, | 89 const GURL& requesting_origin, |
| 88 const GURL& embedding_origin, | 90 const GURL& embedding_origin, |
| 89 bool user_visible) override; | 91 bool user_visible) override; |
| 90 | 92 |
| 91 // content_settings::Observer implementation. | 93 // content_settings::Observer implementation. |
| 92 void OnContentSettingChanged(const ContentSettingsPattern& primary_pattern, | 94 void OnContentSettingChanged(const ContentSettingsPattern& primary_pattern, |
| 93 const ContentSettingsPattern& secondary_pattern, | 95 const ContentSettingsPattern& secondary_pattern, |
| 94 ContentSettingsType content_type, | 96 ContentSettingsType content_type, |
| 95 std::string resource_identifier) override; | 97 std::string resource_identifier) override; |
| 96 | 98 |
| 97 // KeyedService implementation. | 99 // KeyedService implementation. |
| 98 void Shutdown() override; | 100 void Shutdown() override; |
| 99 | 101 |
| 100 void SetMessageCallbackForTesting(const base::Closure& callback); | 102 void SetMessageCallbackForTesting(const base::Closure& callback); |
| 101 void SetContentSettingChangedCallbackForTesting( | 103 void SetContentSettingChangedCallbackForTesting( |
| 102 const base::Closure& callback); | 104 const base::Closure& callback); |
| 103 | 105 |
| 104 private: | 106 private: |
| 105 // A registration is pending until it has succeeded or failed. | 107 // A subscription is pending until it has succeeded or failed. |
| 106 void IncreasePushRegistrationCount(int add, bool is_pending); | 108 void IncreasePushSubscriptionCount(int add, bool is_pending); |
| 107 void DecreasePushRegistrationCount(int subtract, bool was_pending); | 109 void DecreasePushSubscriptionCount(int subtract, bool was_pending); |
| 108 | 110 |
| 109 // OnMessage methods --------------------------------------------------------- | 111 // OnMessage methods --------------------------------------------------------- |
| 110 | 112 |
| 111 void DeliverMessageCallback(const std::string& app_id_guid, | 113 void DeliverMessageCallback(const std::string& app_id_guid, |
| 112 const GURL& requesting_origin, | 114 const GURL& requesting_origin, |
| 113 int64 service_worker_registration_id, | 115 int64 service_worker_registration_id, |
| 114 const gcm::GCMClient::IncomingMessage& message, | 116 const gcm::GCMClient::IncomingMessage& message, |
| 115 const base::Closure& message_handled_closure, | 117 const base::Closure& message_handled_closure, |
| 116 content::PushDeliveryStatus status); | 118 content::PushDeliveryStatus status); |
| 117 | 119 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 156 bool success, | 158 bool success, |
| 157 int64_t persistent_notification_id); | 159 int64_t persistent_notification_id); |
| 158 | 160 |
| 159 void DidWriteNotificationData( | 161 void DidWriteNotificationData( |
| 160 const GURL& requesting_origin, | 162 const GURL& requesting_origin, |
| 161 const content::PlatformNotificationData& notification_data, | 163 const content::PlatformNotificationData& notification_data, |
| 162 const base::Closure& message_handled_closure, | 164 const base::Closure& message_handled_closure, |
| 163 bool success, | 165 bool success, |
| 164 int64_t persistent_notification_id); | 166 int64_t persistent_notification_id); |
| 165 | 167 |
| 166 // Register methods ---------------------------------------------------------- | 168 // Subscription methods ------------------------------------------------------ |
|
johnme
2015/05/07 13:31:25
Nit: "Subscribe methods" for consistency
| |
| 167 | 169 |
| 168 void RegisterEnd( | 170 void SubscribeEnd( |
| 169 const content::PushMessagingService::RegisterCallback& callback, | 171 const content::PushMessagingService::SubscribeCallback& callback, |
| 170 const std::string& registration_id, | 172 const std::string& subscription_id, |
| 171 content::PushRegistrationStatus status); | 173 content::PushSubscriptionStatus status); |
| 172 | 174 |
| 173 void DidRegister( | 175 void DidSubscribe( |
| 174 const PushMessagingApplicationId& application_id, | 176 const PushMessagingApplicationId& application_id, |
| 175 const content::PushMessagingService::RegisterCallback& callback, | 177 const content::PushMessagingService::SubscribeCallback& callback, |
| 176 const std::string& registration_id, | 178 const std::string& subscription_id, |
| 177 gcm::GCMClient::Result result); | 179 gcm::GCMClient::Result result); |
| 178 | 180 |
| 179 void DidRequestPermission( | 181 void DidRequestPermission( |
| 180 const PushMessagingApplicationId& application_id, | 182 const PushMessagingApplicationId& application_id, |
| 181 const std::string& sender_id, | 183 const std::string& sender_id, |
| 182 const content::PushMessagingService::RegisterCallback& callback, | 184 const content::PushMessagingService::SubscribeCallback& callback, |
| 183 ContentSetting content_setting); | 185 ContentSetting content_setting); |
| 184 | 186 |
| 185 // Unregister methods -------------------------------------------------------- | 187 // Unsubscribe methods ------------------------------------------------------- |
| 186 | 188 |
| 187 void Unregister(const std::string& app_id_guid, | 189 void Unsubscribe(const std::string& app_id_guid, |
| 188 const std::string& sender_id, | 190 const std::string& sender_id, |
| 189 const content::PushMessagingService::UnregisterCallback&); | 191 const content::PushMessagingService::UnsubscribeCallback&); |
| 190 | 192 |
| 191 void DidUnregister(bool was_registered, | 193 void DidUnsubscribe(bool was_subscribed, |
| 192 const content::PushMessagingService::UnregisterCallback&, | 194 const content::PushMessagingService::UnsubscribeCallback&, |
| 193 gcm::GCMClient::Result result); | 195 gcm::GCMClient::Result result); |
| 194 | 196 |
| 195 // OnContentSettingChanged methods ------------------------------------------- | 197 // OnContentSettingChanged methods ------------------------------------------- |
| 196 | 198 |
| 197 void UnregisterBecausePermissionRevoked(const PushMessagingApplicationId& id, | 199 void UnsubscribeBecausePermissionRevoked(const PushMessagingApplicationId& id, |
| 198 const base::Closure& closure, | 200 const base::Closure& closure, |
| 199 const std::string& sender_id, | 201 const std::string& sender_id, |
| 200 bool success, bool not_found); | 202 bool success, bool not_found); |
| 201 | 203 |
| 202 // Helper methods ------------------------------------------------------------ | 204 // Helper methods ------------------------------------------------------------ |
| 203 | 205 |
| 204 // Checks if a given origin is allowed to use Push. | 206 // Checks if a given origin is allowed to use Push. |
| 205 bool HasPermission(const GURL& origin); | 207 bool HasPermission(const GURL& origin); |
| 206 | 208 |
| 207 gcm::GCMDriver* GetGCMDriver() const; | 209 gcm::GCMDriver* GetGCMDriver() const; |
| 208 | 210 |
| 209 Profile* profile_; | 211 Profile* profile_; |
| 210 | 212 |
| 211 int push_registration_count_; | 213 int push_subscription_count_; |
| 212 int pending_push_registration_count_; | 214 int pending_push_subscription_count_; |
| 213 | 215 |
| 214 base::Closure message_callback_for_testing_; | 216 base::Closure message_callback_for_testing_; |
| 215 base::Closure content_setting_changed_callback_for_testing_; | 217 base::Closure content_setting_changed_callback_for_testing_; |
| 216 | 218 |
| 217 base::WeakPtrFactory<PushMessagingServiceImpl> weak_factory_; | 219 base::WeakPtrFactory<PushMessagingServiceImpl> weak_factory_; |
| 218 | 220 |
| 219 DISALLOW_COPY_AND_ASSIGN(PushMessagingServiceImpl); | 221 DISALLOW_COPY_AND_ASSIGN(PushMessagingServiceImpl); |
| 220 }; | 222 }; |
| 221 | 223 |
| 222 #endif // CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ | 224 #endif // CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ |
| OLD | NEW |