Index: components/dom_distiller/core/dom_distiller_request_view_base.cc |
diff --git a/components/dom_distiller/core/dom_distiller_request_view_base.cc b/components/dom_distiller/core/dom_distiller_request_view_base.cc |
index 8a6a30f4564197f98b5cc83fc8403ef419e5d0b2..8a5266fe5a2399b1ac9d55efc3a9350651ee5785 100644 |
--- a/components/dom_distiller/core/dom_distiller_request_view_base.cc |
+++ b/components/dom_distiller/core/dom_distiller_request_view_base.cc |
@@ -25,10 +25,8 @@ |
namespace dom_distiller { |
DomDistillerRequestViewBase::DomDistillerRequestViewBase( |
- scoped_ptr<DistillerDataCallback> callback, |
DistilledPagePrefs* distilled_page_prefs) |
- : callback_(callback.Pass()), |
- page_count_(0), |
+ : page_count_(0), |
distilled_page_prefs_(distilled_page_prefs), |
is_error_page_(false) { |
} |
@@ -38,10 +36,6 @@ DomDistillerRequestViewBase::~DomDistillerRequestViewBase() { |
void DomDistillerRequestViewBase::FlagAsErrorPage() { |
is_error_page_ = true; |
- std::string error_page_html = |
- viewer::GetErrorPageHtml(distilled_page_prefs_->GetTheme(), |
- distilled_page_prefs_->GetFontFamily()); |
- callback_->RunCallback(error_page_html); |
} |
bool DomDistillerRequestViewBase::IsErrorPage() { |
@@ -51,17 +45,15 @@ bool DomDistillerRequestViewBase::IsErrorPage() { |
void DomDistillerRequestViewBase::OnArticleReady( |
const DistilledArticleProto* article_proto) { |
if (page_count_ == 0) { |
- const DistilledPageProto* cur_page; |
- if (article_proto->pages().size() < 1) { |
- cur_page = new DistilledPageProto(); |
+ std::string text_direction; |
+ if (article_proto->pages().size() > 0) { |
+ text_direction = article_proto->pages(0).text_direction(); |
} else { |
- cur_page = &article_proto->pages(0); |
+ text_direction = "auto"; |
} |
- std::string unsafe_page_html = viewer::GetUnsafeArticleTemplateHtml( |
- cur_page, distilled_page_prefs_->GetTheme(), |
- distilled_page_prefs_->GetFontFamily()); |
- callback_->RunCallback(unsafe_page_html); |
- // Send first page to client. |
+ // Send first page, title, and text direction to client. |
+ SendJavaScript(viewer::GetSetTitleJs(article_proto->title())); |
+ SendJavaScript(viewer::GetSetTextDirectionJs(text_direction)); |
SendJavaScript(viewer::GetUnsafeArticleContentJs(article_proto)); |
// If any content was loaded, show the feedback form. |
SendJavaScript(viewer::GetShowFeedbackFormJs()); |
@@ -92,11 +84,10 @@ void DomDistillerRequestViewBase::OnArticleUpdated( |
SendJavaScript(viewer::GetUnsafeIncrementalDistilledPageJs(&page, false)); |
if (page_count_ == 0) { |
- // This is the first page, so send Viewer page scaffolding too. |
- std::string unsafe_page_html = viewer::GetUnsafeArticleTemplateHtml( |
- &page, distilled_page_prefs_->GetTheme(), |
- distilled_page_prefs_->GetFontFamily()); |
- callback_->RunCallback(unsafe_page_html); |
+ // This is the first page, so send the title and text direction to the |
+ // client. |
+ SendJavaScript(viewer::GetSetTitleJs(page.title())); |
+ SendJavaScript(viewer::GetSetTextDirectionJs(page.text_direction())); |
// If any content was loaded, show the feedback form. |
SendJavaScript(viewer::GetShowFeedbackFormJs()); |
} |
@@ -116,6 +107,9 @@ void DomDistillerRequestViewBase::OnChangeFontFamily( |
void DomDistillerRequestViewBase::TakeViewerHandle( |
scoped_ptr<ViewerHandle> viewer_handle) { |
viewer_handle_ = viewer_handle.Pass(); |
+ // Getting the viewer handle means this is not an error page, show the |
+ // loading indicator. |
+ SendJavaScript(viewer::GetToggleLoadingIndicatorJs(false)); |
} |
} // namespace dom_distiller |