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

Side by Side Diff: chrome/browser/chromeos/login/lock/webui_screen_locker.cc

Issue 2118593002: mash: Migrate ShellDelegate ownership and access to WmShell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/lock/webui_screen_locker.h" 5 #include "chrome/browser/chromeos/login/lock/webui_screen_locker.h"
6 6
7 #include "ash/common/shell_delegate.h"
8 #include "ash/common/wm_shell.h"
7 #include "ash/shell.h" 9 #include "ash/shell.h"
8 #include "ash/system/chromeos/power/power_event_observer.h" 10 #include "ash/system/chromeos/power/power_event_observer.h"
9 #include "ash/wm/lock_state_controller.h" 11 #include "ash/wm/lock_state_controller.h"
10 #include "ash/wm/lock_state_observer.h" 12 #include "ash/wm/lock_state_observer.h"
11 #include "base/command_line.h" 13 #include "base/command_line.h"
12 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
13 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
14 #include "base/values.h" 16 #include "base/values.h"
15 #include "chrome/browser/browser_shutdown.h" 17 #include "chrome/browser/browser_shutdown.h"
16 #include "chrome/browser/chrome_notification_types.h" 18 #include "chrome/browser/chrome_notification_types.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 62
61 //////////////////////////////////////////////////////////////////////////////// 63 ////////////////////////////////////////////////////////////////////////////////
62 // WebUIScreenLocker implementation. 64 // WebUIScreenLocker implementation.
63 65
64 WebUIScreenLocker::WebUIScreenLocker(ScreenLocker* screen_locker) 66 WebUIScreenLocker::WebUIScreenLocker(ScreenLocker* screen_locker)
65 : ScreenLockerDelegate(screen_locker), 67 : ScreenLockerDelegate(screen_locker),
66 network_state_helper_(new login::NetworkStateHelper), 68 network_state_helper_(new login::NetworkStateHelper),
67 weak_factory_(this) { 69 weak_factory_(this) {
68 set_should_emit_login_prompt_visible(false); 70 set_should_emit_login_prompt_visible(false);
69 ash::Shell::GetInstance()->lock_state_controller()->AddObserver(this); 71 ash::Shell::GetInstance()->lock_state_controller()->AddObserver(this);
70 ash::Shell::GetInstance()->delegate()->AddVirtualKeyboardStateObserver(this); 72 ash::WmShell::Get()->delegate()->AddVirtualKeyboardStateObserver(this);
71 display::Screen::GetScreen()->AddObserver(this); 73 display::Screen::GetScreen()->AddObserver(this);
72 DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this); 74 DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this);
73 75
74 if (keyboard::KeyboardController::GetInstance()) { 76 if (keyboard::KeyboardController::GetInstance()) {
75 keyboard::KeyboardController::GetInstance()->AddObserver(this); 77 keyboard::KeyboardController::GetInstance()->AddObserver(this);
76 is_observing_keyboard_ = true; 78 is_observing_keyboard_ = true;
77 } 79 }
78 } 80 }
79 81
80 void WebUIScreenLocker::LockScreen() { 82 void WebUIScreenLocker::LockScreen() {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 void WebUIScreenLocker::ResetAndFocusUserPod() { 160 void WebUIScreenLocker::ResetAndFocusUserPod() {
159 if (!webui_ready_) 161 if (!webui_ready_)
160 return; 162 return;
161 GetWebUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.clearUserPodPassword"); 163 GetWebUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.clearUserPodPassword");
162 FocusUserPod(); 164 FocusUserPod();
163 } 165 }
164 166
165 WebUIScreenLocker::~WebUIScreenLocker() { 167 WebUIScreenLocker::~WebUIScreenLocker() {
166 DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this); 168 DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this);
167 display::Screen::GetScreen()->RemoveObserver(this); 169 display::Screen::GetScreen()->RemoveObserver(this);
168 ash::Shell::GetInstance()-> 170 ash::Shell::GetInstance()->lock_state_controller()->RemoveObserver(this);
169 lock_state_controller()->RemoveObserver(this);
170 171
171 ash::Shell::GetInstance()->delegate()-> 172 ash::WmShell::Get()->delegate()->RemoveVirtualKeyboardStateObserver(this);
172 RemoveVirtualKeyboardStateObserver(this);
173 // In case of shutdown, lock_window_ may be deleted before WebUIScreenLocker. 173 // In case of shutdown, lock_window_ may be deleted before WebUIScreenLocker.
174 if (lock_window_) { 174 if (lock_window_) {
175 lock_window_->RemoveObserver(this); 175 lock_window_->RemoveObserver(this);
176 lock_window_->Close(); 176 lock_window_->Close();
177 } 177 }
178 // If LockScreen() was called, we need to clear the signin screen handler 178 // If LockScreen() was called, we need to clear the signin screen handler
179 // delegate set in ShowSigninScreen so that it no longer points to us. 179 // delegate set in ShowSigninScreen so that it no longer points to us.
180 if (login_display_.get()) { 180 if (login_display_.get()) {
181 static_cast<OobeUI*>(GetWebUI()->GetController())-> 181 static_cast<OobeUI*>(GetWebUI()->GetController())->
182 ResetSigninScreenHandlerDelegate(); 182 ResetSigninScreenHandlerDelegate();
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 } 403 }
404 404
405 if (GetOobeUI()) { 405 if (GetOobeUI()) {
406 const gfx::Size& size = primary_display.size(); 406 const gfx::Size& size = primary_display.size();
407 GetOobeUI()->GetCoreOobeActor()->SetClientAreaSize(size.width(), 407 GetOobeUI()->GetCoreOobeActor()->SetClientAreaSize(size.width(),
408 size.height()); 408 size.height());
409 } 409 }
410 } 410 }
411 411
412 } // namespace chromeos 412 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698