Index: components/offline_pages/core/prefetch/prefetch_service_impl.h |
diff --git a/components/offline_pages/core/prefetch/prefetch_service_impl.h b/components/offline_pages/core/prefetch/prefetch_service_impl.h |
index 69346aa356ad721f13d34b818cdb714cced3531d..c84c62d62ba20110a83bcb5fdc7409cf20edbbae 100644 |
--- a/components/offline_pages/core/prefetch/prefetch_service_impl.h |
+++ b/components/offline_pages/core/prefetch/prefetch_service_impl.h |
@@ -7,13 +7,39 @@ |
#include <vector> |
+#include "components/gcm_driver/common/gcm_messages.h" |
+#include "components/gcm_driver/gcm_app_handler.h" |
#include "components/offline_pages/core/prefetch/prefetch_service.h" |
#include "url/gurl.h" |
+namespace gcm { |
+class GCMDriver; |
+} |
+ |
namespace offline_pages { |
class PrefetchServiceImpl : public PrefetchService { |
public: |
+ class PrefetchServiceAppHandler : public gcm::GCMAppHandler { |
+ public: |
+ PrefetchServiceAppHandler() = default; |
+ ~PrefetchServiceAppHandler() override = default; |
+ // GCMAppHandler implementation: |
+ void ShutdownHandler() override; |
+ void OnStoreReset() override; |
+ void OnMessage(const std::string& app_id, |
+ const gcm::IncomingMessage& message) override; |
+ void OnMessagesDeleted(const std::string& app_id) override; |
+ void OnSendError( |
+ const std::string& app_id, |
+ const gcm::GCMClient::SendErrorDetails& send_error_details) override; |
+ void OnSendAcknowledged(const std::string& app_id, |
+ const std::string& message_id) override; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(PrefetchServiceAppHandler); |
+ }; |
+ |
PrefetchServiceImpl(); |
~PrefetchServiceImpl() override; |
@@ -24,11 +50,14 @@ class PrefetchServiceImpl : public PrefetchService { |
void RemovePrefetchURLsByClientId(const ClientId& client_id) override; |
void BeginBackgroundTask(std::unique_ptr<ScopedBackgroundTask> task) override; |
void StopBackgroundTask(ScopedBackgroundTask* task) override; |
+ void RegisterWithGCMDriver(gcm::GCMDriver* driver) override; |
// KeyedService implementation: |
void Shutdown() override; |
private: |
+ PrefetchServiceAppHandler app_handler_; |
+ |
DISALLOW_COPY_AND_ASSIGN(PrefetchServiceImpl); |
}; |