| Index: chrome/browser/chromeos/login/login_display_host_impl.h
|
| diff --git a/chrome/browser/chromeos/login/login_display_host_impl.h b/chrome/browser/chromeos/login/login_display_host_impl.h
|
| deleted file mode 100644
|
| index 236e1f812afe0d9b70f89fe388321ac8355283a0..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/login/login_display_host_impl.h
|
| +++ /dev/null
|
| @@ -1,317 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_LOGIN_DISPLAY_HOST_IMPL_H_
|
| -#define CHROME_BROWSER_CHROMEOS_LOGIN_LOGIN_DISPLAY_HOST_IMPL_H_
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "ash/shell_delegate.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "chrome/browser/chromeos/login/app_launch_controller.h"
|
| -#include "chrome/browser/chromeos/login/auth_prewarmer.h"
|
| -#include "chrome/browser/chromeos/login/existing_user_controller.h"
|
| -#include "chrome/browser/chromeos/login/login_display.h"
|
| -#include "chrome/browser/chromeos/login/login_display_host.h"
|
| -#include "chrome/browser/chromeos/login/wizard_controller.h"
|
| -#include "chrome/browser/chromeos/settings/device_settings_service.h"
|
| -#include "chromeos/audio/cras_audio_handler.h"
|
| -#include "chromeos/dbus/session_manager_client.h"
|
| -#include "content/public/browser/notification_observer.h"
|
| -#include "content/public/browser/notification_registrar.h"
|
| -#include "content/public/browser/web_contents_observer.h"
|
| -#include "ui/gfx/rect.h"
|
| -#include "ui/keyboard/keyboard_controller_observer.h"
|
| -
|
| -class PrefService;
|
| -
|
| -namespace content {
|
| -class RenderFrameHost;
|
| -class WebContents;
|
| -}
|
| -
|
| -namespace chromeos {
|
| -
|
| -class DemoAppLauncher;
|
| -class FocusRingController;
|
| -class KeyboardDrivenOobeKeyHandler;
|
| -class OobeUI;
|
| -class WebUILoginDisplay;
|
| -class WebUILoginView;
|
| -
|
| -// An implementation class for OOBE/login WebUI screen host.
|
| -// It encapsulates controllers, background integration and flow.
|
| -class LoginDisplayHostImpl : public LoginDisplayHost,
|
| - public content::NotificationObserver,
|
| - public content::WebContentsObserver,
|
| - public chromeos::SessionManagerClient::Observer,
|
| - public chromeos::CrasAudioHandler::AudioObserver,
|
| - public ash::VirtualKeyboardStateObserver,
|
| - public keyboard::KeyboardControllerObserver {
|
| - public:
|
| - explicit LoginDisplayHostImpl(const gfx::Rect& background_bounds);
|
| - virtual ~LoginDisplayHostImpl();
|
| -
|
| - // Returns the default LoginDisplayHost instance if it has been created.
|
| - static LoginDisplayHost* default_host() {
|
| - return default_host_;
|
| - }
|
| -
|
| - // Gets the Gaia auth iframe within a WebContents.
|
| - static content::RenderFrameHost* GetGaiaAuthIframe(
|
| - content::WebContents* web_contents);
|
| -
|
| - // LoginDisplayHost implementation:
|
| - virtual LoginDisplay* CreateLoginDisplay(
|
| - LoginDisplay::Delegate* delegate) OVERRIDE;
|
| - virtual gfx::NativeWindow GetNativeWindow() const OVERRIDE;
|
| - virtual WebUILoginView* GetWebUILoginView() const OVERRIDE;
|
| - virtual void BeforeSessionStart() OVERRIDE;
|
| - virtual void Finalize() OVERRIDE;
|
| - virtual void OnCompleteLogin() OVERRIDE;
|
| - virtual void OpenProxySettings() OVERRIDE;
|
| - virtual void SetStatusAreaVisible(bool visible) OVERRIDE;
|
| - virtual AutoEnrollmentController* GetAutoEnrollmentController() OVERRIDE;
|
| - virtual void StartWizard(
|
| - const std::string& first_screen_name,
|
| - scoped_ptr<base::DictionaryValue> screen_parameters) OVERRIDE;
|
| - virtual WizardController* GetWizardController() OVERRIDE;
|
| - virtual AppLaunchController* GetAppLaunchController() OVERRIDE;
|
| - virtual void StartUserAdding(
|
| - const base::Closure& completion_callback) OVERRIDE;
|
| - virtual void StartSignInScreen(const LoginScreenContext& context) OVERRIDE;
|
| - virtual void ResumeSignInScreen() OVERRIDE;
|
| - virtual void OnPreferencesChanged() OVERRIDE;
|
| - virtual void PrewarmAuthentication() OVERRIDE;
|
| - virtual void StartAppLaunch(const std::string& app_id,
|
| - bool diagnostic_mode) OVERRIDE;
|
| - virtual void StartDemoAppLaunch() OVERRIDE;
|
| -
|
| - // Creates WizardController instance.
|
| - WizardController* CreateWizardController();
|
| -
|
| - // Called when the first browser window is created, but before it's shown.
|
| - void OnBrowserCreated();
|
| -
|
| - // Returns instance of the OOBE WebUI.
|
| - OobeUI* GetOobeUI() const;
|
| -
|
| - const gfx::Rect& background_bounds() const { return background_bounds_; }
|
| -
|
| - // Trace id for ShowLoginWebUI event (since there exists at most one login
|
| - // WebUI at a time).
|
| - static const int kShowLoginWebUIid;
|
| -
|
| - views::Widget* login_window_for_test() { return login_window_; }
|
| -
|
| - protected:
|
| - // content::NotificationObserver implementation:
|
| - virtual void Observe(int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) OVERRIDE;
|
| -
|
| - // Overridden from content::WebContentsObserver:
|
| - virtual void RenderProcessGone(base::TerminationStatus status) OVERRIDE;
|
| -
|
| - // Overridden from chromeos::SessionManagerClient::Observer:
|
| - virtual void EmitLoginPromptVisibleCalled() OVERRIDE;
|
| -
|
| - // Overridden from chromeos::CrasAudioHandler::AudioObserver:
|
| - virtual void OnActiveOutputNodeChanged() OVERRIDE;
|
| -
|
| - // Overridden from ash::KeyboardStateObserver:
|
| - virtual void OnVirtualKeyboardStateChanged(bool activated) OVERRIDE;
|
| -
|
| - // Overridden from keyboard::KeyboardControllerObserver:
|
| - virtual void OnKeyboardBoundsChanging(const gfx::Rect& new_bounds) OVERRIDE;
|
| -
|
| - private:
|
| - // Way to restore if renderer have crashed.
|
| - enum RestorePath {
|
| - RESTORE_UNKNOWN,
|
| - RESTORE_WIZARD,
|
| - RESTORE_SIGN_IN,
|
| - RESTORE_ADD_USER_INTO_SESSION,
|
| - };
|
| -
|
| - // Type of animations to run after the login screen.
|
| - enum FinalizeAnimationType {
|
| - ANIMATION_NONE, // No animation.
|
| - ANIMATION_WORKSPACE, // Use initial workspace animation (drop and
|
| - // and fade in workspace). Used for user login.
|
| - ANIMATION_FADE_OUT, // Fade out login screen. Used for app launch.
|
| - };
|
| -
|
| - // Marks display host for deletion.
|
| - // If |post_quit_task| is true also posts Quit task to the MessageLoop.
|
| - void ShutdownDisplayHost(bool post_quit_task);
|
| -
|
| - // Schedules workspace transition animation.
|
| - void ScheduleWorkspaceAnimation();
|
| -
|
| - // Schedules fade out animation.
|
| - void ScheduleFadeOutAnimation();
|
| -
|
| - // Progress callback registered with |auto_enrollment_controller_|.
|
| - void OnAutoEnrollmentProgress(policy::AutoEnrollmentState state);
|
| -
|
| - // Loads given URL. Creates WebUILoginView if needed.
|
| - void LoadURL(const GURL& url);
|
| -
|
| - // Shows OOBE/sign in WebUI that was previously initialized in hidden state.
|
| - void ShowWebUI();
|
| -
|
| - // Starts postponed WebUI (OOBE/sign in) if it was waiting for
|
| - // wallpaper animation end.
|
| - void StartPostponedWebUI();
|
| -
|
| - // Initializes |login_window_| and |login_view_| fields if needed.
|
| - void InitLoginWindowAndView();
|
| -
|
| - // Closes |login_window_| and resets |login_window_| and |login_view_| fields.
|
| - void ResetLoginWindowAndView();
|
| -
|
| - // Deletes |auth_prewarmer_|.
|
| - void OnAuthPrewarmDone();
|
| -
|
| - // Toggles OOBE progress bar visibility, the bar is hidden by default.
|
| - void SetOobeProgressBarVisible(bool visible);
|
| -
|
| - // Tries to play startup sound. If sound can't be played right now,
|
| - // for instance, because cras server is not initialized, playback
|
| - // will be delayed.
|
| - void TryToPlayStartupSound();
|
| -
|
| - // Called when login-prompt-visible signal is caught.
|
| - void OnLoginPromptVisible();
|
| -
|
| - // Used to calculate position of the screens and background.
|
| - gfx::Rect background_bounds_;
|
| -
|
| - content::NotificationRegistrar registrar_;
|
| -
|
| - base::WeakPtrFactory<LoginDisplayHostImpl> pointer_factory_;
|
| -
|
| - // Default LoginDisplayHost.
|
| - static LoginDisplayHost* default_host_;
|
| -
|
| - // Sign in screen controller.
|
| - scoped_ptr<ExistingUserController> sign_in_controller_;
|
| -
|
| - // OOBE and some screens (camera, recovery) controller.
|
| - scoped_ptr<WizardController> wizard_controller_;
|
| -
|
| - // App launch controller.
|
| - scoped_ptr<AppLaunchController> app_launch_controller_;
|
| -
|
| - // Demo app launcher.
|
| - scoped_ptr<DemoAppLauncher> demo_app_launcher_;
|
| -
|
| - // The controller driving the auto-enrollment check.
|
| - scoped_ptr<AutoEnrollmentController> auto_enrollment_controller_;
|
| -
|
| - // Subscription for progress callbacks from |auto_enrollement_controller_|.
|
| - scoped_ptr<AutoEnrollmentController::ProgressCallbackList::Subscription>
|
| - auto_enrollment_progress_subscription_;
|
| -
|
| - // Has ShutdownDisplayHost() already been called? Used to avoid posting our
|
| - // own deletion to the message loop twice if the user logs out while we're
|
| - // still in the process of cleaning up after login (http://crbug.com/134463).
|
| - bool shutting_down_;
|
| -
|
| - // Whether progress bar is shown on the OOBE page.
|
| - bool oobe_progress_bar_visible_;
|
| -
|
| - // True if session start is in progress.
|
| - bool session_starting_;
|
| -
|
| - // Container of the screen we are displaying.
|
| - views::Widget* login_window_;
|
| -
|
| - // Container of the view we are displaying.
|
| - WebUILoginView* login_view_;
|
| -
|
| - // Login display we are using.
|
| - WebUILoginDisplay* webui_login_display_;
|
| -
|
| - // True if the login display is the current screen.
|
| - bool is_showing_login_;
|
| -
|
| - // True if NOTIFICATION_WALLPAPER_ANIMATION_FINISHED notification has been
|
| - // received.
|
| - bool is_wallpaper_loaded_;
|
| -
|
| - // Stores status area current visibility to be applied once login WebUI
|
| - // is shown.
|
| - bool status_area_saved_visibility_;
|
| -
|
| - // If true, WebUI is initialized in a hidden state and shown after the
|
| - // wallpaper animation is finished (when it is enabled) or the user pods have
|
| - // been loaded (otherwise).
|
| - // By default is true. Could be used to tune performance if needed.
|
| - bool initialize_webui_hidden_;
|
| -
|
| - // True if WebUI is initialized in hidden state and we're waiting for
|
| - // wallpaper load animation to finish.
|
| - bool waiting_for_wallpaper_load_;
|
| -
|
| - // True if WebUI is initialized in hidden state and we're waiting for user
|
| - // pods to load.
|
| - bool waiting_for_user_pods_;
|
| -
|
| - // How many times renderer has crashed.
|
| - int crash_count_;
|
| -
|
| - // Way to restore if renderer have crashed.
|
| - RestorePath restore_path_;
|
| -
|
| - // Stored parameters for StartWizard, required to restore in case of crash.
|
| - std::string wizard_first_screen_name_;
|
| - scoped_ptr<base::DictionaryValue> wizard_screen_parameters_;
|
| -
|
| - // Called before host deletion.
|
| - base::Closure completion_callback_;
|
| -
|
| - // Active instance of authentication prewarmer.
|
| - scoped_ptr<AuthPrewarmer> auth_prewarmer_;
|
| -
|
| - // A focus ring controller to draw focus ring around view for keyboard
|
| - // driven oobe.
|
| - scoped_ptr<FocusRingController> focus_ring_controller_;
|
| -
|
| - // Handles special keys for keyboard driven oobe.
|
| - scoped_ptr<KeyboardDrivenOobeKeyHandler> keyboard_driven_oobe_key_handler_;
|
| -
|
| - FinalizeAnimationType finalize_animation_type_;
|
| -
|
| - base::WeakPtrFactory<LoginDisplayHostImpl> animation_weak_ptr_factory_;
|
| -
|
| - // Time when login prompt visible signal is received. Used for
|
| - // calculations of delay before startup sound.
|
| - base::TimeTicks login_prompt_visible_time_;
|
| -
|
| - // True when request to play startup sound was sent to
|
| - // SoundsManager.
|
| - bool startup_sound_played_;
|
| -
|
| - // When true, startup sound should be played only when spoken
|
| - // feedback is enabled. Otherwise, startup sound should be played
|
| - // in any case.
|
| - bool startup_sound_honors_spoken_feedback_;
|
| -
|
| - // True is subscribed as keyboard controller observer.
|
| - bool is_observing_keyboard_;
|
| -
|
| - // The bounds of the virtual keyboard.
|
| - gfx::Rect keyboard_bounds_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(LoginDisplayHostImpl);
|
| -};
|
| -
|
| -} // namespace chromeos
|
| -
|
| -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_LOGIN_DISPLAY_HOST_IMPL_H_
|
|
|