Index: chrome/browser/ui/webui/chromeos/login/update_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/update_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/update_screen_handler.cc |
index 7d0a53a9d29a25f3c6e64a83bde3c52b86e3fb39..4027fd0e12599946a5ad97e6ee1cb247fe54e08c 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/update_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/update_screen_handler.cc |
@@ -33,6 +33,12 @@ void UpdateScreenHandler::GetLocalizedStrings( |
l10n_util::GetStringUTF16(IDS_CHECKING_FOR_UPDATES)); |
localized_strings->SetString("installingUpdateDesc", |
l10n_util::GetStringUTF16(IDS_INSTALLING_UPDATE_DESC)); |
+#if !defined(OFFICIAL_BUILD) |
+ localized_strings->SetString("cancelUpdateHint", |
+ l10n_util::GetStringUTF16(IDS_UPDATE_CANCEL)); |
+ localized_strings->SetString("cancelledUpdateMessage", |
+ l10n_util::GetStringUTF16(IDS_UPDATE_CANCELLED)); |
+#endif |
} |
void UpdateScreenHandler::Initialize() { |
@@ -42,12 +48,19 @@ void UpdateScreenHandler::Initialize() { |
} |
} |
+void UpdateScreenHandler::SetDelegate(UpdateScreenActor::Delegate* screen) { |
+ screen_ = screen; |
+} |
+ |
void UpdateScreenHandler::Show() { |
if (!page_is_ready()) { |
show_on_init_ = true; |
return; |
} |
ShowScreen(kUpdateScreen, NULL); |
+#if !defined(OFFICIAL_BUILD) |
+ web_ui_->CallJavascriptFunction("oobe.UpdateScreen.enableUpdateCancel"); |
+#endif |
} |
void UpdateScreenHandler::Hide() { |
@@ -87,6 +100,18 @@ void UpdateScreenHandler::ShowPreparingUpdatesInfo(bool visible) { |
} |
void UpdateScreenHandler::RegisterMessages() { |
+#if !defined(OFFICIAL_BUILD) |
+ web_ui_->RegisterMessageCallback( |
+ "cancelUpdate", |
+ NewCallback(this, &UpdateScreenHandler::HandleUpdateCancel)); |
+#endif |
+} |
+ |
+#if !defined(OFFICIAL_BUILD) |
+void UpdateScreenHandler::HandleUpdateCancel(const base::ListValue* args) { |
+ DCHECK(args && args->empty()); |
+ screen_->CancelUpdate(); |
} |
+#endif |
} // namespace chromeos |