| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_ | 5 #ifndef CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_ |
| 6 #define CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_ | 6 #define CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 | 101 |
| 102 // Return the intent service that uses |url| as its service url, or NULL. | 102 // Return the intent service that uses |url| as its service url, or NULL. |
| 103 const InstalledService* GetInstalledServiceWithURL(const GURL& url) const; | 103 const InstalledService* GetInstalledServiceWithURL(const GURL& url) const; |
| 104 | 104 |
| 105 // Return the number of intent services in the picker. | 105 // Return the number of intent services in the picker. |
| 106 size_t GetInstalledServiceCount() const; | 106 size_t GetInstalledServiceCount() const; |
| 107 | 107 |
| 108 // Update the favicon for the intent service at |index| to |image|. | 108 // Update the favicon for the intent service at |index| to |image|. |
| 109 void UpdateFaviconAt(size_t index, const gfx::Image& image); | 109 void UpdateFaviconAt(size_t index, const gfx::Image& image); |
| 110 | 110 |
| 111 // Add a new suggested extension with |id|, |title| and |average_rating| to | 111 // Add a list of suggested extensions to the model. |
| 112 // the picker. | 112 void AddSuggestedExtensions( |
| 113 void AddSuggestedExtension(const string16& title, | 113 const std::vector<SuggestedExtension>& suggestions); |
| 114 const string16& id, | |
| 115 double average_rating); | |
| 116 | |
| 117 // Remove a suggested extension from the picker at |index|. | |
| 118 void RemoveSuggestedExtensionAt(size_t index); | |
| 119 | 114 |
| 120 // Return the suggested extension at |index|. | 115 // Return the suggested extension at |index|. |
| 121 const SuggestedExtension& GetSuggestedExtensionAt(size_t index) const; | 116 const SuggestedExtension& GetSuggestedExtensionAt(size_t index) const; |
| 122 | 117 |
| 123 // Return the number of suggested extensions to be displayed. | 118 // Return the number of suggested extensions to be displayed. |
| 124 size_t GetSuggestedExtensionCount() const; | 119 size_t GetSuggestedExtensionCount() const; |
| 125 | 120 |
| 126 // Return the text to use in the "Get more suggestions" link. Returns UTF8. | 121 // Return the text to use in the "Get more suggestions" link. Returns UTF8. |
| 127 // Will return an empty string if the link should not be shown. | 122 // Will return an empty string if the link should not be shown. |
| 128 string16 GetSuggestionsLinkText() const; | 123 string16 GetSuggestionsLinkText() const; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 143 | 138 |
| 144 private: | 139 private: |
| 145 // Delete all elements in |installed_services_| and |suggested_extensions_|. | 140 // Delete all elements in |installed_services_| and |suggested_extensions_|. |
| 146 // Note that this method does not reset the observer. | 141 // Note that this method does not reset the observer. |
| 147 void DestroyAll(); | 142 void DestroyAll(); |
| 148 | 143 |
| 149 // A vector of all installed services in the picker. Each installed service | 144 // A vector of all installed services in the picker. Each installed service |
| 150 // is owned by this model. | 145 // is owned by this model. |
| 151 std::vector<InstalledService*> installed_services_; | 146 std::vector<InstalledService*> installed_services_; |
| 152 | 147 |
| 153 // A vector of all suggested extensions in the picker. Each element is owned | 148 // A vector of all suggested extensions in the picker. |
| 154 // by this model. | 149 std::vector<SuggestedExtension> suggested_extensions_; |
| 155 std::vector<SuggestedExtension*> suggested_extensions_; | |
| 156 | 150 |
| 157 // The observer to send notifications to, or NULL if none. Not owned. | 151 // The observer to send notifications to, or NULL if none. Not owned. |
| 158 WebIntentPickerModelObserver* observer_; | 152 WebIntentPickerModelObserver* observer_; |
| 159 | 153 |
| 160 // The url of the intent service that is being displayed inline, or | 154 // The url of the intent service that is being displayed inline, or |
| 161 // GURL::EmptyGURL() if none. | 155 // GURL::EmptyGURL() if none. |
| 162 GURL inline_disposition_url_; | 156 GURL inline_disposition_url_; |
| 163 | 157 |
| 164 // A cached copy of the action that instantiated the picker. | 158 // A cached copy of the action that instantiated the picker. |
| 165 string16 action_; | 159 string16 action_; |
| 166 | 160 |
| 167 // A cached copy of the type that instantiated the picker. | 161 // A cached copy of the type that instantiated the picker. |
| 168 string16 type_; | 162 string16 type_; |
| 169 | 163 |
| 170 // The non-empty url of the default service if the WebIntentsRegistry | 164 // The non-empty url of the default service if the WebIntentsRegistry |
| 171 // finds a default service matching the intent being dispatched. | 165 // finds a default service matching the intent being dispatched. |
| 172 GURL default_service_url_; | 166 GURL default_service_url_; |
| 173 | 167 |
| 174 DISALLOW_COPY_AND_ASSIGN(WebIntentPickerModel); | 168 DISALLOW_COPY_AND_ASSIGN(WebIntentPickerModel); |
| 175 }; | 169 }; |
| 176 | 170 |
| 177 #endif // CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_ | 171 #endif // CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_ |
| OLD | NEW |