15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/help_app_launcher.h" 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/chromeos/login/helper.h" 12a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/browser/chromeos/login/screens/core_oobe_actor.h" 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/chromeos/login/ui/login_web_dialog.h" 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/chromeos/login/ui/webui_login_display.h" 1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/url_constants.h" 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/grit/chromium_strings.h" 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/grit/generated_resources.h" 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/grit/locale_settings.h" 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/public/browser/web_contents.h" 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/base/l10n/l10n_util.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/views/widget/widget.h" 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "url/gurl.h" 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)namespace { 27a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 28a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)const char kJsScreenPath[] = "login.EulaScreen"; 29a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Helper class to tweak display details of credits pages in the context 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// of OOBE/EULA step. 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class CreditsWebDialog : public chromeos::LoginWebDialog { 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) CreditsWebDialog(Profile* profile, 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) gfx::NativeWindow parent_window, 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) int title_id, 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const GURL& url) 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) : chromeos::LoginWebDialog(profile, NULL, parent_window, 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) l10n_util::GetStringUTF16(title_id), 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) url, 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) chromeos::LoginWebDialog::STYLE_BUBBLE) { 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void OnLoadingStateChanged(content::WebContents* source) OVERRIDE { 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) chromeos::LoginWebDialog::OnLoadingStateChanged(source); 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Remove visual elements that we can handle in EULA page. 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) bool is_loading = source->IsLoading(); 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) if (!is_loading && source->GetWebUI()) { 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) source->GetWebUI()->CallJavascriptFunction( 50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) "(function () {" 51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) " document.body.classList.toggle('dialog', true);" 52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) " keyboard.initializeKeyboardFlow();" 53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) "})"); 54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 55cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 56cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private: 58cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(CreditsWebDialog); 59cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 60cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 61cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ShowCreditsDialog(Profile* profile, 62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) gfx::NativeWindow parent_window, 63cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) int title_id, 64cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const GURL& credits_url) { 65cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) CreditsWebDialog* dialog = new CreditsWebDialog(profile, 66cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) parent_window, 67cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) title_id, 68cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) credits_url); 69cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) gfx::Rect screen_bounds(chromeos::CalculateScreenBounds(gfx::Size())); 70cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) dialog->SetDialogSize(l10n_util::GetLocalizedContentsWidthInPixels( 71cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) IDS_CREDITS_APP_DIALOG_WIDTH_PIXELS), 72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) l10n_util::GetLocalizedContentsWidthInPixels( 73cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) IDS_CREDITS_APP_DIALOG_HEIGHT_PIXELS)); 74cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) dialog->Show(); 75cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // The dialog object will be deleted on dialog close. 76cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 77cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 78a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)} // namespace 79a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chromeos { 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 82a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)EulaScreenHandler::EulaScreenHandler(CoreOobeActor* core_oobe_actor) 83a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) : BaseScreenHandler(kJsScreenPath), 84a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) delegate_(NULL), 85a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) core_oobe_actor_(core_oobe_actor), 86a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) show_on_init_(false) { 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EulaScreenHandler::~EulaScreenHandler() { 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (delegate_) 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) delegate_->OnActorDestroyed(this); 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EulaScreenHandler::PrepareToShow() { 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EulaScreenHandler::Show() { 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!page_is_ready()) { 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) show_on_init_ = true; 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return; 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ShowScreen(OobeUI::kScreenOobeEula, NULL); 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EulaScreenHandler::Hide() { 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EulaScreenHandler::SetDelegate(Delegate* delegate) { 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) delegate_ = delegate; 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (page_is_ready()) 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Initialize(); 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 114c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void EulaScreenHandler::DeclareLocalizedValues( 115c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) LocalizedValuesBuilder* builder) { 116c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("eulaScreenTitle", IDS_EULA_SCREEN_TITLE); 117116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch builder->Add("eulaScreenAccessibleTitle", IDS_EULA_SCREEN_ACCESSIBLE_TITLE); 118c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("checkboxLogging", IDS_EULA_CHECKBOX_ENABLE_LOGGING); 119c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("back", IDS_EULA_BACK_BUTTON); 120c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("acceptAgreement", IDS_EULA_ACCEPT_AND_CONTINUE_BUTTON); 121c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("eulaSystemInstallationSettings", 122c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_EULA_SYSTEM_SECURITY_SETTING); 123c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("eulaTpmDesc", IDS_EULA_TPM_DESCRIPTION); 124c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("eulaTpmKeyDesc", IDS_EULA_TPM_KEY_DESCRIPTION); 125c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("eulaTpmDescPowerwash", IDS_EULA_TPM_KEY_DESCRIPTION_POWERWASH); 126c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("eulaTpmBusy", IDS_EULA_TPM_BUSY); 127c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("eulaSystemInstallationSettingsOkButton", IDS_OK); 128c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->Add("termsOfServiceLoading", IDS_TERMS_OF_SERVICE_SCREEN_LOADING); 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(ENABLE_RLZ) 130c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->AddF("eulaRlzDesc", 131c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_EULA_RLZ_DESCRIPTION, 132c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_SHORT_PRODUCT_NAME, 133c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_PRODUCT_NAME); 134c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) builder->AddF("eulaRlzEnable", 135c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_EULA_RLZ_ENABLE, 136c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_SHORT_PRODUCT_OS_NAME); 137c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 138cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 139cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) builder->Add("chromeCreditsLink", IDS_ABOUT_VERSION_LICENSE_EULA); 140cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) builder->Add("chromeosCreditsLink", IDS_ABOUT_CROS_VERSION_LICENSE_EULA); 141c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 142c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 143c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void EulaScreenHandler::GetAdditionalParameters(base::DictionaryValue* dict) { 144c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(ENABLE_RLZ) 145c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) dict->SetString("rlzEnabled", "enabled"); 1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else 147c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) dict->SetString("rlzEnabled", "disabled"); 1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EulaScreenHandler::Initialize() { 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!page_is_ready() || !delegate_) 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return; 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) core_oobe_actor_->SetUsageStats(delegate_->IsUsageStatsEnabled()); 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // This OEM EULA is a file:// URL which we're unable to load in iframe. 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Instead if it's defined we use chrome://terms/oem that will load same file. 159a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) if (!delegate_->GetOemEulaUrl().is_empty()) 160a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) core_oobe_actor_->SetOemEulaUrl(chrome::kChromeUITermsOemURL); 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (show_on_init_) { 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Show(); 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) show_on_init_ = false; 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EulaScreenHandler::RegisterMessages() { 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) AddCallback("eulaOnExit", &EulaScreenHandler::HandleOnExit); 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) AddCallback("eulaOnLearnMore", &EulaScreenHandler::HandleOnLearnMore); 171cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) AddCallback("eulaOnChromeOSCredits", 172cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) &EulaScreenHandler::HandleOnChromeOSCredits); 173cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) AddCallback("eulaOnChromeCredits", 174cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) &EulaScreenHandler::HandleOnChromeCredits); 175cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) AddCallback("eulaOnLearnMore", &EulaScreenHandler::HandleOnLearnMore); 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) AddCallback("eulaOnInstallationSettingsPopupOpened", 177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) &EulaScreenHandler::HandleOnInstallationSettingsPopupOpened); 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void EulaScreenHandler::OnPasswordFetched(const std::string& tpm_password) { 181a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) core_oobe_actor_->SetTpmPassword(tpm_password); 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void EulaScreenHandler::HandleOnExit(bool accepted, bool usage_stats_enabled) { 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (delegate_) 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) delegate_->OnExit(accepted, usage_stats_enabled); 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void EulaScreenHandler::HandleOnLearnMore() { 190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (!help_app_.get()) 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) help_app_ = new HelpAppLauncher(GetNativeWindow()); 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) help_app_->ShowHelpTopic(HelpAppLauncher::HELP_STATS_USAGE); 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void EulaScreenHandler::HandleOnChromeOSCredits() { 196cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ShowCreditsDialog( 197cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) Profile::FromBrowserContext( 198cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) web_ui()->GetWebContents()->GetBrowserContext()), 199cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GetNativeWindow(), 200cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) IDS_ABOUT_CROS_VERSION_LICENSE_EULA, 201cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GURL(chrome::kChromeUIOSCreditsURL)); 202cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 203cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 204cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void EulaScreenHandler::HandleOnChromeCredits() { 205cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ShowCreditsDialog( 206cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) Profile::FromBrowserContext( 207cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) web_ui()->GetWebContents()->GetBrowserContext()), 208cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GetNativeWindow(), 209cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) IDS_ABOUT_VERSION_LICENSE_EULA, 210cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GURL(chrome::kChromeUICreditsURL)); 211cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 212cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void EulaScreenHandler::HandleOnInstallationSettingsPopupOpened() { 214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (delegate_) 215c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) delegate_->InitiatePasswordFetch(); 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chromeos 219