| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/login/screen_locker.h" | 5 #include "chrome/browser/chromeos/login/screen_locker.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "ash/desktop_background/desktop_background_controller.h" | 10 #include "ash/desktop_background/desktop_background_controller.h" |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 void ScreenLocker::InitClass() { | 316 void ScreenLocker::InitClass() { |
| 317 g_screen_lock_observer.Get(); | 317 g_screen_lock_observer.Get(); |
| 318 } | 318 } |
| 319 | 319 |
| 320 //////////////////////////////////////////////////////////////////////////////// | 320 //////////////////////////////////////////////////////////////////////////////// |
| 321 // ScreenLocker, private: | 321 // ScreenLocker, private: |
| 322 | 322 |
| 323 ScreenLocker::~ScreenLocker() { | 323 ScreenLocker::~ScreenLocker() { |
| 324 DCHECK(MessageLoop::current()->type() == MessageLoop::TYPE_UI); | 324 DCHECK(MessageLoop::current()->type() == MessageLoop::TYPE_UI); |
| 325 ClearErrors(); | 325 ClearErrors(); |
| 326 ash::Shell::GetInstance()-> | 326 bool moved = ash::Shell::GetInstance()-> |
| 327 desktop_background_controller()->MoveDesktopToUnlockedContainer(); | 327 desktop_background_controller()->MoveDesktopToUnlockedContainer(); |
| 328 // If we didn't reparent the desktop background then the screen would be |
| 329 // unlocked but the user's windows are hidden, making the UI unusable. |
| 330 // Similar symptoms are happening in the field. Check if this is the cause. |
| 331 // See crbug.com/149043 |
| 332 CHECK(moved); |
| 333 LOG(WARNING) << "JAMESDEBUG screen locked moved " << moved; |
| 328 | 334 |
| 329 screen_locker_ = NULL; | 335 screen_locker_ = NULL; |
| 330 bool state = false; | 336 bool state = false; |
| 331 content::NotificationService::current()->Notify( | 337 content::NotificationService::current()->Notify( |
| 332 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, | 338 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, |
| 333 content::Source<ScreenLocker>(this), | 339 content::Source<ScreenLocker>(this), |
| 334 content::Details<bool>(&state)); | 340 content::Details<bool>(&state)); |
| 335 DBusThreadManager::Get()->GetSessionManagerClient()-> | 341 DBusThreadManager::Get()->GetSessionManagerClient()-> |
| 336 NotifyLockScreenDismissed(); | 342 NotifyLockScreenDismissed(); |
| 337 } | 343 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 352 | 358 |
| 353 bool state = true; | 359 bool state = true; |
| 354 content::NotificationService::current()->Notify( | 360 content::NotificationService::current()->Notify( |
| 355 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, | 361 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, |
| 356 content::Source<ScreenLocker>(this), | 362 content::Source<ScreenLocker>(this), |
| 357 content::Details<bool>(&state)); | 363 content::Details<bool>(&state)); |
| 358 DBusThreadManager::Get()->GetSessionManagerClient()->NotifyLockScreenShown(); | 364 DBusThreadManager::Get()->GetSessionManagerClient()->NotifyLockScreenShown(); |
| 359 } | 365 } |
| 360 | 366 |
| 361 } // namespace chromeos | 367 } // namespace chromeos |
| OLD | NEW |