Chromium Code Reviews| Index: net/reporting/reporting_context.h |
| diff --git a/net/reporting/reporting_context.h b/net/reporting/reporting_context.h |
| index 9239cbb8d6e4d4b152d2d1f7006346d03b59a083..125c221865c773f4db5964bfd0b9383cba15dae2 100644 |
| --- a/net/reporting/reporting_context.h |
| +++ b/net/reporting/reporting_context.h |
| @@ -16,6 +16,7 @@ |
| namespace base { |
| class Clock; |
| class TickClock; |
| +class Timer; |
| } // namespace base |
| namespace net { |
| @@ -24,6 +25,7 @@ class ReportingCache; |
| class ReportingDelegate; |
| class ReportingDeliveryAgent; |
| class ReportingEndpointManager; |
| +class ReportingGarbageCollector; |
| class ReportingObserver; |
| class ReportingUploader; |
| class URLRequestContext; |
| @@ -44,6 +46,9 @@ class NET_EXPORT ReportingContext { |
| base::Clock* clock() { return clock_.get(); } |
| base::TickClock* tick_clock() { return tick_clock_.get(); } |
| + base::Timer* garbage_collection_timer() { |
| + return garbage_collection_timer_.get(); |
| + } |
| ReportingUploader* uploader() { return uploader_.get(); } |
| ReportingCache* cache() { return cache_.get(); } |
| @@ -51,6 +56,9 @@ class NET_EXPORT ReportingContext { |
| return endpoint_manager_.get(); |
| } |
| ReportingDeliveryAgent* delivery_agent() { return delivery_agent_.get(); } |
| + ReportingGarbageCollector* garbage_collector() { |
| + return garbage_collector_.get(); |
| + } |
| void AddObserver(ReportingObserver* observer); |
| void RemoveObserver(ReportingObserver* observer); |
| @@ -63,6 +71,7 @@ class NET_EXPORT ReportingContext { |
| void Init(std::unique_ptr<ReportingDelegate> delegate, |
| std::unique_ptr<base::Clock> clock, |
| std::unique_ptr<base::TickClock> tick_clock, |
| + std::unique_ptr<base::Timer> garbage_collection_timer, |
| std::unique_ptr<ReportingUploader> uploader); |
| private: |
| @@ -71,6 +80,7 @@ class NET_EXPORT ReportingContext { |
| std::unique_ptr<base::Clock> clock_; |
| std::unique_ptr<base::TickClock> tick_clock_; |
| + std::unique_ptr<base::Timer> garbage_collection_timer_; |
|
shivanisha
2017/04/05 16:44:05
Since the garbage_collector_ object is responsible
|
| std::unique_ptr<ReportingUploader> uploader_; |
| base::ObserverList<ReportingObserver, /* check_empty= */ true> observers_; |
| @@ -84,6 +94,10 @@ class NET_EXPORT ReportingContext { |
| // and |endpoint_manager_|. |
| std::unique_ptr<ReportingDeliveryAgent> delivery_agent_; |
| + // |garbage_collector_| must come after |tick_clock_|, |
| + // |garbage_collection_timer_|, and |cache_|. |
| + std::unique_ptr<ReportingGarbageCollector> garbage_collector_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(ReportingContext); |
| }; |