Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Unified Diff: components/offline_pages/background/request_coordinator.h

Issue 1929223002: Add skeletons for the factories to create the request coordinator and (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: After merge Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..fdbe868a0fcf2fda0af468dc930564cfbacf2b1d 100644
--- a/components/offline_pages/background/request_coordinator.h
+++ b/components/offline_pages/background/request_coordinator.h
@@ -6,11 +6,16 @@
#define COMPONENTS_OFFLINE_PAGES_BACKGROUND_REQUEST_COORDINATOR_H_
#include "base/callback.h"
+#include "components/keyed_service/core/keyed_service.h"
namespace offline_pages {
+class OfflinerPolicy;
+class OfflinerFactory;
+class Offliner;
+
// 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;
@@ -19,10 +24,7 @@ class RequestCoordinator {
// TODO(dougarnett): define and consider making stand-alone.
};
- // TODO(dougarnett): How to inject Offliner factories and policy objects.
- RequestCoordinator();
-
- ~RequestCoordinator();
+ ~RequestCoordinator() override;
// Queues |request| to later load and save when system conditions allow.
bool SavePageLater(const SavePageRequest& request);
@@ -38,7 +40,16 @@ class RequestCoordinator {
// is stopped or complete.
void StopProcessing();
- // TODO(dougarnett): add policy support methods.
+ // Factory has permission to call our private constructor.
+ friend class RequestCoordinatorFactory;
+
+ private:
+ RequestCoordinator(
+ OfflinerPolicy* policy, OfflinerFactory* factory);
+
+ OfflinerPolicy* policy_;
+ OfflinerFactory* factory_;
+ int factoryArraySize_;
};
} // namespace offline_pages

Powered by Google App Engine
This is Rietveld 408576698