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 |