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

Unified Diff: chrome/browser/ui/intents/web_intent_picker_model.cc

Issue 10980002: Mac Web Intents Part 1: Show extension download progress (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review comments 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/intents/web_intent_picker_model.cc
diff --git a/chrome/browser/ui/intents/web_intent_picker_model.cc b/chrome/browser/ui/intents/web_intent_picker_model.cc
index 131f735d8b04be7fbcaf702035b20b6e682a8ed0..d8e3b6cc64f5d3d5490a799623db5605463a1fa0 100644
--- a/chrome/browser/ui/intents/web_intent_picker_model.cc
+++ b/chrome/browser/ui/intents/web_intent_picker_model.cc
@@ -8,7 +8,9 @@
#include "base/logging.h"
#include "base/stl_util.h"
+#include "chrome/browser/download/download_item_model.h"
#include "chrome/browser/ui/intents/web_intent_picker_model_observer.h"
+#include "content/public/browser/download_item.h"
#include "grit/generated_resources.h"
#include "grit/ui_resources.h"
#include "ui/base/l10n/l10n_util.h"
@@ -24,7 +26,8 @@ const size_t kMaxSuggestionCount = 5; // Maximum number of visible suggestions.
WebIntentPickerModel::WebIntentPickerModel()
: observer_(NULL),
waiting_for_suggestions_(true),
- default_service_hash_(0) {
+ default_service_hash_(0),
+ pending_extension_install_download_progress_(0) {
}
WebIntentPickerModel::~WebIntentPickerModel() {
@@ -62,6 +65,7 @@ void WebIntentPickerModel::Clear() {
type_.clear();
inline_disposition_url_ = GURL::EmptyGURL();
waiting_for_suggestions_ = true;
+ ClearPendingExtensionInstall();
if (observer_)
observer_->OnModelChanged(this);
}
@@ -160,6 +164,41 @@ void WebIntentPickerModel::SetWaitingForSuggestions(bool waiting) {
observer_->OnModelChanged(this);
}
+void WebIntentPickerModel::SetPendingExtensionInstallId(const std::string& id) {
+ pending_extension_install_id_ = id;
+ if (observer_)
+ observer_->OnModelChanged(this);
+}
+
+void WebIntentPickerModel::UpdateExtensionDownloadState(
+ content::DownloadItem* item) {
+ pending_extension_install_download_progress_ = item->PercentComplete();
+ DownloadItemModel download_model(item);
+ pending_extension_install_status_string_ = download_model.GetStatusText();
Greg Billock 2012/10/02 19:12:20 Need to call OnModelChanged.
sail 2012/10/02 19:14:51 Done.
+}
+
+void WebIntentPickerModel::SetPendingExtensionInstallDownloadProgress(
+ int progress) {
+ pending_extension_install_download_progress_ = progress;
+ if (observer_)
+ observer_->OnModelChanged(this);
+}
+
+void WebIntentPickerModel::SetPendingExtensionInstallStatusString(
+ const string16& status) {
+ pending_extension_install_status_string_ = status;
+ if (observer_)
+ observer_->OnModelChanged(this);
+}
+
+void WebIntentPickerModel::ClearPendingExtensionInstall() {
+ pending_extension_install_id_.clear();
+ pending_extension_install_download_progress_ = 0;
+ pending_extension_install_status_string_.clear();
+ if (observer_)
+ observer_->OnModelChanged(this);
+}
+
void WebIntentPickerModel::DestroyAll() {
STLDeleteElements(&installed_services_);
}

Powered by Google App Engine
This is Rietveld 408576698