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

Side by Side Diff: components/dom_distiller/core/distiller.h

Issue 286583002: Pull DomDistillerOptions up to the DistillerFactory (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: :/ Created 6 years, 7 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 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 #ifndef COMPONENTS_DOM_DISTILLER_CORE_DISTILLER_H_ 5 #ifndef COMPONENTS_DOM_DISTILLER_CORE_DISTILLER_H_
6 #define COMPONENTS_DOM_DISTILLER_CORE_DISTILLER_H_ 6 #define COMPONENTS_DOM_DISTILLER_CORE_DISTILLER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 class DistillerFactory { 49 class DistillerFactory {
50 public: 50 public:
51 virtual scoped_ptr<Distiller> CreateDistiller() = 0; 51 virtual scoped_ptr<Distiller> CreateDistiller() = 0;
52 virtual ~DistillerFactory() {} 52 virtual ~DistillerFactory() {}
53 }; 53 };
54 54
55 // Factory for creating a Distiller. 55 // Factory for creating a Distiller.
56 class DistillerFactoryImpl : public DistillerFactory { 56 class DistillerFactoryImpl : public DistillerFactory {
57 public: 57 public:
58 DistillerFactoryImpl( 58 DistillerFactoryImpl(
59 scoped_ptr<DistillerURLFetcherFactory> distiller_url_fetcher_factory); 59 scoped_ptr<DistillerURLFetcherFactory> distiller_url_fetcher_factory,
60 const dom_distiller::proto::DomDistillerOptions& dom_distiller_options);
60 virtual ~DistillerFactoryImpl(); 61 virtual ~DistillerFactoryImpl();
61 virtual scoped_ptr<Distiller> CreateDistiller() OVERRIDE; 62 virtual scoped_ptr<Distiller> CreateDistiller() OVERRIDE;
62 63
63 private: 64 private:
64 scoped_ptr<DistillerURLFetcherFactory> distiller_url_fetcher_factory_; 65 scoped_ptr<DistillerURLFetcherFactory> distiller_url_fetcher_factory_;
66 dom_distiller::proto::DomDistillerOptions dom_distiller_options_;
65 }; 67 };
66 68
67 // Distills a article from a page and associated pages. 69 // Distills a article from a page and associated pages.
68 class DistillerImpl : public Distiller { 70 class DistillerImpl : public Distiller {
69 public: 71 public:
70 DistillerImpl( 72 DistillerImpl(
71 const DistillerURLFetcherFactory& distiller_url_fetcher_factory); 73 const DistillerURLFetcherFactory& distiller_url_fetcher_factory,
74 const dom_distiller::proto::DomDistillerOptions& dom_distiller_options);
72 virtual ~DistillerImpl(); 75 virtual ~DistillerImpl();
73 76
74 virtual void DistillPage( 77 virtual void DistillPage(
75 const GURL& url, 78 const GURL& url,
76 scoped_ptr<DistillerPage> distiller_page, 79 scoped_ptr<DistillerPage> distiller_page,
77 const DistillationFinishedCallback& finished_cb, 80 const DistillationFinishedCallback& finished_cb,
78 const DistillationUpdateCallback& update_cb) OVERRIDE; 81 const DistillationUpdateCallback& update_cb) OVERRIDE;
79 82
80 void SetMaxNumPagesInArticle(size_t max_num_pages); 83 void SetMaxNumPagesInArticle(size_t max_num_pages);
81 84
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 void AddPageIfDone(int page_num); 143 void AddPageIfDone(int page_num);
141 144
142 DistilledPageData* GetPageAtIndex(size_t index) const; 145 DistilledPageData* GetPageAtIndex(size_t index) const;
143 146
144 // Create an ArticleDistillationUpdate for the current distillation 147 // Create an ArticleDistillationUpdate for the current distillation
145 // state. 148 // state.
146 const ArticleDistillationUpdate CreateDistillationUpdate() const; 149 const ArticleDistillationUpdate CreateDistillationUpdate() const;
147 150
148 const DistillerURLFetcherFactory& distiller_url_fetcher_factory_; 151 const DistillerURLFetcherFactory& distiller_url_fetcher_factory_;
149 scoped_ptr<DistillerPage> distiller_page_; 152 scoped_ptr<DistillerPage> distiller_page_;
153
154 dom_distiller::proto::DomDistillerOptions dom_distiller_options_;
150 DistillationFinishedCallback finished_cb_; 155 DistillationFinishedCallback finished_cb_;
151 DistillationUpdateCallback update_cb_; 156 DistillationUpdateCallback update_cb_;
152 157
153 // Set of pages that are under distillation or have finished distillation. 158 // Set of pages that are under distillation or have finished distillation.
154 // |started_pages_index_| and |finished_pages_index_| maintains the mapping 159 // |started_pages_index_| and |finished_pages_index_| maintains the mapping
155 // from page number to the indices in |pages_|. 160 // from page number to the indices in |pages_|.
156 ScopedVector<DistilledPageData> pages_; 161 ScopedVector<DistilledPageData> pages_;
157 162
158 // Maps page numbers of finished pages to the indices in |pages_|. 163 // Maps page numbers of finished pages to the indices in |pages_|.
159 std::map<int, size_t> finished_pages_index_; 164 std::map<int, size_t> finished_pages_index_;
(...skipping 17 matching lines...) Expand all
177 bool destruction_allowed_; 182 bool destruction_allowed_;
178 183
179 base::WeakPtrFactory<DistillerImpl> weak_factory_; 184 base::WeakPtrFactory<DistillerImpl> weak_factory_;
180 185
181 DISALLOW_COPY_AND_ASSIGN(DistillerImpl); 186 DISALLOW_COPY_AND_ASSIGN(DistillerImpl);
182 }; 187 };
183 188
184 } // namespace dom_distiller 189 } // namespace dom_distiller
185 190
186 #endif // COMPONENTS_DOM_DISTILLER_CORE_DISTILLER_H_ 191 #endif // COMPONENTS_DOM_DISTILLER_CORE_DISTILLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698