Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: chrome/browser/chromeos/login/screen_locker.cc

Issue 10982035: Reland - cros: Add CHECK for screen unlock problem (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: check only ~ScreenLocker Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « ash/desktop_background/desktop_background_widget_controller.cc ('k') | chrome/browser/chromeos/login/wallpaper_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698