1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file. 4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/chromeos/login/views_login_display_host.h" 6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/chromeos/login/views_login_display.h" 8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/chromeos/login/wizard_accessibility_helper.h" 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsennamespace chromeos { 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// ViewsLoginDisplayHost ------------------------------------------------------- 13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenViewsLoginDisplayHost::ViewsLoginDisplayHost(const gfx::Rect& background_bounds) 15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen : BaseLoginDisplayHost(background_bounds), 16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_view_(NULL), 17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_window_(NULL) { 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenViewsLoginDisplayHost::~ViewsLoginDisplayHost() { 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_window_) 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_window_->Close(); 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// LoginDisplayHost implementation ----------------------------------------- 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenLoginDisplay* ViewsLoginDisplayHost::CreateLoginDisplay( 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen LoginDisplay::Delegate* delegate) const { 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chromeos::WizardAccessibilityHelper::GetInstance()->Init(); 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return new ViewsLoginDisplay(delegate, background_bounds()); 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsengfx::NativeWindow ViewsLoginDisplayHost::GetNativeWindow() const { 34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_view_) 35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return background_view_->GetNativeWindow(); 36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen else 37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return NULL; 38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 40ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid ViewsLoginDisplayHost::SetOobeProgress(BackgroundView::LoginStep step) { 41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_view_) 42ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_view_->SetOobeProgress(step); 43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 45ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid ViewsLoginDisplayHost::SetOobeProgressBarVisible(bool visible) { 46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_view_) 47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_view_->SetOobeProgressBarVisible(visible); 48ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 49ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid ViewsLoginDisplayHost::SetShutdownButtonEnabled(bool enable) { 51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_view_) 52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_view_->EnableShutdownButton(enable); 53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid ViewsLoginDisplayHost::SetStatusAreaEnabled(bool enable) { 56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_view_) 57ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_view_->SetStatusAreaEnabled(enable); 58ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 59ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 60ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid ViewsLoginDisplayHost::SetStatusAreaVisible(bool visible) { 61ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_view_) 62ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_view_->SetStatusAreaVisible(visible); 63ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 64ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 65ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid ViewsLoginDisplayHost::ShowBackground() { 66ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (background_window_) { 67ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_window_->Show(); 68ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return; 69ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 70ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_window_ = 71ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BackgroundView::CreateWindowContainingView(background_bounds(), 72ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen GURL(), 73ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen &background_view_); 74ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen background_window_->Show(); 75ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 76ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 77ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} // namespace chromeos 78ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 79