| Index: components/dom_distiller/core/task_tracker.cc
|
| diff --git a/components/dom_distiller/core/task_tracker.cc b/components/dom_distiller/core/task_tracker.cc
|
| index 1afd4825ac75dc96777a41aafa80f4f2e9cc39da..4d2afd76eae1b68cba1a12ead7b2cef1f80a6e74 100644
|
| --- a/components/dom_distiller/core/task_tracker.cc
|
| +++ b/components/dom_distiller/core/task_tracker.cc
|
| @@ -41,7 +41,9 @@ void TaskTracker::StartDistiller(DistillerFactory* factory) {
|
|
|
| distiller_ = factory->CreateDistiller();
|
| distiller_->DistillPage(url,
|
| - base::Bind(&TaskTracker::OnDistilledDataReady,
|
| + base::Bind(&TaskTracker::OnDistilledArticleReady,
|
| + weak_ptr_factory_.GetWeakPtr()),
|
| + base::Bind(&TaskTracker::OnArticleDistillationUpdated,
|
| weak_ptr_factory_.GetWeakPtr()));
|
| }
|
|
|
| @@ -139,7 +141,7 @@ void TaskTracker::NotifyViewer(ViewRequestDelegate* delegate) {
|
| delegate->OnArticleReady(distilled_article_.get());
|
| }
|
|
|
| -void TaskTracker::OnDistilledDataReady(
|
| +void TaskTracker::OnDistilledArticleReady(
|
| scoped_ptr<DistilledArticleProto> distilled_article) {
|
| distilled_article_ = distilled_article.Pass();
|
| bool distillation_successful = false;
|
| @@ -164,4 +166,11 @@ void TaskTracker::OnDistilledDataReady(
|
| DoSaveCallbacks(distillation_successful);
|
| }
|
|
|
| +void TaskTracker::OnArticleDistillationUpdated(
|
| + const ArticleDistillationUpdate& article_update) {
|
| + for (size_t i = 0; i < viewers_.size(); ++i) {
|
| + viewers_[i]->OnArticleUpdated(article_update);
|
| + }
|
| +}
|
| +
|
| } // namespace dom_distiller
|
|
|