Commit 275ec5bb authored by Julian Watson's avatar Julian Watson Committed by Commit Bot

plugin_vm: remove not allowed state from launcher view

Bug: 1017511
Change-Id: Ibe74895517bc1d14792b18d2e12b62958fde541d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1905029
Commit-Queue: Julian Watson <juwa@google.com>
Auto-Submit: Julian Watson <juwa@google.com>
Reviewed-by: default avatarTimothy Loh <timloh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714809}
parent 94280b87
...@@ -184,9 +184,13 @@ int PluginVmLauncherView::GetDialogButtons() const { ...@@ -184,9 +184,13 @@ int PluginVmLauncherView::GetDialogButtons() const {
case State::FINISHED: case State::FINISHED:
return ui::DIALOG_BUTTON_OK; return ui::DIALOG_BUTTON_OK;
case State::ERROR: case State::ERROR:
return ui::DIALOG_BUTTON_CANCEL | ui::DIALOG_BUTTON_OK; DCHECK(reason_);
case State::NOT_ALLOWED: switch (*reason_) {
return ui::DIALOG_BUTTON_CANCEL; case plugin_vm::PluginVmImageManager::FailureReason::NOT_ALLOWED:
return ui::DIALOG_BUTTON_CANCEL;
default:
return ui::DIALOG_BUTTON_CANCEL | ui::DIALOG_BUTTON_OK;
}
} }
} }
...@@ -204,13 +208,17 @@ base::string16 PluginVmLauncherView::GetDialogButtonLabel( ...@@ -204,13 +208,17 @@ base::string16 PluginVmLauncherView::GetDialogButtonLabel(
return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_LAUNCH_BUTTON); return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_LAUNCH_BUTTON);
} }
case State::ERROR: { case State::ERROR: {
return l10n_util::GetStringUTF16(button == ui::DIALOG_BUTTON_OK DCHECK(reason_);
? IDS_PLUGIN_VM_LAUNCHER_RETRY_BUTTON switch (*reason_) {
: IDS_APP_CANCEL); case plugin_vm::PluginVmImageManager::FailureReason::NOT_ALLOWED:
} DCHECK_EQ(button, ui::DIALOG_BUTTON_CANCEL);
case State::NOT_ALLOWED: { return l10n_util::GetStringUTF16(IDS_APP_CANCEL);
DCHECK_EQ(button, ui::DIALOG_BUTTON_CANCEL); default:
return l10n_util::GetStringUTF16(IDS_APP_CANCEL); return l10n_util::GetStringUTF16(
button == ui::DIALOG_BUTTON_OK
? IDS_PLUGIN_VM_LAUNCHER_RETRY_BUTTON
: IDS_APP_CANCEL);
}
} }
} }
} }
...@@ -290,6 +298,7 @@ void PluginVmLauncherView::OnDownloadFailed( ...@@ -290,6 +298,7 @@ void PluginVmLauncherView::OnDownloadFailed(
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
state_ = State::ERROR; state_ = State::ERROR;
reason_ = reason;
OnStateUpdated(); OnStateUpdated();
plugin_vm::RecordPluginVmSetupResultHistogram( plugin_vm::RecordPluginVmSetupResultHistogram(
...@@ -314,6 +323,7 @@ void PluginVmLauncherView::OnImportFailed( ...@@ -314,6 +323,7 @@ void PluginVmLauncherView::OnImportFailed(
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
state_ = State::ERROR; state_ = State::ERROR;
reason_ = reason;
OnStateUpdated(); OnStateUpdated();
plugin_vm::RecordPluginVmSetupResultHistogram( plugin_vm::RecordPluginVmSetupResultHistogram(
...@@ -343,10 +353,14 @@ base::string16 PluginVmLauncherView::GetBigMessage() const { ...@@ -343,10 +353,14 @@ base::string16 PluginVmLauncherView::GetBigMessage() const {
case State::FINISHED: case State::FINISHED:
return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_FINISHED_TITLE); return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_FINISHED_TITLE);
case State::ERROR: case State::ERROR:
return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_ERROR_TITLE); DCHECK(reason_);
case State::NOT_ALLOWED: switch (*reason_) {
return l10n_util::GetStringUTF16( case plugin_vm::PluginVmImageManager::FailureReason::NOT_ALLOWED:
IDS_PLUGIN_VM_LAUNCHER_NOT_ALLOWED_TITLE); return l10n_util::GetStringUTF16(
IDS_PLUGIN_VM_LAUNCHER_NOT_ALLOWED_TITLE);
default:
return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_ERROR_TITLE);
}
} }
} }
...@@ -364,10 +378,15 @@ base::string16 PluginVmLauncherView::GetMessage() const { ...@@ -364,10 +378,15 @@ base::string16 PluginVmLauncherView::GetMessage() const {
case State::FINISHED: case State::FINISHED:
return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_FINISHED_MESSAGE); return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_FINISHED_MESSAGE);
case State::ERROR: case State::ERROR:
return l10n_util::GetStringUTF16(IDS_PLUGIN_VM_LAUNCHER_ERROR_MESSAGE); DCHECK(reason_);
case State::NOT_ALLOWED: switch (*reason_) {
return l10n_util::GetStringUTF16( case plugin_vm::PluginVmImageManager::FailureReason::NOT_ALLOWED:
IDS_PLUGIN_VM_LAUNCHER_NOT_ALLOWED_MESSAGE); return l10n_util::GetStringUTF16(
IDS_PLUGIN_VM_LAUNCHER_NOT_ALLOWED_MESSAGE);
default:
return l10n_util::GetStringUTF16(
IDS_PLUGIN_VM_LAUNCHER_ERROR_MESSAGE);
}
} }
} }
...@@ -386,7 +405,8 @@ void PluginVmLauncherView::AddedToWidget() { ...@@ -386,7 +405,8 @@ void PluginVmLauncherView::AddedToWidget() {
// dialogue is reached somehow although PluginVm has been disabled. // dialogue is reached somehow although PluginVm has been disabled.
if (!plugin_vm::IsPluginVmAllowedForProfile(profile_)) { if (!plugin_vm::IsPluginVmAllowedForProfile(profile_)) {
LOG(ERROR) << "PluginVm is disallowed by policy. Showing error screen."; LOG(ERROR) << "PluginVm is disallowed by policy. Showing error screen.";
state_ = State::NOT_ALLOWED; state_ = State::ERROR;
reason_ = plugin_vm::PluginVmImageManager::FailureReason::NOT_ALLOWED;
plugin_vm::RecordPluginVmSetupResultHistogram( plugin_vm::RecordPluginVmSetupResultHistogram(
plugin_vm::PluginVmSetupResult::kPluginVmIsNotAllowed); plugin_vm::PluginVmSetupResult::kPluginVmIsNotAllowed);
} }
...@@ -421,8 +441,7 @@ void PluginVmLauncherView::OnStateUpdated() { ...@@ -421,8 +441,7 @@ void PluginVmLauncherView::OnStateUpdated() {
DialogModelChanged(); DialogModelChanged();
GetWidget()->GetRootView()->Layout(); GetWidget()->GetRootView()->Layout();
if (state_ == State::FINISHED || state_ == State::ERROR || if (state_ == State::FINISHED || state_ == State::ERROR) {
state_ == State::NOT_ALLOWED) {
if (finished_callback_for_testing_) if (finished_callback_for_testing_)
std::move(finished_callback_for_testing_).Run(state_ == State::FINISHED); std::move(finished_callback_for_testing_).Run(state_ == State::FINISHED);
} }
...@@ -491,7 +510,7 @@ void PluginVmLauncherView::SetMessageLabel() { ...@@ -491,7 +510,7 @@ void PluginVmLauncherView::SetMessageLabel() {
} }
void PluginVmLauncherView::SetBigImage() { void PluginVmLauncherView::SetBigImage() {
if (state_ == State::ERROR || state_ == State::NOT_ALLOWED) { if (state_ == State::ERROR) {
big_image_->SetImage( big_image_->SetImage(
ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_PLUGIN_VM_LAUNCHER_ERROR)); IDR_PLUGIN_VM_LAUNCHER_ERROR));
......
...@@ -67,7 +67,6 @@ class PluginVmLauncherView : public views::BubbleDialogDelegateView, ...@@ -67,7 +67,6 @@ class PluginVmLauncherView : public views::BubbleDialogDelegateView,
IMPORTING, // Downloaded PluginVm image importing is in progress. IMPORTING, // Downloaded PluginVm image importing is in progress.
FINISHED, // PluginVm environment setting has been finished. FINISHED, // PluginVm environment setting has been finished.
ERROR, // Something unexpected happened. ERROR, // Something unexpected happened.
NOT_ALLOWED, // PluginVm is disallowed on the device.
}; };
~PluginVmLauncherView() override; ~PluginVmLauncherView() override;
...@@ -99,6 +98,7 @@ class PluginVmLauncherView : public views::BubbleDialogDelegateView, ...@@ -99,6 +98,7 @@ class PluginVmLauncherView : public views::BubbleDialogDelegateView,
base::TimeTicks setup_start_tick_; base::TimeTicks setup_start_tick_;
State state_ = State::START_DOWNLOADING; State state_ = State::START_DOWNLOADING;
base::Optional<plugin_vm::PluginVmImageManager::FailureReason> reason_;
base::OnceCallback<void(bool success)> finished_callback_for_testing_; base::OnceCallback<void(bool success)> finished_callback_for_testing_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment