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 |