| 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..b5743021ef5f74d3cc2ddf931a8ae681a9c4c317 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,43 @@ 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();
|
| + if (observer_)
|
| + observer_->OnModelChanged(this);
|
| +}
|
| +
|
| +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_);
|
| }
|
|
|