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..0c0438fa7abb00406f133fdf8ea4a4bf34673b04 100644 |
--- a/components/offline_pages/background/request_coordinator.h |
+++ b/components/offline_pages/background/request_coordinator.h |
@@ -6,23 +6,26 @@ |
#define COMPONENTS_OFFLINE_PAGES_BACKGROUND_REQUEST_COORDINATOR_H_ |
#include "base/callback.h" |
+#include "components/keyed_service/core/keyed_service.h" |
+#include "components/offline_pages/background/save_page_request.h" |
fgorski
2016/05/04 05:20:58
I think you can forward declare this one.
Pete Williamson
2016/05/04 21:23:21
Done.
|
namespace offline_pages { |
+class OfflinerPolicy; |
+class OfflinerFactory; |
+class Offliner; |
+ |
// Coordinates queueing and processing save page later requests. |
-class RequestCoordinator { |
+class RequestCoordinator : public KeyedService { |
fgorski
2016/05/04 05:20:58
Did you consider adding DISALLOW... at the end?
Pete Williamson
2016/05/04 21:23:21
Done.
|
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( |
+ OfflinerPolicy* policy, OfflinerFactory* factory); |
fgorski
2016/05/04 05:20:58
To clearly communicate ownership you should probab
Pete Williamson
2016/05/04 21:23:21
Done.
|
- ~RequestCoordinator(); |
+ ~RequestCoordinator() override; |
// Queues |request| to later load and save when system conditions allow. |
bool SavePageLater(const SavePageRequest& request); |
@@ -38,7 +41,10 @@ class RequestCoordinator { |
// is stopped or complete. |
void StopProcessing(); |
- // TODO(dougarnett): add policy support methods. |
+ private: |
+ OfflinerPolicy* policy_; |
+ // Factory ownership is taken over here. |
+ OfflinerFactory* factory_; |
}; |
} // namespace offline_pages |