| 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 bool moved = ash::Shell::GetInstance()-> | 326 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; | |
| 334 | 328 |
| 335 screen_locker_ = NULL; | 329 screen_locker_ = NULL; |
| 336 bool state = false; | 330 bool state = false; |
| 337 content::NotificationService::current()->Notify( | 331 content::NotificationService::current()->Notify( |
| 338 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, | 332 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, |
| 339 content::Source<ScreenLocker>(this), | 333 content::Source<ScreenLocker>(this), |
| 340 content::Details<bool>(&state)); | 334 content::Details<bool>(&state)); |
| 341 DBusThreadManager::Get()->GetSessionManagerClient()-> | 335 DBusThreadManager::Get()->GetSessionManagerClient()-> |
| 342 NotifyLockScreenDismissed(); | 336 NotifyLockScreenDismissed(); |
| 343 } | 337 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 358 | 352 |
| 359 bool state = true; | 353 bool state = true; |
| 360 content::NotificationService::current()->Notify( | 354 content::NotificationService::current()->Notify( |
| 361 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, | 355 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, |
| 362 content::Source<ScreenLocker>(this), | 356 content::Source<ScreenLocker>(this), |
| 363 content::Details<bool>(&state)); | 357 content::Details<bool>(&state)); |
| 364 DBusThreadManager::Get()->GetSessionManagerClient()->NotifyLockScreenShown(); | 358 DBusThreadManager::Get()->GetSessionManagerClient()->NotifyLockScreenShown(); |
| 365 } | 359 } |
| 366 | 360 |
| 367 } // namespace chromeos | 361 } // namespace chromeos |
| OLD | NEW |