• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_VIEWS_LOGIN_DISPLAY_HOST_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_VIEWS_LOGIN_DISPLAY_HOST_H_
7 #pragma once
8 
9 #include <string>
10 
11 #include "chrome/browser/chromeos/login/background_view.h"
12 #include "chrome/browser/chromeos/login/base_login_display_host.h"
13 #include "ui/gfx/rect.h"
14 
15 namespace chromeos {
16 
17 // Views-specific implementation of the OOBE/login screen host.
18 // Uses ViewsLoginDisplay as the login screen UI implementation,
19 // BackgroundView as the background UI implementation.
20 // In its current implementation BackgroundView encapsulates StatusAreaView.
21 class ViewsLoginDisplayHost : public chromeos::BaseLoginDisplayHost {
22  public:
23   explicit ViewsLoginDisplayHost(const gfx::Rect& background_bounds);
24   virtual ~ViewsLoginDisplayHost();
25 
26   // LoginDisplayHost implementation:
27   virtual LoginDisplay* CreateLoginDisplay(LoginDisplay::Delegate* delegate)
28       const;
29   virtual gfx::NativeWindow GetNativeWindow() const;
30   virtual void SetOobeProgress(BackgroundView::LoginStep step);
31   virtual void SetOobeProgressBarVisible(bool visible);
32   virtual void SetShutdownButtonEnabled(bool enable);
33   virtual void SetStatusAreaEnabled(bool enable);
34   virtual void SetStatusAreaVisible(bool visible);
35   virtual void ShowBackground();
36 
37  private:
38   // Background view/window.
39   BackgroundView* background_view_;
40   views::Widget* background_window_;
41 
42   DISALLOW_COPY_AND_ASSIGN(ViewsLoginDisplayHost);
43 };
44 
45 }  // namespace chromeos
46 
47 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_VIEWS_LOGIN_DISPLAY_HOST_H_
48