Index: chrome/browser/push_messaging/push_messaging_service_impl.h |
diff --git a/chrome/browser/services/gcm/push_messaging_service_impl.h b/chrome/browser/push_messaging/push_messaging_service_impl.h |
similarity index 85% |
rename from chrome/browser/services/gcm/push_messaging_service_impl.h |
rename to chrome/browser/push_messaging/push_messaging_service_impl.h |
index c5cb50083d31a23c4397fea7c483c163cf44f839..4338cbc7f54440691965d7aca335f5df1e236746 100644 |
--- a/chrome/browser/services/gcm/push_messaging_service_impl.h |
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.h |
@@ -2,51 +2,50 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_SERVICE_IMPL_H_ |
-#define CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_SERVICE_IMPL_H_ |
+#ifndef CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ |
+#define CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ |
#include "base/compiler_specific.h" |
#include "base/memory/weak_ptr.h" |
#include "components/content_settings/core/browser/content_settings_observer.h" |
#include "components/gcm_driver/gcm_app_handler.h" |
#include "components/gcm_driver/gcm_client.h" |
+#include "components/keyed_service/core/keyed_service.h" |
#include "content/public/browser/push_messaging_service.h" |
#include "content/public/common/push_messaging_status.h" |
#include "third_party/WebKit/public/platform/modules/push_messaging/WebPushPermissionStatus.h" |
class Profile; |
+class PushMessagingApplicationId; |
namespace user_prefs { |
class PrefRegistrySyncable; |
} |
namespace gcm { |
- |
+class GCMDriver; |
class GCMProfileService; |
-class PushMessagingApplicationId; |
+} |
class PushMessagingServiceImpl : public content::PushMessagingService, |
- public GCMAppHandler, |
- public content_settings::Observer { |
+ public gcm::GCMAppHandler, |
+ public content_settings::Observer, |
+ public KeyedService { |
public: |
// Register profile-specific prefs for GCM. |
static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); |
- // If any Service Workers are using push, starts GCM and adds an app handler. |
- static void InitializeForProfile(Profile* profile); |
- |
- PushMessagingServiceImpl(GCMProfileService* gcm_profile_service, |
- Profile* profile); |
+ explicit PushMessagingServiceImpl(Profile* profile); |
~PushMessagingServiceImpl() override; |
- // GCMAppHandler implementation. |
+ // gcm::GCMAppHandler implementation. |
void ShutdownHandler() override; |
void OnMessage(const std::string& app_id, |
- const GCMClient::IncomingMessage& message) override; |
+ const gcm::GCMClient::IncomingMessage& message) override; |
void OnMessagesDeleted(const std::string& app_id) override; |
void OnSendError( |
const std::string& app_id, |
- const GCMClient::SendErrorDetails& send_error_details) override; |
+ const gcm::GCMClient::SendErrorDetails& send_error_details) override; |
void OnSendAcknowledged(const std::string& app_id, |
const std::string& message_id) override; |
bool CanHandle(const std::string& app_id) const override; |
@@ -82,7 +81,8 @@ class PushMessagingServiceImpl : public content::PushMessagingService, |
ContentSettingsType content_type, |
std::string resource_identifier) override; |
- void SetProfileForTesting(Profile* profile); |
+ // KeyedService implementation. |
+ void Shutdown() override; |
private: |
// A registration is pending until it has succeeded or failed. |
@@ -94,7 +94,7 @@ class PushMessagingServiceImpl : public content::PushMessagingService, |
void DeliverMessageCallback(const std::string& app_id_guid, |
const GURL& requesting_origin, |
int64 service_worker_registration_id, |
- const GCMClient::IncomingMessage& message, |
+ const gcm::GCMClient::IncomingMessage& message, |
content::PushDeliveryStatus status); |
// Developers are required to display a Web Notification in response to an |
@@ -123,7 +123,7 @@ class PushMessagingServiceImpl : public content::PushMessagingService, |
const PushMessagingApplicationId& application_id, |
const content::PushMessagingService::RegisterCallback& callback, |
const std::string& registration_id, |
- GCMClient::Result result); |
+ gcm::GCMClient::Result result); |
void DidRequestPermission( |
const PushMessagingApplicationId& application_id, |
@@ -141,7 +141,7 @@ class PushMessagingServiceImpl : public content::PushMessagingService, |
void DidUnregister(const std::string& app_id_guid, |
bool retry_on_failure, |
const content::PushMessagingService::UnregisterCallback&, |
- GCMClient::Result result); |
+ gcm::GCMClient::Result result); |
// OnContentSettingChanged methods ------------------------------------------- |
@@ -154,9 +154,11 @@ class PushMessagingServiceImpl : public content::PushMessagingService, |
// Checks if a given origin is allowed to use Push. |
bool HasPermission(const GURL& origin); |
- GCMProfileService* gcm_profile_service_; // It owns us. |
+ gcm::GCMDriver* gcm_driver() const; |
+ |
+ gcm::GCMProfileService* gcm_profile_service_; |
Peter Beverloo
2015/02/25 23:55:05
Could you add a comment that it's safe to hold on
kbalazs
2015/02/27 22:40:36
Done.
|
- Profile* profile_; // It owns our owner. |
+ Profile* profile_; |
int push_registration_count_; |
int pending_push_registration_count_; |
@@ -166,6 +168,4 @@ class PushMessagingServiceImpl : public content::PushMessagingService, |
DISALLOW_COPY_AND_ASSIGN(PushMessagingServiceImpl); |
}; |
-} // namespace gcm |
- |
-#endif // CHROME_BROWSER_SERVICES_GCM_PUSH_MESSAGING_SERVICE_IMPL_H_ |
+#endif // CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_SERVICE_IMPL_H_ |