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

Side by Side Diff: components/ntp_snippets/ntp_snippets_service.h

Issue 2377663002: [NTP Snippets] Introduce ContentSuggestion::ID (Closed)
Patch Set: . Created 4 years, 2 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_NTP_SNIPPETS_NTP_SNIPPETS_SERVICE_H_ 5 #ifndef COMPONENTS_NTP_SNIPPETS_NTP_SNIPPETS_SERVICE_H_
6 #define COMPONENTS_NTP_SNIPPETS_NTP_SNIPPETS_SERVICE_H_ 6 #define COMPONENTS_NTP_SNIPPETS_NTP_SNIPPETS_SERVICE_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 } 109 }
110 110
111 // (Re)schedules the periodic fetching of snippets. If |force| is true, the 111 // (Re)schedules the periodic fetching of snippets. If |force| is true, the
112 // tasks will be re-scheduled even if they already exist and have the correct 112 // tasks will be re-scheduled even if they already exist and have the correct
113 // periods. 113 // periods.
114 void RescheduleFetching(bool force); 114 void RescheduleFetching(bool force);
115 115
116 // ContentSuggestionsProvider implementation 116 // ContentSuggestionsProvider implementation
117 CategoryStatus GetCategoryStatus(Category category) override; 117 CategoryStatus GetCategoryStatus(Category category) override;
118 CategoryInfo GetCategoryInfo(Category category) override; 118 CategoryInfo GetCategoryInfo(Category category) override;
119 void DismissSuggestion(const std::string& suggestion_id) override; 119 void DismissSuggestion(const ContentSuggestion::ID& suggestion_id) override;
120 void FetchSuggestionImage(const std::string& suggestion_id, 120 void FetchSuggestionImage(const ContentSuggestion::ID& suggestion_id,
121 const ImageFetchedCallback& callback) override; 121 const ImageFetchedCallback& callback) override;
122 void ClearHistory( 122 void ClearHistory(
123 base::Time begin, 123 base::Time begin,
124 base::Time end, 124 base::Time end,
125 const base::Callback<bool(const GURL& url)>& filter) override; 125 const base::Callback<bool(const GURL& url)>& filter) override;
126 void ClearCachedSuggestions(Category category) override; 126 void ClearCachedSuggestions(Category category) override;
127 void GetDismissedSuggestionsForDebugging( 127 void GetDismissedSuggestionsForDebugging(
128 Category category, 128 Category category,
129 const DismissedSuggestionsCallback& callback) override; 129 const DismissedSuggestionsCallback& callback) override;
130 void ClearDismissedSuggestionsForDebugging(Category category) override; 130 void ClearDismissedSuggestionsForDebugging(Category category) override;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 // |OnStateChanged| is called and sync is enabled. 190 // |OnStateChanged| is called and sync is enabled.
191 // - ERROR_OCCURRED: when an unrecoverable error occurred. 191 // - ERROR_OCCURRED: when an unrecoverable error occurred.
192 DISABLED, 192 DISABLED,
193 193
194 // The service or one of its dependencies encountered an unrecoverable error 194 // The service or one of its dependencies encountered an unrecoverable error
195 // and the service can't be used anymore. 195 // and the service can't be used anymore.
196 ERROR_OCCURRED 196 ERROR_OCCURRED
197 }; 197 };
198 198
199 // Returns the URL of the image of a snippet if it is among the current or 199 // Returns the URL of the image of a snippet if it is among the current or
200 // among the archived snippets in |category|. Returns an empty URL, otherwise. 200 // among the archived snippets in the matching category. Returns an empty URL
201 GURL FindSnippetImageUrl(Category category, 201 // otherwise.
202 const std::string& snippet_id) const; 202 GURL FindSnippetImageUrl(const ContentSuggestion::ID& suggestion_id) const;
203 203
204 // image_fetcher::ImageFetcherDelegate implementation. 204 // image_fetcher::ImageFetcherDelegate implementation.
205 void OnImageDataFetched(const std::string& suggestion_id, 205 void OnImageDataFetched(const std::string& within_category_id,
206 const std::string& image_data) override; 206 const std::string& image_data) override;
207 207
208 // Callbacks for the NTPSnippetsDatabase. 208 // Callbacks for the NTPSnippetsDatabase.
209 void OnDatabaseLoaded(NTPSnippet::PtrVector snippets); 209 void OnDatabaseLoaded(NTPSnippet::PtrVector snippets);
210 void OnDatabaseError(); 210 void OnDatabaseError();
211 211
212 // Callback for the SuggestionsService. 212 // Callback for the SuggestionsService.
213 void OnSuggestionsChanged(const suggestions::SuggestionsProfile& suggestions); 213 void OnSuggestionsChanged(const suggestions::SuggestionsProfile& suggestions);
214 214
215 // Callback for the NTPSnippetsFetcher. 215 // Callback for the NTPSnippetsFetcher.
(...skipping 17 matching lines...) Expand all
233 // (neither in the current set, nor in the archived set). 233 // (neither in the current set, nor in the archived set).
234 void ClearOrphanedImages(); 234 void ClearOrphanedImages();
235 235
236 // Clears all stored snippets and updates the observer. 236 // Clears all stored snippets and updates the observer.
237 void NukeAllSnippets(); 237 void NukeAllSnippets();
238 238
239 // Completes the initialization phase of the service, registering the last 239 // Completes the initialization phase of the service, registering the last
240 // observers. This is done after construction, once the database is loaded. 240 // observers. This is done after construction, once the database is loaded.
241 void FinishInitialization(); 241 void FinishInitialization();
242 242
243 void OnSnippetImageFetchedFromDatabase(const ImageFetchedCallback& callback, 243 void OnSnippetImageFetchedFromDatabase(
244 const std::string& suggestion_id, 244 const ImageFetchedCallback& callback,
245 std::string data); 245 const ContentSuggestion::ID& suggestion_id,
246 std::string data);
246 247
247 void OnSnippetImageDecodedFromDatabase(const ImageFetchedCallback& callback, 248 void OnSnippetImageDecodedFromDatabase(
248 const std::string& suggestion_id, 249 const ImageFetchedCallback& callback,
249 const gfx::Image& image); 250 const ContentSuggestion::ID& suggestion_id,
251 const gfx::Image& image);
250 252
251 void FetchSnippetImageFromNetwork(const std::string& suggestion_id, 253 void FetchSnippetImageFromNetwork(const ContentSuggestion::ID& suggestion_id,
252 const ImageFetchedCallback& callback); 254 const ImageFetchedCallback& callback);
253 255
254 void OnSnippetImageDecodedFromNetwork(const ImageFetchedCallback& callback, 256 void OnSnippetImageDecodedFromNetwork(const ImageFetchedCallback& callback,
255 const std::string& suggestion_id, 257 const std::string& within_category_id,
256 const gfx::Image& image); 258 const gfx::Image& image);
257 259
258 // Triggers a state transition depending on the provided reason to be 260 // Triggers a state transition depending on the provided reason to be
259 // disabled (or lack thereof). This method is called when a change is detected 261 // disabled (or lack thereof). This method is called when a change is detected
260 // by |snippets_status_service_|. 262 // by |snippets_status_service_|.
261 void OnDisabledReasonChanged(DisabledReason disabled_reason); 263 void OnDisabledReasonChanged(DisabledReason disabled_reason);
262 264
263 // Verifies state transitions (see |State|'s documentation) and applies them. 265 // Verifies state transitions (see |State|'s documentation) and applies them.
264 // Also updates the provider status. Does nothing except updating the provider 266 // Also updates the provider status. Does nothing except updating the provider
265 // status if called with the current state. 267 // status if called with the current state.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 313
312 // All previous suggestions that we keep around in memory because they can 314 // All previous suggestions that we keep around in memory because they can
313 // be on some open NTP. We do not persist this list so that on a new start 315 // be on some open NTP. We do not persist this list so that on a new start
314 // of Chrome, this is empty. 316 // of Chrome, this is empty.
315 NTPSnippet::PtrVector archived; 317 NTPSnippet::PtrVector archived;
316 318
317 // Suggestions that the user dismissed. We keep these around until they 319 // Suggestions that the user dismissed. We keep these around until they
318 // expire so we won't re-add them to |snippets| on the next fetch. 320 // expire so we won't re-add them to |snippets| on the next fetch.
319 NTPSnippet::PtrVector dismissed; 321 NTPSnippet::PtrVector dismissed;
320 322
323 // Returns a non-dismissed snippet with the given |within_category_id|, or
324 // null if none exist.
325 const NTPSnippet* FindSnippet(const std::string& within_category_id) const;
326
321 CategoryContent(); 327 CategoryContent();
322 CategoryContent(CategoryContent&&); 328 CategoryContent(CategoryContent&&);
323 ~CategoryContent(); 329 ~CategoryContent();
324 CategoryContent& operator=(CategoryContent&&); 330 CategoryContent& operator=(CategoryContent&&);
325 }; 331 };
326 std::map<Category, CategoryContent, Category::CompareByID> categories_; 332 std::map<Category, CategoryContent, Category::CompareByID> categories_;
327 333
328 // The ISO 639-1 code of the language used by the application. 334 // The ISO 639-1 code of the language used by the application.
329 const std::string application_language_code_; 335 const std::string application_language_code_;
330 336
(...skipping 30 matching lines...) Expand all
361 367
362 // Request throttler for limiting requests to thumbnail images. 368 // Request throttler for limiting requests to thumbnail images.
363 RequestThrottler thumbnail_requests_throttler_; 369 RequestThrottler thumbnail_requests_throttler_;
364 370
365 DISALLOW_COPY_AND_ASSIGN(NTPSnippetsService); 371 DISALLOW_COPY_AND_ASSIGN(NTPSnippetsService);
366 }; 372 };
367 373
368 } // namespace ntp_snippets 374 } // namespace ntp_snippets
369 375
370 #endif // COMPONENTS_NTP_SNIPPETS_NTP_SNIPPETS_SERVICE_H_ 376 #endif // COMPONENTS_NTP_SNIPPETS_NTP_SNIPPETS_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698