Chromium Code Reviews| 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_); |
| } |