Index: chrome/browser/services/gcm/push_messaging_service_impl.h |
diff --git a/chrome/browser/services/gcm/push_messaging_service_impl.h b/chrome/browser/services/gcm/push_messaging_service_impl.h |
index 64aa91ffe0d3401624c2539bff5ff4cf5335fe2c..f7cc5129c310122c1f26a9173be6f214a3f86141 100644 |
--- a/chrome/browser/services/gcm/push_messaging_service_impl.h |
+++ b/chrome/browser/services/gcm/push_messaging_service_impl.h |
@@ -7,6 +7,7 @@ |
#include "base/compiler_specific.h" |
#include "base/memory/weak_ptr.h" |
+#include "components/gcm_driver/gcm_app_handler.h" |
#include "components/gcm_driver/gcm_client.h" |
#include "content/public/browser/push_messaging_service.h" |
@@ -14,11 +15,25 @@ namespace gcm { |
class GCMProfileService; |
-class PushMessagingServiceImpl : public content::PushMessagingService { |
+class PushMessagingServiceImpl : public content::PushMessagingService, |
+ public GCMAppHandler { |
public: |
explicit PushMessagingServiceImpl(GCMProfileService* gcm_profile_service); |
virtual ~PushMessagingServiceImpl(); |
+ base::WeakPtr<PushMessagingServiceImpl> GetWeakPtr(); |
+ |
+ void LazyLoadAppHandlers(); |
+ |
+ // GCMAppHandler implementation. |
+ virtual void ShutdownHandler() OVERRIDE; |
+ virtual void OnMessage(const std::string& app_id, |
+ const GCMClient::IncomingMessage& message) OVERRIDE; |
+ virtual void OnMessagesDeleted(const std::string& app_id) OVERRIDE; |
+ virtual void OnSendError( |
+ const std::string& app_id, |
+ const GCMClient::SendErrorDetails& send_error_details) OVERRIDE; |
+ |
// content::PushMessagingService implementation: |
virtual void Register( |
const std::string& app_id, |