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

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

Issue 836933005: Refactor fullscreen_controller. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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/screen_locker.h" 5 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
6 6
7 #include "ash/wm/window_state.h" 7 #include "ash/wm/window_state.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "chrome/browser/chrome_notification_types.h" 11 #include "chrome/browser/chrome_notification_types.h"
12 #include "chrome/browser/chromeos/login/lock/screen_locker_tester.h" 12 #include "chrome/browser/chromeos/login/lock/screen_locker_tester.h"
13 #include "chrome/browser/profiles/profile_manager.h" 13 #include "chrome/browser/profiles/profile_manager.h"
14 #include "chrome/browser/ui/browser.h" 14 #include "chrome/browser/ui/browser.h"
15 #include "chrome/browser/ui/browser_window.h" 15 #include "chrome/browser/ui/browser_window.h"
16 #include "chrome/browser/ui/exclusive_access/exclusive_access_controller_manager .h"
16 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h" 17 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
17 #include "chrome/browser/ui/tabs/tab_strip_model.h" 18 #include "chrome/browser/ui/tabs/tab_strip_model.h"
18 #include "chrome/common/chrome_switches.h" 19 #include "chrome/common/chrome_switches.h"
19 #include "chrome/test/base/in_process_browser_test.h" 20 #include "chrome/test/base/in_process_browser_test.h"
20 #include "chromeos/chromeos_switches.h" 21 #include "chromeos/chromeos_switches.h"
21 #include "chromeos/dbus/dbus_thread_manager.h" 22 #include "chromeos/dbus/dbus_thread_manager.h"
22 #include "chromeos/dbus/fake_session_manager_client.h" 23 #include "chromeos/dbus/fake_session_manager_client.h"
23 #include "chromeos/login/auth/key.h" 24 #include "chromeos/login/auth/key.h"
24 #include "chromeos/login/auth/mock_authenticator.h" 25 #include "chromeos/login/auth/mock_authenticator.h"
25 #include "chromeos/login/auth/user_context.h" 26 #include "chromeos/login/auth/user_context.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 // 1) If the active browser window is in fullscreen and the fullscreen window 180 // 1) If the active browser window is in fullscreen and the fullscreen window
180 // does not have all the pixels (e.g. the shelf is auto hidden instead of 181 // does not have all the pixels (e.g. the shelf is auto hidden instead of
181 // hidden), locking the screen should not exit fullscreen. The shelf is 182 // hidden), locking the screen should not exit fullscreen. The shelf is
182 // auto hidden when in immersive fullscreen. 183 // auto hidden when in immersive fullscreen.
183 scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); 184 scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester());
184 BrowserWindow* browser_window = browser()->window(); 185 BrowserWindow* browser_window = browser()->window();
185 ash::wm::WindowState* window_state = ash::wm::GetWindowState( 186 ash::wm::WindowState* window_state = ash::wm::GetWindowState(
186 browser_window->GetNativeWindow()); 187 browser_window->GetNativeWindow());
187 { 188 {
188 Waiter waiter(browser()); 189 Waiter waiter(browser());
189 browser()->fullscreen_controller()->ToggleBrowserFullscreenMode(); 190 browser()
191 ->GetExclusiveAccessControllerManager()
192 ->GetFullscreenController()
193 ->ToggleBrowserFullscreenMode();
190 waiter.Wait(false /* not locked */, true /* full screen */); 194 waiter.Wait(false /* not locked */, true /* full screen */);
191 EXPECT_TRUE(browser_window->IsFullscreen()); 195 EXPECT_TRUE(browser_window->IsFullscreen());
192 EXPECT_FALSE(window_state->hide_shelf_when_fullscreen()); 196 EXPECT_FALSE(window_state->hide_shelf_when_fullscreen());
193 EXPECT_FALSE(tester->IsLocked()); 197 EXPECT_FALSE(tester->IsLocked());
194 } 198 }
195 { 199 {
196 Waiter waiter(browser()); 200 Waiter waiter(browser());
197 ScreenLocker::Show(); 201 ScreenLocker::Show();
198 tester->EmulateWindowManagerReady(); 202 tester->EmulateWindowManagerReady();
199 waiter.Wait(true /* locked */, true /* full screen */); 203 waiter.Wait(true /* locked */, true /* full screen */);
200 EXPECT_TRUE(browser_window->IsFullscreen()); 204 EXPECT_TRUE(browser_window->IsFullscreen());
201 EXPECT_FALSE(window_state->hide_shelf_when_fullscreen()); 205 EXPECT_FALSE(window_state->hide_shelf_when_fullscreen());
202 EXPECT_TRUE(tester->IsLocked()); 206 EXPECT_TRUE(tester->IsLocked());
203 } 207 }
204 UserContext user_context(chromeos::login::kStubUser); 208 UserContext user_context(chromeos::login::kStubUser);
205 user_context.SetKey(Key("pass")); 209 user_context.SetKey(Key("pass"));
206 tester->InjectMockAuthenticator(user_context); 210 tester->InjectMockAuthenticator(user_context);
207 tester->EnterPassword("pass"); 211 tester->EnterPassword("pass");
208 content::RunAllPendingInMessageLoop(); 212 content::RunAllPendingInMessageLoop();
209 EXPECT_FALSE(tester->IsLocked()); 213 EXPECT_FALSE(tester->IsLocked());
210 { 214 {
211 Waiter waiter(browser()); 215 Waiter waiter(browser());
212 browser()->fullscreen_controller()->ToggleBrowserFullscreenMode(); 216 browser()
217 ->GetExclusiveAccessControllerManager()
218 ->GetFullscreenController()
219 ->ToggleBrowserFullscreenMode();
213 waiter.Wait(false /* not locked */, false /* fullscreen */); 220 waiter.Wait(false /* not locked */, false /* fullscreen */);
214 EXPECT_FALSE(browser_window->IsFullscreen()); 221 EXPECT_FALSE(browser_window->IsFullscreen());
215 } 222 }
216 223
217 // 2) If the active browser window is in fullscreen and the fullscreen window 224 // 2) If the active browser window is in fullscreen and the fullscreen window
218 // has all of the pixels, locking the screen should exit fullscreen. The 225 // has all of the pixels, locking the screen should exit fullscreen. The
219 // fullscreen window has all of the pixels when in tab fullscreen. 226 // fullscreen window has all of the pixels when in tab fullscreen.
220 { 227 {
221 Waiter waiter(browser()); 228 Waiter waiter(browser());
222 content::WebContents* web_contents = 229 content::WebContents* web_contents =
223 browser()->tab_strip_model()->GetActiveWebContents(); 230 browser()->tab_strip_model()->GetActiveWebContents();
224 browser()->fullscreen_controller()->ToggleFullscreenModeForTab( 231 browser()
225 web_contents, true); 232 ->GetExclusiveAccessControllerManager()
233 ->GetFullscreenController()
234 ->ToggleFullscreenModeForTab(web_contents, true);
226 waiter.Wait(false /* not locked */, true /* fullscreen */); 235 waiter.Wait(false /* not locked */, true /* fullscreen */);
227 EXPECT_TRUE(browser_window->IsFullscreen()); 236 EXPECT_TRUE(browser_window->IsFullscreen());
228 EXPECT_TRUE(window_state->hide_shelf_when_fullscreen()); 237 EXPECT_TRUE(window_state->hide_shelf_when_fullscreen());
229 EXPECT_FALSE(tester->IsLocked()); 238 EXPECT_FALSE(tester->IsLocked());
230 } 239 }
231 { 240 {
232 Waiter waiter(browser()); 241 Waiter waiter(browser());
233 ScreenLocker::Show(); 242 ScreenLocker::Show();
234 tester->EmulateWindowManagerReady(); 243 tester->EmulateWindowManagerReady();
235 waiter.Wait(true /* locked */, false /* full screen */); 244 waiter.Wait(true /* locked */, false /* full screen */);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 EXPECT_EQ("", tester->GetPassword()); 304 EXPECT_EQ("", tester->GetPassword());
296 305
297 // Close the locker to match expectations. 306 // Close the locker to match expectations.
298 ScreenLocker::Hide(); 307 ScreenLocker::Hide();
299 content::RunAllPendingInMessageLoop(); 308 content::RunAllPendingInMessageLoop();
300 EXPECT_FALSE(tester->IsLocked()); 309 EXPECT_FALSE(tester->IsLocked());
301 EXPECT_TRUE(VerifyLockScreenDismissed()); 310 EXPECT_TRUE(VerifyLockScreenDismissed());
302 } 311 }
303 312
304 } // namespace chromeos 313 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/browser.h » ('j') | chrome/browser/ui/exclusive_access/exclusive_access_controller_base.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698