Chromium Code Reviews| Index: chrome/browser/ui/webui/chromeos/login/eula_screen_handler.cc |
| diff --git a/chrome/browser/ui/webui/chromeos/login/eula_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/eula_screen_handler.cc |
| index f03f4f25a48db229b2ee2d9dd0a28ad442bb4be9..da2f6b8c5ba65d6c09778acc3e2d2140a47721fa 100644 |
| --- a/chrome/browser/ui/webui/chromeos/login/eula_screen_handler.cc |
| +++ b/chrome/browser/ui/webui/chromeos/login/eula_screen_handler.cc |
| @@ -10,6 +10,7 @@ |
| #include "chrome/browser/chromeos/login/help_app_launcher.h" |
| #include "chrome/browser/chromeos/login/helper.h" |
| #include "chrome/browser/chromeos/login/screens/core_oobe_actor.h" |
| +#include "chrome/browser/chromeos/login/screens/eula_model.h" |
| #include "chrome/browser/chromeos/login/ui/login_web_dialog.h" |
| #include "chrome/browser/chromeos/login/ui/webui_login_display.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -80,14 +81,14 @@ namespace chromeos { |
| EulaScreenHandler::EulaScreenHandler(CoreOobeActor* core_oobe_actor) |
| : BaseScreenHandler(kJsScreenPath), |
| - delegate_(NULL), |
| + model_(NULL), |
| core_oobe_actor_(core_oobe_actor), |
| show_on_init_(false) { |
| } |
| EulaScreenHandler::~EulaScreenHandler() { |
| - if (delegate_) |
| - delegate_->OnActorDestroyed(this); |
| + if (model_) |
| + model_->OnViewDestroyed(this); |
| } |
| void EulaScreenHandler::PrepareToShow() { |
| @@ -104,8 +105,9 @@ void EulaScreenHandler::Show() { |
| void EulaScreenHandler::Hide() { |
| } |
| -void EulaScreenHandler::SetDelegate(Delegate* delegate) { |
| - delegate_ = delegate; |
| +void EulaScreenHandler::SetModel(EulaModel* model) { |
|
Denis Kuznetsov (DE-MUC)
2014/11/25 17:31:17
Could you rename this to Bind/Unbind?
ygorshenin1
2014/11/26 11:45:40
Done.
|
| + model_ = model; |
| + BaseScreenHandler::set_base_screen(model_); |
| if (page_is_ready()) |
| Initialize(); |
| } |
| @@ -139,6 +141,20 @@ void EulaScreenHandler::DeclareLocalizedValues( |
| builder->Add("chromeosCreditsLink", IDS_ABOUT_CROS_VERSION_LICENSE_EULA); |
| } |
| +void EulaScreenHandler::DeclareJSCallbacks() { |
| + AddCallback("eulaAcceptButtonClicked", |
| + &EulaScreenHandler::HandleAcceptButtonClicked); |
| + AddCallback("eulaBackButtonClicked", |
| + &EulaScreenHandler::HandleBackButtonClicked); |
| + AddCallback("eulaOnLearnMore", &EulaScreenHandler::HandleOnLearnMore); |
| + AddCallback("eulaOnChromeOSCredits", |
| + &EulaScreenHandler::HandleOnChromeOSCredits); |
| + AddCallback("eulaOnChromeCredits", &EulaScreenHandler::HandleOnChromeCredits); |
| + AddCallback("eulaOnLearnMore", &EulaScreenHandler::HandleOnLearnMore); |
| + AddCallback("eulaOnInstallationSettingsPopupOpened", |
| + &EulaScreenHandler::HandleOnInstallationSettingsPopupOpened); |
| +} |
| + |
| void EulaScreenHandler::GetAdditionalParameters(base::DictionaryValue* dict) { |
| #if defined(ENABLE_RLZ) |
| dict->SetString("rlzEnabled", "enabled"); |
| @@ -148,14 +164,14 @@ void EulaScreenHandler::GetAdditionalParameters(base::DictionaryValue* dict) { |
| } |
| void EulaScreenHandler::Initialize() { |
| - if (!page_is_ready() || !delegate_) |
| + if (!page_is_ready() || !model_) |
| return; |
| - core_oobe_actor_->SetUsageStats(delegate_->IsUsageStatsEnabled()); |
| + core_oobe_actor_->SetUsageStats(model_->IsUsageStatsEnabled()); |
| // This OEM EULA is a file:// URL which we're unable to load in iframe. |
| // Instead if it's defined we use chrome://terms/oem that will load same file. |
| - if (!delegate_->GetOemEulaUrl().is_empty()) |
| + if (!model_->GetOemEulaUrl().is_empty()) |
| core_oobe_actor_->SetOemEulaUrl(chrome::kChromeUITermsOemURL); |
| if (show_on_init_) { |
| @@ -164,25 +180,18 @@ void EulaScreenHandler::Initialize() { |
| } |
| } |
| -void EulaScreenHandler::RegisterMessages() { |
| - AddCallback("eulaOnExit", &EulaScreenHandler::HandleOnExit); |
| - AddCallback("eulaOnLearnMore", &EulaScreenHandler::HandleOnLearnMore); |
| - AddCallback("eulaOnChromeOSCredits", |
| - &EulaScreenHandler::HandleOnChromeOSCredits); |
| - AddCallback("eulaOnChromeCredits", |
| - &EulaScreenHandler::HandleOnChromeCredits); |
| - AddCallback("eulaOnLearnMore", &EulaScreenHandler::HandleOnLearnMore); |
| - AddCallback("eulaOnInstallationSettingsPopupOpened", |
| - &EulaScreenHandler::HandleOnInstallationSettingsPopupOpened); |
| -} |
| - |
| void EulaScreenHandler::OnPasswordFetched(const std::string& tpm_password) { |
| core_oobe_actor_->SetTpmPassword(tpm_password); |
| } |
| -void EulaScreenHandler::HandleOnExit(bool accepted, bool usage_stats_enabled) { |
| - if (delegate_) |
| - delegate_->OnExit(accepted, usage_stats_enabled); |
| +void EulaScreenHandler::HandleAcceptButtonClicked() { |
| + if (model_) |
| + model_->OnAcceptButtonClicked(); |
| +} |
| + |
| +void EulaScreenHandler::HandleBackButtonClicked() { |
| + if (model_) |
| + model_->OnBackButtonClicked(); |
| } |
| void EulaScreenHandler::HandleOnLearnMore() { |
| @@ -210,8 +219,8 @@ void EulaScreenHandler::HandleOnChromeCredits() { |
| } |
| void EulaScreenHandler::HandleOnInstallationSettingsPopupOpened() { |
| - if (delegate_) |
| - delegate_->InitiatePasswordFetch(); |
| + if (model_) |
| + model_->InitiatePasswordFetch(); |
| } |
| } // namespace chromeos |