Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Side by Side Diff: components/dom_distiller/core/distiller_page.cc

Issue 493853006: Remove DistilledPageInfo and related structs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/dom_distiller/core/distiller_page.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/dom_distiller/core/distiller_page.h" 5 #include "components/dom_distiller/core/distiller_page.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 30 matching lines...) Expand all
41 DCHECK_NE(std::string::npos, options_offset); 41 DCHECK_NE(std::string::npos, options_offset);
42 DCHECK_EQ(std::string::npos, 42 DCHECK_EQ(std::string::npos,
43 script.find(kOptionsPlaceholder, options_offset + 1)); 43 script.find(kOptionsPlaceholder, options_offset + 1));
44 script = 44 script =
45 script.replace(options_offset, strlen(kOptionsPlaceholder), options_json); 45 script.replace(options_offset, strlen(kOptionsPlaceholder), options_json);
46 return script; 46 return script;
47 } 47 }
48 48
49 } 49 }
50 50
51 DistilledPageInfo::DistilledPageInfo() {}
52
53 DistilledPageInfo::~DistilledPageInfo() {}
54
55 DistilledPageInfo::MarkupArticle::MarkupArticle() {}
56
57 DistilledPageInfo::MarkupArticle::~MarkupArticle() {}
58
59 DistilledPageInfo::MarkupImage::MarkupImage() {}
60
61 DistilledPageInfo::MarkupImage::~MarkupImage() {}
62
63 DistilledPageInfo::MarkupInfo::MarkupInfo() {}
64
65 DistilledPageInfo::MarkupInfo::~MarkupInfo() {}
66
67 DistillerPageFactory::~DistillerPageFactory() {} 51 DistillerPageFactory::~DistillerPageFactory() {}
68 52
69 DistillerPage::DistillerPage() : ready_(true) {} 53 DistillerPage::DistillerPage() : ready_(true) {}
70 54
71 DistillerPage::~DistillerPage() {} 55 DistillerPage::~DistillerPage() {}
72 56
73 void DistillerPage::DistillPage( 57 void DistillerPage::DistillPage(
74 const GURL& gurl, 58 const GURL& gurl,
75 const dom_distiller::proto::DomDistillerOptions options, 59 const dom_distiller::proto::DomDistillerOptions options,
76 const DistillerPageCallback& callback) { 60 const DistillerPageCallback& callback) {
77 DCHECK(ready_); 61 DCHECK(ready_);
78 // It is only possible to distill one page at a time. |ready_| is reset when 62 // It is only possible to distill one page at a time. |ready_| is reset when
79 // the callback to OnDistillationDone happens. 63 // the callback to OnDistillationDone happens.
80 ready_ = false; 64 ready_ = false;
81 distiller_page_callback_ = callback; 65 distiller_page_callback_ = callback;
82 DistillPageImpl(gurl, GetDistillerScriptWithOptions(options)); 66 DistillPageImpl(gurl, GetDistillerScriptWithOptions(options));
83 } 67 }
84 68
85 void DistillerPage::OnDistillationDone(const GURL& page_url, 69 void DistillerPage::OnDistillationDone(const GURL& page_url,
86 const base::Value* value) { 70 const base::Value* value) {
87 DCHECK(!ready_); 71 DCHECK(!ready_);
88 ready_ = true; 72 ready_ = true;
89 73
90 scoped_ptr<DistilledPageInfo> page_info(new DistilledPageInfo()); 74 scoped_ptr<dom_distiller::proto::DomDistillerResult> distiller_result(
75 new dom_distiller::proto::DomDistillerResult());
91 bool found_content = !value->IsType(base::Value::TYPE_NULL); 76 bool found_content = !value->IsType(base::Value::TYPE_NULL);
92 if (found_content) { 77 if (found_content &&
93 dom_distiller::proto::DomDistillerResult distiller_result = 78 !dom_distiller::proto::json::DomDistillerResult::ReadFromValue(
94 dom_distiller::proto::json::DomDistillerResult::ReadFromValue(value); 79 value, distiller_result.get())) {
95 80 DVLOG(1) << "Unable to parse DomDistillerResult.";
96 page_info->title = distiller_result.title();
97 page_info->html = distiller_result.distilled_content().html();
98 page_info->next_page_url = distiller_result.pagination_info().next_page();
99 page_info->prev_page_url = distiller_result.pagination_info().prev_page();
100 for (int i = 0; i < distiller_result.image_urls_size(); ++i) {
101 const std::string image_url = distiller_result.image_urls(i);
102 if (GURL(image_url).is_valid()) {
103 page_info->image_urls.push_back(image_url);
104 }
105 }
106 const dom_distiller::proto::MarkupInfo& src_markup_info =
107 distiller_result.markup_info();
108 DistilledPageInfo::MarkupInfo& dst_markup_info = page_info->markup_info;
109 dst_markup_info.title = src_markup_info.title();
110 dst_markup_info.type = src_markup_info.type();
111 dst_markup_info.url = src_markup_info.url();
112 dst_markup_info.description = src_markup_info.description();
113 dst_markup_info.publisher = src_markup_info.publisher();
114 dst_markup_info.copyright = src_markup_info.copyright();
115 dst_markup_info.author = src_markup_info.author();
116
117 const dom_distiller::proto::MarkupArticle& src_article =
118 src_markup_info.article();
119 DistilledPageInfo::MarkupArticle& dst_article = dst_markup_info.article;
120 dst_article.published_time = src_article.published_time();
121 dst_article.modified_time = src_article.modified_time();
122 dst_article.expiration_time = src_article.expiration_time();
123 dst_article.section = src_article.section();
124 for (int i = 0; i < src_article.authors_size(); ++i) {
125 dst_article.authors.push_back(src_article.authors(i));
126 }
127
128 for (int i = 0; i < src_markup_info.images_size(); ++i) {
129 const dom_distiller::proto::MarkupImage& src_image =
130 src_markup_info.images(i);
131 DistilledPageInfo::MarkupImage dst_image;
132 dst_image.url = src_image.url();
133 dst_image.secure_url = src_image.secure_url();
134 dst_image.type = src_image.type();
135 dst_image.caption = src_image.caption();
136 dst_image.width = src_image.width();
137 dst_image.height = src_image.height();
138 dst_markup_info.images.push_back(dst_image);
139 }
140 } 81 }
141 82
142 base::MessageLoop::current()->PostTask( 83 base::MessageLoop::current()->PostTask(
143 FROM_HERE, 84 FROM_HERE,
144 base::Bind( 85 base::Bind(distiller_page_callback_,
145 distiller_page_callback_, base::Passed(&page_info), found_content)); 86 base::Passed(&distiller_result),
87 found_content));
cjhopman 2014/08/27 19:11:37 found_content should probably be false if we faile
nyquist 2014/08/28 19:01:32 Done.
146 } 88 }
147 89
148 } // namespace dom_distiller 90 } // namespace dom_distiller
OLDNEW
« no previous file with comments | « components/dom_distiller/core/distiller_page.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698