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

Side by Side Diff: chrome/browser/ui/intents/web_intent_picker_model.h

Issue 10980002: Mac Web Intents Part 1: Show extension download progress (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove downloads code Created 8 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 | Annotate | Revision Log
OLDNEW
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"
11 #include "base/string16.h" 11 #include "base/string16.h"
12 #include "googleurl/src/gurl.h" 12 #include "googleurl/src/gurl.h"
13 #include "ui/gfx/image/image.h" 13 #include "ui/gfx/image/image.h"
14 #include "webkit/glue/web_intent_service_data.h" 14 #include "webkit/glue/web_intent_service_data.h"
15 15
16 namespace content {
17 class DownloadItem;
18 }
19
16 class WebIntentPickerModelObserver; 20 class WebIntentPickerModelObserver;
17 21
18 // Model for the WebIntentPicker. 22 // Model for the WebIntentPicker.
19 class WebIntentPickerModel { 23 class WebIntentPickerModel {
20 public: 24 public:
21 // An intent service to display in the picker. 25 // An intent service to display in the picker.
22 struct InstalledService { 26 struct InstalledService {
23 InstalledService( 27 InstalledService(
24 const string16& title, 28 const string16& title,
25 const GURL& url, 29 const GURL& url,
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 // Returns true if there is still a pending request for suggestions from CWS. 140 // Returns true if there is still a pending request for suggestions from CWS.
137 bool IsWaitingForSuggestions() const; 141 bool IsWaitingForSuggestions() const;
138 142
139 // Set the "waiting for suggestions" status to |waiting| 143 // Set the "waiting for suggestions" status to |waiting|
140 void SetWaitingForSuggestions(bool waiting); 144 void SetWaitingForSuggestions(bool waiting);
141 145
142 // Returns the url of the intent service that is being displayed inline, or 146 // Returns the url of the intent service that is being displayed inline, or
143 // GURL::EmptyGURL() if none. 147 // GURL::EmptyGURL() if none.
144 const GURL& inline_disposition_url() const { return inline_disposition_url_; } 148 const GURL& inline_disposition_url() const { return inline_disposition_url_; }
145 149
150 // Sets the ID of the extension currently being installed.
151 void SetPendingExtensionInstallId(const std::string& id);
152
153 // Gets the ID of the extension currently being installed.
154 const std::string& pending_extension_install_id() const {
155 return pending_extension_install_id_;
156 }
157
158 // Updates the pending install download state.
159 void UpdateExtensionDownloadState(content::DownloadItem* item);
160
161 // Sets the download progress of the extension currently being downloaded.
162 void SetPendingExtensionInstallDownloadProgress(int progress);
163
164 // Gets the download progress of the extension currently being downloaded.
165 // Returns -1 if progress is indeterminate, otherwise a value from 0 to 100.
166 int pending_extension_install_download_progress() const {
167 return pending_extension_install_download_progress_;
168 }
169
170 // Sets the status of extension install process.
171 void SetPendingExtensionInstallStatusString(const string16& status);
172
173 // Gets the status of extension install process.
174 const string16& pending_extension_install_status_string() const {
175 return pending_extension_install_status_string_;
176 }
177
178 // Removes any pending extension install state.
179 void ClearPendingExtensionInstall();
180
146 private: 181 private:
147 // Delete all elements in |installed_services_| and |suggested_extensions_|. 182 // Delete all elements in |installed_services_| and |suggested_extensions_|.
148 // Note that this method does not reset the observer. 183 // Note that this method does not reset the observer.
149 void DestroyAll(); 184 void DestroyAll();
150 185
151 // A vector of all installed services in the picker. Each installed service 186 // A vector of all installed services in the picker. Each installed service
152 // is owned by this model. 187 // is owned by this model.
153 std::vector<InstalledService*> installed_services_; 188 std::vector<InstalledService*> installed_services_;
154 189
155 // A vector of all suggested extensions in the picker. 190 // A vector of all suggested extensions in the picker.
(...skipping 15 matching lines...) Expand all
171 // The non-empty url of the default service if the WebIntentsRegistry 206 // The non-empty url of the default service if the WebIntentsRegistry
172 // finds a default service matching the intent being dispatched. 207 // finds a default service matching the intent being dispatched.
173 GURL default_service_url_; 208 GURL default_service_url_;
174 209
175 // Indicates that there are still open requests to CWS. 210 // Indicates that there are still open requests to CWS.
176 bool waiting_for_suggestions_; 211 bool waiting_for_suggestions_;
177 212
178 // The hash context for the default service, if there is one. 213 // The hash context for the default service, if there is one.
179 int64 default_service_hash_; 214 int64 default_service_hash_;
180 215
216 // Information about the pending extension install.
217 std::string pending_extension_install_id_;
218 int pending_extension_install_download_progress_;
219 string16 pending_extension_install_status_string_;
220
181 DISALLOW_COPY_AND_ASSIGN(WebIntentPickerModel); 221 DISALLOW_COPY_AND_ASSIGN(WebIntentPickerModel);
182 }; 222 };
183 223
184 #endif // CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_ 224 #endif // CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_MODEL_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/intents/web_intent_picker_controller.cc ('k') | chrome/browser/ui/intents/web_intent_picker_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698