| 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..dad03297ed0ef7a71ac508157b8b274e74e3ad27 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,12 +105,18 @@ void EulaScreenHandler::Show() {
|
| void EulaScreenHandler::Hide() {
|
| }
|
|
|
| -void EulaScreenHandler::SetDelegate(Delegate* delegate) {
|
| - delegate_ = delegate;
|
| +void EulaScreenHandler::Bind(EulaModel& model) {
|
| + model_ = &model;
|
| + BaseScreenHandler::set_base_screen(model_);
|
| if (page_is_ready())
|
| Initialize();
|
| }
|
|
|
| +void EulaScreenHandler::Unbind() {
|
| + model_ = nullptr;
|
| + BaseScreenHandler::set_base_screen(nullptr);
|
| +}
|
| +
|
| void EulaScreenHandler::DeclareLocalizedValues(
|
| LocalizedValuesBuilder* builder) {
|
| builder->Add("eulaScreenTitle", IDS_EULA_SCREEN_TITLE);
|
| @@ -139,6 +146,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 +169,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 +185,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 +224,8 @@ void EulaScreenHandler::HandleOnChromeCredits() {
|
| }
|
|
|
| void EulaScreenHandler::HandleOnInstallationSettingsPopupOpened() {
|
| - if (delegate_)
|
| - delegate_->InitiatePasswordFetch();
|
| + if (model_)
|
| + model_->InitiatePasswordFetch();
|
| }
|
|
|
| } // namespace chromeos
|
|
|