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

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

Issue 2260703004: Remove ContentSuggestionsProvider::GetProvidedCategories(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Philipp's comments and rebase. Created 4 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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_CONTENT_SUGGESTIONS_PROVIDER_H_ 5 #ifndef COMPONENTS_NTP_SNIPPETS_CONTENT_SUGGESTIONS_PROVIDER_H_
6 #define COMPONENTS_NTP_SNIPPETS_CONTENT_SUGGESTIONS_PROVIDER_H_ 6 #define COMPONENTS_NTP_SNIPPETS_CONTENT_SUGGESTIONS_PROVIDER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // that to clear them from the UI immediately, the provider needs to change 42 // that to clear them from the UI immediately, the provider needs to change
43 // the status of the respective category. If the given |category| is not 43 // the status of the respective category. If the given |category| is not
44 // known yet, the calling |provider| will be registered as its provider. 44 // known yet, the calling |provider| will be registered as its provider.
45 // IDs for the ContentSuggestions should be generated with 45 // IDs for the ContentSuggestions should be generated with
46 // |MakeUniqueID(..)| below. 46 // |MakeUniqueID(..)| below.
47 virtual void OnNewSuggestions( 47 virtual void OnNewSuggestions(
48 ContentSuggestionsProvider* provider, 48 ContentSuggestionsProvider* provider,
49 Category category, 49 Category category,
50 std::vector<ContentSuggestion> suggestions) = 0; 50 std::vector<ContentSuggestion> suggestions) = 0;
51 51
52 // Called when the status of a category changed. 52 // Called when the status of a category changed, including when it is added.
53 // If |new_status| is NOT_PROVIDED, the calling provider must be the one 53 // If |new_status| is NOT_PROVIDED, the calling provider must be the one
54 // that currently provides the |category|, and the category is unregistered 54 // that currently provides the |category|, and the category is unregistered
55 // without clearing the UI. The |category| must also be removed from 55 // without clearing the UI.
56 // |GetProvidedCategories()|.
57 // If |new_status| is any other value, it must match the value that is 56 // If |new_status| is any other value, it must match the value that is
58 // currently returned from the provider's |GetCategoryStatus(category)|. In 57 // currently returned from the provider's |GetCategoryStatus(category)|. In
59 // case the given |category| is not known yet, the calling |provider| will 58 // case the given |category| is not known yet, the calling |provider| will
60 // be registered as its provider. Whenever the status changes to an 59 // be registered as its provider. Whenever the status changes to an
61 // unavailable status, all suggestions in that category must immediately be 60 // unavailable status, all suggestions in that category must immediately be
62 // removed from all caches and from the UI, but the provider remains 61 // removed from all caches and from the UI, but the provider remains
63 // registered. 62 // registered.
64 virtual void OnCategoryStatusChanged(ContentSuggestionsProvider* provider, 63 virtual void OnCategoryStatusChanged(ContentSuggestionsProvider* provider,
65 Category category, 64 Category category,
66 CategoryStatus new_status) = 0; 65 CategoryStatus new_status) = 0;
67 66
68 // Called when a suggestion has been invalidated. It will not be provided 67 // Called when a suggestion has been invalidated. It will not be provided
69 // through |OnNewSuggestions| anymore, is not supported by 68 // through |OnNewSuggestions| anymore, is not supported by
70 // |FetchSuggestionImage| or |DismissSuggestion| anymore, and should 69 // |FetchSuggestionImage| or |DismissSuggestion| anymore, and should
71 // immediately be cleared from the UI and caches. This happens, for example, 70 // immediately be cleared from the UI and caches. This happens, for example,
72 // when the content that the suggestion refers to is gone. 71 // when the content that the suggestion refers to is gone.
73 // Note that this event may be fired even if the corresponding |category| is 72 // Note that this event may be fired even if the corresponding |category| is
74 // not currently AVAILABLE, because open UIs may still be showing the 73 // not currently AVAILABLE, because open UIs may still be showing the
75 // suggestion that is to be removed. This event may also be fired for 74 // suggestion that is to be removed. This event may also be fired for
76 // |suggestion_id|s that never existed and should be ignored in that case. 75 // |suggestion_id|s that never existed and should be ignored in that case.
77 virtual void OnSuggestionInvalidated(ContentSuggestionsProvider* provider, 76 virtual void OnSuggestionInvalidated(ContentSuggestionsProvider* provider,
78 Category category, 77 Category category,
79 const std::string& suggestion_id) = 0; 78 const std::string& suggestion_id) = 0;
80 }; 79 };
81 80
82 virtual ~ContentSuggestionsProvider(); 81 virtual ~ContentSuggestionsProvider();
83 82
84 // Returns the categories provided by this provider.
85 // When the set of provided categories changes, the Observer is notified
86 // through |OnNewSuggestions| or |OnCategoryStatusChanged| for added
87 // categories, and through |OnCategoryStatusChanged| with parameter
88 // NOT_PROVIDED for removed categories.
89 virtual std::vector<Category> GetProvidedCategories() = 0;
90
91 // Determines the status of the given |category|, see CategoryStatus. 83 // Determines the status of the given |category|, see CategoryStatus.
92 virtual CategoryStatus GetCategoryStatus(Category category) = 0; 84 virtual CategoryStatus GetCategoryStatus(Category category) = 0;
93 85
94 // Returns the meta information for the given |category|. 86 // Returns the meta information for the given |category|.
95 virtual CategoryInfo GetCategoryInfo(Category category) = 0; 87 virtual CategoryInfo GetCategoryInfo(Category category) = 0;
96 88
97 // Dismisses the suggestion with the given ID. A provider needs to ensure that 89 // Dismisses the suggestion with the given ID. A provider needs to ensure that
98 // a once-dismissed suggestion is never delivered again (through the 90 // a once-dismissed suggestion is never delivered again (through the
99 // Observer). The provider must not call Observer::OnSuggestionsChanged if the 91 // Observer). The provider must not call Observer::OnSuggestionsChanged if the
100 // removal of the dismissed suggestion is the only change. 92 // removal of the dismissed suggestion is the only change.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 CategoryFactory* category_factory() const { return category_factory_; } 139 CategoryFactory* category_factory() const { return category_factory_; }
148 140
149 private: 141 private:
150 Observer* observer_; 142 Observer* observer_;
151 CategoryFactory* category_factory_; 143 CategoryFactory* category_factory_;
152 }; 144 };
153 145
154 } // namespace ntp_snippets 146 } // namespace ntp_snippets
155 147
156 #endif // COMPONENTS_NTP_SNIPPETS_CONTENT_SUGGESTIONS_PROVIDER_H_ 148 #endif // COMPONENTS_NTP_SNIPPETS_CONTENT_SUGGESTIONS_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698