| Index: components/dom_distiller/core/task_tracker.h
|
| diff --git a/components/dom_distiller/core/task_tracker.h b/components/dom_distiller/core/task_tracker.h
|
| index dc066beeb5419ba7718de95eac5c7764b61ccf2a..c8a62d978ce3f35919ac4b1bf5c59a96b5966912 100644
|
| --- a/components/dom_distiller/core/task_tracker.h
|
| +++ b/components/dom_distiller/core/task_tracker.h
|
| @@ -21,6 +21,7 @@ class GURL;
|
| namespace dom_distiller {
|
|
|
| class DistilledArticleProto;
|
| +class DistilledContentStore;
|
|
|
| // A handle to a request to view a DOM distiller entry or URL. The request will
|
| // be cancelled when the handle is destroyed.
|
| @@ -75,7 +76,9 @@ class TaskTracker {
|
| void(const ArticleEntry&, const DistilledArticleProto*, bool)>
|
| SaveCallback;
|
|
|
| - TaskTracker(const ArticleEntry& entry, CancelCallback callback);
|
| + TaskTracker(const ArticleEntry& entry,
|
| + CancelCallback callback,
|
| + DistilledContentStore* content_store);
|
| ~TaskTracker();
|
|
|
| // |factory| will not be stored after this call.
|
| @@ -94,33 +97,47 @@ class TaskTracker {
|
| bool HasUrl(const GURL& url) const;
|
|
|
| private:
|
| + void OnArticleDistillationUpdated(
|
| + const ArticleDistillationUpdate& article_update);
|
| +
|
| void OnDistillerFinished(scoped_ptr<DistilledArticleProto> distilled_article);
|
| + void OnBlobFetched(bool success,
|
| + scoped_ptr<DistilledArticleProto> distilled_article);
|
| +
|
| + void RemoveViewer(ViewRequestDelegate* delegate);
|
|
|
| - void OnDistilledArticleReady(
|
| + void DistilledArticleReady(
|
| scoped_ptr<DistilledArticleProto> distilled_article);
|
| - void OnArticleDistillationUpdated(
|
| - const ArticleDistillationUpdate& article_update);
|
| +
|
| // Posts a task to run DoSaveCallbacks with |distillation_succeeded|.
|
| void ScheduleSaveCallbacks(bool distillation_succeeded);
|
|
|
| - // Runs all callbacks passing |distillation_succeeded| and clears them. Should
|
| - // be called through ScheduleSaveCallbacks.
|
| + // Runs all callbacks passing |distillation_succeeded| and clears them.
|
| void DoSaveCallbacks(bool distillation_succeeded);
|
|
|
| - void RemoveViewer(ViewRequestDelegate* delegate);
|
| + void AddDistilledContentToStore(const DistilledArticleProto& content);
|
| +
|
| + void NotifyViewersAndCallbacks();
|
| void NotifyViewer(ViewRequestDelegate* delegate);
|
|
|
| + bool IsAnySourceRunning() const;
|
| + void ContentSourceFinished();
|
| +
|
| + void CancelPendingSources();
|
| void MaybeCancel();
|
|
|
| CancelCallback cancel_callback_;
|
| - std::vector<SaveCallback> save_callbacks_;
|
|
|
| - scoped_ptr<Distiller> distiller_;
|
| + DistilledContentStore* content_store_;
|
|
|
| + std::vector<SaveCallback> save_callbacks_;
|
| // A ViewRequestDelegate will be added to this list when a view request is
|
| // made and removed when the corresponding ViewerHandle is destroyed.
|
| std::vector<ViewRequestDelegate*> viewers_;
|
|
|
| + scoped_ptr<Distiller> distiller_;
|
| + bool blob_fetcher_running_;
|
| +
|
| ArticleEntry entry_;
|
| scoped_ptr<DistilledArticleProto> distilled_article_;
|
|
|
|
|