| Index: chrome/browser/chromeos/login/lock/webui_screen_locker.cc
|
| diff --git a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
|
| index da01b7d59ef02b9b3a21bbd19c7d47706938da03..6d8261046aac672b50082e34de99eb9952510e99 100644
|
| --- a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
|
| +++ b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
|
| @@ -68,6 +68,7 @@ WebUIScreenLocker::WebUIScreenLocker(ScreenLocker* screen_locker)
|
| set_should_emit_login_prompt_visible(false);
|
| ash::Shell::GetInstance()->lock_state_controller()->AddObserver(this);
|
| ash::Shell::GetInstance()->delegate()->AddVirtualKeyboardStateObserver(this);
|
| + ash::Shell::GetScreen()->AddObserver(this);
|
| DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this);
|
|
|
| if (keyboard::KeyboardController::GetInstance()) {
|
| @@ -155,6 +156,7 @@ void WebUIScreenLocker::FocusUserPod() {
|
|
|
| WebUIScreenLocker::~WebUIScreenLocker() {
|
| DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this);
|
| + ash::Shell::GetScreen()->RemoveObserver(this);
|
| ash::Shell::GetInstance()->
|
| lock_state_controller()->RemoveObserver(this);
|
|
|
| @@ -199,7 +201,7 @@ OobeUI* WebUIScreenLocker::GetOobeUI() {
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// WebUIScreenLocker, LoginDisplay::Delegate implementation:
|
| +// WebUIScreenLocker, LoginDisplay::Delegate:
|
|
|
| void WebUIScreenLocker::CancelPasswordChangedFlow() {
|
| NOTREACHED();
|
| @@ -271,7 +273,7 @@ void WebUIScreenLocker::Signout() {
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// LockWindow::Observer implementation:
|
| +// LockWindow::Observer:
|
|
|
| void WebUIScreenLocker::OnLockWindowReady() {
|
| VLOG(1) << "Lock window ready; WebUI is " << (webui_ready_ ? "too" : "not");
|
| @@ -281,7 +283,7 @@ void WebUIScreenLocker::OnLockWindowReady() {
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// SessionLockStateObserver override.
|
| +// SessionLockStateObserver:
|
|
|
| void WebUIScreenLocker::OnLockStateEvent(
|
| ash::LockStateObserver::EventType event) {
|
| @@ -294,7 +296,7 @@ void WebUIScreenLocker::OnLockStateEvent(
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// WidgetObserver override.
|
| +// WidgetObserver:
|
|
|
| void WebUIScreenLocker::OnWidgetDestroying(views::Widget* widget) {
|
| lock_window_->RemoveObserver(this);
|
| @@ -302,7 +304,7 @@ void WebUIScreenLocker::OnWidgetDestroying(views::Widget* widget) {
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// PowerManagerClient::Observer overrides.
|
| +// PowerManagerClient::Observer:
|
|
|
| void WebUIScreenLocker::LidEventReceived(bool open,
|
| const base::TimeTicks& time) {
|
| @@ -345,7 +347,7 @@ void WebUIScreenLocker::OnVirtualKeyboardStateChanged(bool activated) {
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// keyboard::KeyboardControllerObserver overrides.
|
| +// keyboard::KeyboardControllerObserver:
|
|
|
| void WebUIScreenLocker::OnKeyboardBoundsChanging(
|
| const gfx::Rect& new_bounds) {
|
| @@ -368,4 +370,29 @@ void WebUIScreenLocker::OnKeyboardBoundsChanging(
|
| keyboard_bounds_ = new_bounds;
|
| }
|
|
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// gfx::DisplayObserver:
|
| +
|
| +void WebUIScreenLocker::OnDisplayAdded(const gfx::Display& new_display) {
|
| +}
|
| +
|
| +void WebUIScreenLocker::OnDisplayRemoved(const gfx::Display& old_display) {
|
| +}
|
| +
|
| +void WebUIScreenLocker::OnDisplayMetricsChanged(const gfx::Display& display,
|
| + uint32_t changed_metrics) {
|
| + gfx::Display primary_display =
|
| + gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
|
| + if (display.id() != primary_display.id() ||
|
| + !(changed_metrics & DISPLAY_METRIC_BOUNDS)) {
|
| + return;
|
| + }
|
| +
|
| + if (GetOobeUI()) {
|
| + const gfx::Size& size = primary_display.size();
|
| + GetOobeUI()->GetCoreOobeActor()->SetClientAreaSize(size.width(),
|
| + size.height());
|
| + }
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|