Chromium Code Reviews| Index: components/offline_pages/background/request_coordinator.h |
| diff --git a/components/offline_pages/background/request_coordinator.h b/components/offline_pages/background/request_coordinator.h |
| index 47991061dba95200a826cfac6abb9289ce0d0736..664a38349dbb85178a04129043ebe714b72c598a 100644 |
| --- a/components/offline_pages/background/request_coordinator.h |
| +++ b/components/offline_pages/background/request_coordinator.h |
| @@ -5,24 +5,30 @@ |
| #ifndef COMPONENTS_OFFLINE_PAGES_BACKGROUND_REQUEST_COORDINATOR_H_ |
| #define COMPONENTS_OFFLINE_PAGES_BACKGROUND_REQUEST_COORDINATOR_H_ |
| +#include <memory> |
| + |
| #include "base/callback.h" |
| +#include "components/keyed_service/core/keyed_service.h" |
| namespace offline_pages { |
| +class OfflinerPolicy; |
| +class OfflinerFactory; |
| +class Offliner; |
| +class SavePageRequest; |
| + |
| // Coordinates queueing and processing save page later requests. |
| -class RequestCoordinator { |
| +class RequestCoordinator : public KeyedService { |
| public: |
| // Callback to report when the processing of a triggered task is complete. |
| typedef base::Callback<void()> ProcessingDoneCallback; |
| - struct SavePageRequest { |
| - // TODO(dougarnett): define and consider making stand-alone. |
| - }; |
| - // TODO(dougarnett): How to inject Offliner factories and policy objects. |
| - RequestCoordinator(); |
| + RequestCoordinator( |
| + std::unique_ptr<OfflinerPolicy> policy, |
|
fgorski
2016/05/04 21:38:25
did you run git cl format?
Pete Williamson
2016/05/04 21:54:59
Done. (though I thought this style was also allowe
|
| + std::unique_ptr<OfflinerFactory> factory); |
| - ~RequestCoordinator(); |
| + ~RequestCoordinator() override; |
| // Queues |request| to later load and save when system conditions allow. |
| bool SavePageLater(const SavePageRequest& request); |
| @@ -38,7 +44,13 @@ class RequestCoordinator { |
| // is stopped or complete. |
| void StopProcessing(); |
| - // TODO(dougarnett): add policy support methods. |
| + private: |
| + // RequestCoordinator takes over ownership of the policy |
| + std::unique_ptr<OfflinerPolicy> policy_; |
| + // Factory is owned by the RequestCoordinator. |
| + std::unique_ptr<OfflinerFactory> factory_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(RequestCoordinator); |
|
fgorski
2016/05/04 21:38:25
nit: include "base/macros.h" explicitly
Pete Williamson
2016/05/04 21:54:59
Done.
|
| }; |
| } // namespace offline_pages |