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

Side by Side Diff: components/dom_distiller/content/dom_distiller_viewer_source.cc

Issue 178303004: Add incremental updates for multipage distillation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments. Created 6 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/content/dom_distiller_viewer_source.h" 5 #include "components/dom_distiller/content/dom_distiller_viewer_source.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 class RequestViewerHandle : public ViewRequestDelegate { 51 class RequestViewerHandle : public ViewRequestDelegate {
52 public: 52 public:
53 explicit RequestViewerHandle( 53 explicit RequestViewerHandle(
54 const content::URLDataSource::GotDataCallback& callback); 54 const content::URLDataSource::GotDataCallback& callback);
55 virtual ~RequestViewerHandle(); 55 virtual ~RequestViewerHandle();
56 56
57 // ViewRequestDelegate implementation. 57 // ViewRequestDelegate implementation.
58 virtual void OnArticleReady(const DistilledArticleProto* article_proto) 58 virtual void OnArticleReady(const DistilledArticleProto* article_proto)
59 OVERRIDE; 59 OVERRIDE;
60 60
61 virtual void OnArticleUpdated(ArticleDistillationUpdate article_update)
62 OVERRIDE;
63
61 void TakeViewerHandle(scoped_ptr<ViewerHandle> viewer_handle); 64 void TakeViewerHandle(scoped_ptr<ViewerHandle> viewer_handle);
62 65
63 private: 66 private:
64 // The handle to the view request towards the DomDistillerService. It 67 // The handle to the view request towards the DomDistillerService. It
65 // needs to be kept around to ensure the distillation request finishes. 68 // needs to be kept around to ensure the distillation request finishes.
66 scoped_ptr<ViewerHandle> viewer_handle_; 69 scoped_ptr<ViewerHandle> viewer_handle_;
67 70
68 // This holds the callback to where the data retrieved is sent back. 71 // This holds the callback to where the data retrieved is sent back.
69 content::URLDataSource::GotDataCallback callback_; 72 content::URLDataSource::GotDataCallback callback_;
70 }; 73 };
(...skipping 23 matching lines...) Expand all
94 title = l10n_util::GetStringUTF8(IDS_DOM_DISTILLER_VIEWER_NO_DATA_TITLE); 97 title = l10n_util::GetStringUTF8(IDS_DOM_DISTILLER_VIEWER_NO_DATA_TITLE);
95 unsafe_article_html = 98 unsafe_article_html =
96 l10n_util::GetStringUTF8(IDS_DOM_DISTILLER_VIEWER_NO_DATA_CONTENT); 99 l10n_util::GetStringUTF8(IDS_DOM_DISTILLER_VIEWER_NO_DATA_CONTENT);
97 } 100 }
98 std::string unsafe_page_html = 101 std::string unsafe_page_html =
99 ReplaceHtmlTemplateValues(title, unsafe_article_html); 102 ReplaceHtmlTemplateValues(title, unsafe_article_html);
100 callback_.Run(base::RefCountedString::TakeString(&unsafe_page_html)); 103 callback_.Run(base::RefCountedString::TakeString(&unsafe_page_html));
101 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); 104 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
102 } 105 }
103 106
107 void RequestViewerHandle::OnArticleUpdated(
108 ArticleDistillationUpdate article_update) {
109 // TODO(nyquist): Add support for displaying pages incrementally.
110 }
111
104 void RequestViewerHandle::TakeViewerHandle( 112 void RequestViewerHandle::TakeViewerHandle(
105 scoped_ptr<ViewerHandle> viewer_handle) { 113 scoped_ptr<ViewerHandle> viewer_handle) {
106 viewer_handle_ = viewer_handle.Pass(); 114 viewer_handle_ = viewer_handle.Pass();
107 } 115 }
108 116
109 DomDistillerViewerSource::DomDistillerViewerSource( 117 DomDistillerViewerSource::DomDistillerViewerSource(
110 DomDistillerService* dom_distiller_service, 118 DomDistillerService* dom_distiller_service,
111 const std::string& scheme) 119 const std::string& scheme)
112 : scheme_(scheme), dom_distiller_service_(dom_distiller_service) {} 120 : scheme_(scheme), dom_distiller_service_(dom_distiller_service) {}
113 121
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 *path = request->url().host(); 192 *path = request->url().host();
185 } 193 }
186 }; 194 };
187 195
188 std::string DomDistillerViewerSource::GetContentSecurityPolicyObjectSrc() 196 std::string DomDistillerViewerSource::GetContentSecurityPolicyObjectSrc()
189 const { 197 const {
190 return "object-src 'none'; style-src 'self'"; 198 return "object-src 'none'; style-src 'self'";
191 } 199 }
192 200
193 } // namespace dom_distiller 201 } // namespace dom_distiller
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698