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

Side by Side Diff: chrome/browser/ui/exclusive_access/fullscreen_controller_interactive_browsertest.cc

Issue 1378123003: Adding SSL ETS Tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ets
Patch Set: Rebase. Created 5 years, 1 month 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 (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 "build/build_config.h" 5 #include "build/build_config.h"
6 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 6 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
7 #include "chrome/browser/fullscreen.h" 7 #include "chrome/browser/fullscreen.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/browser.h" 9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/browser_commands.h" 10 #include "chrome/browser/ui/browser_commands.h"
11 #include "chrome/browser/ui/browser_window.h" 11 #include "chrome/browser/ui/browser_window.h"
12 #include "chrome/browser/ui/exclusive_access/fullscreen_controller_test.h" 12 #include "chrome/browser/ui/exclusive_access/fullscreen_controller_test.h"
13 #include "chrome/browser/ui/tabs/tab_strip_model.h" 13 #include "chrome/browser/ui/tabs/tab_strip_model.h"
14 #include "chrome/test/base/interactive_test_utils.h" 14 #include "chrome/test/base/interactive_test_utils.h"
15 #include "chrome/test/base/ui_test_utils.h" 15 #include "chrome/test/base/ui_test_utils.h"
16 #include "components/content_settings/core/browser/host_content_settings_map.h" 16 #include "components/content_settings/core/browser/host_content_settings_map.h"
17 #include "content/public/browser/render_view_host.h" 17 #include "content/public/browser/render_view_host.h"
18 #include "content/public/browser/render_widget_host.h" 18 #include "content/public/browser/render_widget_host.h"
19 #include "content/public/browser/render_widget_host_view.h" 19 #include "content/public/browser/render_widget_host_view.h"
20 #include "content/public/browser/web_contents.h" 20 #include "content/public/browser/web_contents.h"
21 #include "content/public/common/url_constants.h" 21 #include "content/public/common/url_constants.h"
22 22
23 using url::kAboutBlankURL; 23 using url::kAboutBlankURL;
24 using content::WebContents; 24 using content::WebContents;
25 using ui::PAGE_TRANSITION_TYPED; 25 using ui::PAGE_TRANSITION_TYPED;
26 26
27 namespace { 27 namespace {
28 28
29 const base::FilePath::CharType* kSimpleFile = FILE_PATH_LITERAL("simple.html"); 29 const base::FilePath::CharType* kSimpleFile = FILE_PATH_LITERAL("/simple.html");
30 30
31 } // namespace 31 } // namespace
32 32
33 class FullscreenControllerInteractiveTest 33 class FullscreenControllerInteractiveTest
34 : public FullscreenControllerTest { 34 : public FullscreenControllerTest {
35 protected: 35 protected:
36 36
37 // Tests that actually make the browser fullscreen have been flaky when 37 // Tests that actually make the browser fullscreen have been flaky when
38 // run sharded, and so are restricted here to interactive ui tests. 38 // run sharded, and so are restricted here to interactive ui tests.
39 void ToggleTabFullscreen(bool enter_fullscreen); 39 void ToggleTabFullscreen(bool enter_fullscreen);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 fullscreen_observer.Wait(); 94 fullscreen_observer.Wait();
95 ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen); 95 ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen);
96 ASSERT_EQ(IsFullscreenForBrowser(), enter_fullscreen); 96 ASSERT_EQ(IsFullscreenForBrowser(), enter_fullscreen);
97 } 97 }
98 98
99 // Helper method to be called by multiple tests. 99 // Helper method to be called by multiple tests.
100 // Tests Fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK. 100 // Tests Fullscreen and Mouse Lock with varying content settings ALLOW & BLOCK.
101 void 101 void
102 FullscreenControllerInteractiveTest::TestFullscreenMouseLockContentSettings() { 102 FullscreenControllerInteractiveTest::TestFullscreenMouseLockContentSettings() {
103 GURL url = test_server()->GetURL("simple.html"); 103 GURL url = embedded_test_server()->GetURL("/simple.html");
104 AddTabAtIndex(0, url, PAGE_TRANSITION_TYPED); 104 AddTabAtIndex(0, url, PAGE_TRANSITION_TYPED);
105 105
106 // Validate that going fullscreen for a URL defaults to asking permision. 106 // Validate that going fullscreen for a URL defaults to asking permision.
107 ASSERT_FALSE(IsFullscreenPermissionRequested()); 107 ASSERT_FALSE(IsFullscreenPermissionRequested());
108 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 108 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
109 ASSERT_TRUE(IsFullscreenPermissionRequested()); 109 ASSERT_TRUE(IsFullscreenPermissionRequested());
110 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false)); 110 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
111 111
112 // Add content setting to ALLOW fullscreen. 112 // Add content setting to ALLOW fullscreen.
113 HostContentSettingsMap* settings_map = 113 HostContentSettingsMap* settings_map =
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 if (!IsFullscreenForBrowser()) 178 if (!IsFullscreenForBrowser())
179 ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen); 179 ASSERT_EQ(browser()->window()->IsFullscreen(), enter_fullscreen);
180 } 180 }
181 181
182 // Tests /////////////////////////////////////////////////////////////////////// 182 // Tests ///////////////////////////////////////////////////////////////////////
183 183
184 // Tests that while in fullscreen creating a new tab will exit fullscreen. 184 // Tests that while in fullscreen creating a new tab will exit fullscreen.
185 // Test is flaky: http://crbug.com/146006 185 // Test is flaky: http://crbug.com/146006
186 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 186 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
187 DISABLED_TestNewTabExitsFullscreen) { 187 DISABLED_TestNewTabExitsFullscreen) {
188 ASSERT_TRUE(test_server()->Start()); 188 ASSERT_TRUE(embedded_test_server()->Start());
189 189
190 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 190 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
191 191
192 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 192 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
193 193
194 { 194 {
195 FullscreenNotificationObserver fullscreen_observer; 195 FullscreenNotificationObserver fullscreen_observer;
196 AddTabAtIndex(1, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 196 AddTabAtIndex(1, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
197 fullscreen_observer.Wait(); 197 fullscreen_observer.Wait();
198 ASSERT_FALSE(browser()->window()->IsFullscreen()); 198 ASSERT_FALSE(browser()->window()->IsFullscreen());
199 } 199 }
200 } 200 }
201 201
202 // Tests a tab exiting fullscreen will bring the browser out of fullscreen. 202 // Tests a tab exiting fullscreen will bring the browser out of fullscreen.
203 // Test is flaky: http://crbug.com/146006 203 // Test is flaky: http://crbug.com/146006
204 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 204 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
205 DISABLED_TestTabExitsItselfFromFullscreen) { 205 DISABLED_TestTabExitsItselfFromFullscreen) {
206 ASSERT_TRUE(test_server()->Start()); 206 ASSERT_TRUE(embedded_test_server()->Start());
207 207
208 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 208 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
209 209
210 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 210 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
211 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false)); 211 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
212 } 212 }
213 213
214 // Tests entering fullscreen and then requesting mouse lock results in 214 // Tests entering fullscreen and then requesting mouse lock results in
215 // buttons for the user, and that after confirming the buttons are dismissed. 215 // buttons for the user, and that after confirming the buttons are dismissed.
216 // Test is flaky: http://crbug.com/146006 216 // Test is flaky: http://crbug.com/146006
217 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 217 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
218 DISABLED_TestFullscreenBubbleMouseLockState) { 218 DISABLED_TestFullscreenBubbleMouseLockState) {
219 ASSERT_TRUE(test_server()->Start()); 219 ASSERT_TRUE(embedded_test_server()->Start());
220 220
221 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 221 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
222 AddTabAtIndex(1, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 222 AddTabAtIndex(1, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
223 223
224 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 224 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
225 225
226 // Request mouse lock and verify the bubble is waiting for user confirmation. 226 // Request mouse lock and verify the bubble is waiting for user confirmation.
227 RequestToLockMouse(true, false); 227 RequestToLockMouse(true, false);
228 ASSERT_TRUE(IsMouseLockPermissionRequested()); 228 ASSERT_TRUE(IsMouseLockPermissionRequested());
229 229
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 ASSERT_FALSE(IsFullscreenPermissionRequested()); 295 ASSERT_FALSE(IsFullscreenPermissionRequested());
296 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 296 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
297 ASSERT_FALSE(IsFullscreenPermissionRequested()); 297 ASSERT_FALSE(IsFullscreenPermissionRequested());
298 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false)); 298 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false));
299 } 299 }
300 300
301 // Tests fullscreen is exited on page navigation. 301 // Tests fullscreen is exited on page navigation.
302 // Test is flaky: http://crbug.com/146006 302 // Test is flaky: http://crbug.com/146006
303 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 303 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
304 DISABLED_TestTabExitsFullscreenOnNavigation) { 304 DISABLED_TestTabExitsFullscreenOnNavigation) {
305 ASSERT_TRUE(test_server()->Start()); 305 ASSERT_TRUE(embedded_test_server()->Start());
306 306
307 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); 307 ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
308 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 308 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
309 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); 309 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
310 310
311 ASSERT_FALSE(browser()->window()->IsFullscreen()); 311 ASSERT_FALSE(browser()->window()->IsFullscreen());
312 } 312 }
313 313
314 // Tests fullscreen is exited when navigating back. 314 // Tests fullscreen is exited when navigating back.
315 // Test is flaky: http://crbug.com/146006 315 // Test is flaky: http://crbug.com/146006
316 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 316 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
317 DISABLED_TestTabExitsFullscreenOnGoBack) { 317 DISABLED_TestTabExitsFullscreenOnGoBack) {
318 ASSERT_TRUE(test_server()->Start()); 318 ASSERT_TRUE(embedded_test_server()->Start());
319 319
320 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); 320 ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
321 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); 321 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
322 322
323 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 323 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
324 324
325 GoBack(); 325 GoBack();
326 326
327 ASSERT_FALSE(browser()->window()->IsFullscreen()); 327 ASSERT_FALSE(browser()->window()->IsFullscreen());
328 } 328 }
329 329
330 // Tests fullscreen is not exited on sub frame navigation. 330 // Tests fullscreen is not exited on sub frame navigation.
331 // Test is flaky: http://crbug.com/146006 331 // Test is flaky: http://crbug.com/146006
332 IN_PROC_BROWSER_TEST_F( 332 IN_PROC_BROWSER_TEST_F(
333 FullscreenControllerInteractiveTest, 333 FullscreenControllerInteractiveTest,
334 DISABLED_TestTabDoesntExitFullscreenOnSubFrameNavigation) { 334 DISABLED_TestTabDoesntExitFullscreenOnSubFrameNavigation) {
335 ASSERT_TRUE(test_server()->Start()); 335 ASSERT_TRUE(embedded_test_server()->Start());
336 336
337 GURL url(ui_test_utils::GetTestUrl(base::FilePath( 337 GURL url(ui_test_utils::GetTestUrl(base::FilePath(
338 base::FilePath::kCurrentDirectory), base::FilePath(kSimpleFile))); 338 base::FilePath::kCurrentDirectory), base::FilePath(kSimpleFile)));
339 GURL url_with_fragment(url.spec() + "#fragment"); 339 GURL url_with_fragment(url.spec() + "#fragment");
340 340
341 ui_test_utils::NavigateToURL(browser(), url); 341 ui_test_utils::NavigateToURL(browser(), url);
342 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 342 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
343 ui_test_utils::NavigateToURL(browser(), url_with_fragment); 343 ui_test_utils::NavigateToURL(browser(), url_with_fragment);
344 ASSERT_TRUE(IsWindowFullscreenForTabOrPending()); 344 ASSERT_TRUE(IsWindowFullscreenForTabOrPending());
345 } 345 }
346 346
347 // Tests tab fullscreen exits, but browser fullscreen remains, on navigation. 347 // Tests tab fullscreen exits, but browser fullscreen remains, on navigation.
348 // Test is flaky: http://crbug.com/146006 348 // Test is flaky: http://crbug.com/146006
349 IN_PROC_BROWSER_TEST_F( 349 IN_PROC_BROWSER_TEST_F(
350 FullscreenControllerInteractiveTest, 350 FullscreenControllerInteractiveTest,
351 DISABLED_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks) { 351 DISABLED_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks) {
352 ASSERT_TRUE(test_server()->Start()); 352 ASSERT_TRUE(embedded_test_server()->Start());
353 353
354 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); 354 ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
355 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); 355 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
356 356
357 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); 357 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true));
358 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); 358 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true));
359 359
360 GoBack(); 360 GoBack();
361 361
362 ASSERT_TRUE(IsFullscreenForBrowser()); 362 ASSERT_TRUE(IsFullscreenForBrowser());
363 ASSERT_FALSE(IsWindowFullscreenForTabOrPending()); 363 ASSERT_FALSE(IsWindowFullscreenForTabOrPending());
364 } 364 }
365 365
366 #if defined(OS_MACOSX) 366 #if defined(OS_MACOSX)
367 // http://crbug.com/100467 367 // http://crbug.com/100467
368 IN_PROC_BROWSER_TEST_F( 368 IN_PROC_BROWSER_TEST_F(
369 FullscreenControllerTest, DISABLED_TabEntersPresentationModeFromWindowed) { 369 FullscreenControllerTest, DISABLED_TabEntersPresentationModeFromWindowed) {
370 ASSERT_TRUE(test_server()->Start()); 370 ASSERT_TRUE(embedded_test_server()->Start());
371 371
372 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 372 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
373 373
374 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); 374 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
375 375
376 { 376 {
377 FullscreenNotificationObserver fullscreen_observer; 377 FullscreenNotificationObserver fullscreen_observer;
378 EXPECT_FALSE(browser()->window()->IsFullscreen()); 378 EXPECT_FALSE(browser()->window()->IsFullscreen());
379 EXPECT_FALSE(browser()->window()->IsFullscreenWithToolbar()); 379 EXPECT_FALSE(browser()->window()->IsFullscreenWithToolbar());
380 browser()->EnterFullscreenModeForTab(tab, GURL()); 380 browser()->EnterFullscreenModeForTab(tab, GURL());
(...skipping 17 matching lines...) Expand all
398 chrome::ToggleFullscreenMode(browser()); 398 chrome::ToggleFullscreenMode(browser());
399 fullscreen_observer.Wait(); 399 fullscreen_observer.Wait();
400 EXPECT_TRUE(browser()->window()->IsFullscreen()); 400 EXPECT_TRUE(browser()->window()->IsFullscreen());
401 EXPECT_TRUE(browser()->window()->IsFullscreenWithToolbar()); 401 EXPECT_TRUE(browser()->window()->IsFullscreenWithToolbar());
402 } 402 }
403 } 403 }
404 #endif 404 #endif
405 405
406 // Tests mouse lock can be escaped with ESC key. 406 // Tests mouse lock can be escaped with ESC key.
407 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, EscapingMouseLock) { 407 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, EscapingMouseLock) {
408 ASSERT_TRUE(test_server()->Start()); 408 ASSERT_TRUE(embedded_test_server()->Start());
409 ui_test_utils::NavigateToURL(browser(), 409 ui_test_utils::NavigateToURL(
410 test_server()->GetURL(kFullscreenMouseLockHTML)); 410 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
411 411
412 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 412 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
413 413
414 // Request to lock the mouse. 414 // Request to lock the mouse.
415 { 415 {
416 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 416 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
417 browser(), ui::VKEY_1, false, false, false, false, 417 browser(), ui::VKEY_1, false, false, false, false,
418 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 418 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
419 content::NotificationService::AllSources())); 419 content::NotificationService::AllSources()));
420 } 420 }
(...skipping 27 matching lines...) Expand all
448 ASSERT_FALSE(IsMouseLocked()); 448 ASSERT_FALSE(IsMouseLocked());
449 ASSERT_FALSE(IsWindowFullscreenForTabOrPending()); 449 ASSERT_FALSE(IsWindowFullscreenForTabOrPending());
450 ASSERT_FALSE(IsFullscreenPermissionRequested()); 450 ASSERT_FALSE(IsFullscreenPermissionRequested());
451 ASSERT_FALSE(IsMouseLockPermissionRequested()); 451 ASSERT_FALSE(IsMouseLockPermissionRequested());
452 } 452 }
453 453
454 // Tests mouse lock and fullscreen modes can be escaped with ESC key. 454 // Tests mouse lock and fullscreen modes can be escaped with ESC key.
455 // Test is flaky: http://crbug.com/146006 455 // Test is flaky: http://crbug.com/146006
456 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 456 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
457 DISABLED_EscapingMouseLockAndFullscreen) { 457 DISABLED_EscapingMouseLockAndFullscreen) {
458 ASSERT_TRUE(test_server()->Start()); 458 ASSERT_TRUE(embedded_test_server()->Start());
459 ui_test_utils::NavigateToURL(browser(), 459 ui_test_utils::NavigateToURL(
460 test_server()->GetURL(kFullscreenMouseLockHTML)); 460 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
461 461
462 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 462 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
463 463
464 // Request to lock the mouse and enter fullscreen. 464 // Request to lock the mouse and enter fullscreen.
465 { 465 {
466 FullscreenNotificationObserver fullscreen_observer; 466 FullscreenNotificationObserver fullscreen_observer;
467 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 467 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
468 browser(), ui::VKEY_B, false, true, false, false, 468 browser(), ui::VKEY_B, false, true, false, false,
469 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 469 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
470 content::NotificationService::AllSources())); 470 content::NotificationService::AllSources()));
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 ASSERT_FALSE(IsMouseLocked()); 510 ASSERT_FALSE(IsMouseLocked());
511 ASSERT_FALSE(IsWindowFullscreenForTabOrPending()); 511 ASSERT_FALSE(IsWindowFullscreenForTabOrPending());
512 ASSERT_FALSE(IsFullscreenPermissionRequested()); 512 ASSERT_FALSE(IsFullscreenPermissionRequested());
513 ASSERT_FALSE(IsMouseLockPermissionRequested()); 513 ASSERT_FALSE(IsMouseLockPermissionRequested());
514 } 514 }
515 515
516 // Tests mouse lock then fullscreen. 516 // Tests mouse lock then fullscreen.
517 // Test is flaky: http://crbug.com/146006 517 // Test is flaky: http://crbug.com/146006
518 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 518 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
519 DISABLED_MouseLockThenFullscreen) { 519 DISABLED_MouseLockThenFullscreen) {
520 ASSERT_TRUE(test_server()->Start()); 520 ASSERT_TRUE(embedded_test_server()->Start());
521 ui_test_utils::NavigateToURL(browser(), 521 ui_test_utils::NavigateToURL(
522 test_server()->GetURL(kFullscreenMouseLockHTML)); 522 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
523 523
524 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 524 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
525 525
526 // Lock the mouse without a user gesture, expect no response. 526 // Lock the mouse without a user gesture, expect no response.
527 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 527 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
528 browser(), ui::VKEY_D, false, false, false, false, 528 browser(), ui::VKEY_D, false, false, false, false,
529 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 529 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
530 content::NotificationService::AllSources())); 530 content::NotificationService::AllSources()));
531 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 531 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
532 ASSERT_FALSE(IsMouseLocked()); 532 ASSERT_FALSE(IsMouseLocked());
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 ASSERT_TRUE(IsWindowFullscreenForTabOrPending()); 567 ASSERT_TRUE(IsWindowFullscreenForTabOrPending());
568 ASSERT_FALSE(IsFullscreenBubbleDisplayingButtons()); 568 ASSERT_FALSE(IsFullscreenBubbleDisplayingButtons());
569 } 569 }
570 570
571 // Times out sometimes on Linux. http://crbug.com/135115 571 // Times out sometimes on Linux. http://crbug.com/135115
572 // Mac: http://crbug.com/103912 572 // Mac: http://crbug.com/103912
573 // Windows: Failing flakily on try jobs also. 573 // Windows: Failing flakily on try jobs also.
574 // Tests mouse lock then fullscreen in same request. 574 // Tests mouse lock then fullscreen in same request.
575 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 575 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
576 DISABLED_MouseLockAndFullscreen) { 576 DISABLED_MouseLockAndFullscreen) {
577 ASSERT_TRUE(test_server()->Start()); 577 ASSERT_TRUE(embedded_test_server()->Start());
578 ui_test_utils::NavigateToURL(browser(), 578 ui_test_utils::NavigateToURL(
579 test_server()->GetURL(kFullscreenMouseLockHTML)); 579 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
580 580
581 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 581 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
582 582
583 // Request to lock the mouse and enter fullscreen. 583 // Request to lock the mouse and enter fullscreen.
584 { 584 {
585 FullscreenNotificationObserver fullscreen_observer; 585 FullscreenNotificationObserver fullscreen_observer;
586 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 586 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
587 browser(), ui::VKEY_B, false, true, false, false, 587 browser(), ui::VKEY_B, false, true, false, false,
588 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 588 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
589 content::NotificationService::AllSources())); 589 content::NotificationService::AllSources()));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 ASSERT_TRUE(IsWindowFullscreenForTabOrPending()); 626 ASSERT_TRUE(IsWindowFullscreenForTabOrPending());
627 ASSERT_FALSE(IsFullscreenPermissionRequested()); 627 ASSERT_FALSE(IsFullscreenPermissionRequested());
628 } 628 }
629 629
630 // Tests mouse lock and fullscreen for the privileged fullscreen case (e.g., 630 // Tests mouse lock and fullscreen for the privileged fullscreen case (e.g.,
631 // embedded flash fullscreen, since the Flash plugin handles user permissions 631 // embedded flash fullscreen, since the Flash plugin handles user permissions
632 // requests itself). 632 // requests itself).
633 // Test is flaky: http://crbug.com/146006 633 // Test is flaky: http://crbug.com/146006
634 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 634 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
635 DISABLED_PrivilegedMouseLockAndFullscreen) { 635 DISABLED_PrivilegedMouseLockAndFullscreen) {
636 ASSERT_TRUE(test_server()->Start()); 636 ASSERT_TRUE(embedded_test_server()->Start());
637 ui_test_utils::NavigateToURL(browser(), 637 ui_test_utils::NavigateToURL(
638 test_server()->GetURL(kFullscreenMouseLockHTML)); 638 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
639 639
640 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 640 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
641 641
642 SetPrivilegedFullscreen(true); 642 SetPrivilegedFullscreen(true);
643 643
644 // Request to lock the mouse and enter fullscreen. 644 // Request to lock the mouse and enter fullscreen.
645 FullscreenNotificationObserver fullscreen_observer; 645 FullscreenNotificationObserver fullscreen_observer;
646 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 646 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
647 browser(), ui::VKEY_B, false, true, false, false, 647 browser(), ui::VKEY_B, false, true, false, false,
648 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 648 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
(...skipping 13 matching lines...) Expand all
662 #define MAYBE_MouseLockSilentAfterTargetUnlock \ 662 #define MAYBE_MouseLockSilentAfterTargetUnlock \
663 DISABLED_MouseLockSilentAfterTargetUnlock 663 DISABLED_MouseLockSilentAfterTargetUnlock
664 #else 664 #else
665 #define MAYBE_MouseLockSilentAfterTargetUnlock MouseLockSilentAfterTargetUnlock 665 #define MAYBE_MouseLockSilentAfterTargetUnlock MouseLockSilentAfterTargetUnlock
666 #endif 666 #endif
667 667
668 // Tests mouse lock can be exited and re-entered by an application silently 668 // Tests mouse lock can be exited and re-entered by an application silently
669 // with no UI distraction for users. 669 // with no UI distraction for users.
670 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 670 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
671 MAYBE_MouseLockSilentAfterTargetUnlock) { 671 MAYBE_MouseLockSilentAfterTargetUnlock) {
672 ASSERT_TRUE(test_server()->Start()); 672 ASSERT_TRUE(embedded_test_server()->Start());
673 ui_test_utils::NavigateToURL(browser(), 673 ui_test_utils::NavigateToURL(
674 test_server()->GetURL(kFullscreenMouseLockHTML)); 674 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
675 675
676 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 676 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
677 677
678 // Lock the mouse with a user gesture. 678 // Lock the mouse with a user gesture.
679 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 679 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
680 browser(), ui::VKEY_1, false, false, false, false, 680 browser(), ui::VKEY_1, false, false, false, false,
681 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 681 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
682 content::NotificationService::AllSources())); 682 content::NotificationService::AllSources()));
683 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 683 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
684 ASSERT_TRUE(IsMouseLockPermissionRequested()); 684 ASSERT_TRUE(IsMouseLockPermissionRequested());
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 #else 749 #else
750 #define MAYBE_TestTabExitsMouseLockOnNavigation \ 750 #define MAYBE_TestTabExitsMouseLockOnNavigation \
751 TestTabExitsMouseLockOnNavigation 751 TestTabExitsMouseLockOnNavigation
752 #define MAYBE_TestTabExitsMouseLockOnGoBack \ 752 #define MAYBE_TestTabExitsMouseLockOnGoBack \
753 TestTabExitsMouseLockOnGoBack 753 TestTabExitsMouseLockOnGoBack
754 #endif 754 #endif
755 755
756 // Tests mouse lock is exited on page navigation. 756 // Tests mouse lock is exited on page navigation.
757 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 757 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
758 MAYBE_TestTabExitsMouseLockOnNavigation) { 758 MAYBE_TestTabExitsMouseLockOnNavigation) {
759 ASSERT_TRUE(test_server()->Start()); 759 ASSERT_TRUE(embedded_test_server()->Start());
760 ui_test_utils::NavigateToURL(browser(), 760 ui_test_utils::NavigateToURL(
761 test_server()->GetURL(kFullscreenMouseLockHTML)); 761 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
762 762
763 // Lock the mouse with a user gesture. 763 // Lock the mouse with a user gesture.
764 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 764 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
765 browser(), ui::VKEY_1, false, false, false, false, 765 browser(), ui::VKEY_1, false, false, false, false,
766 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 766 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
767 content::NotificationService::AllSources())); 767 content::NotificationService::AllSources()));
768 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 768 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
769 ASSERT_TRUE(IsMouseLockPermissionRequested()); 769 ASSERT_TRUE(IsMouseLockPermissionRequested());
770 ASSERT_FALSE(IsMouseLocked()); 770 ASSERT_FALSE(IsMouseLocked());
771 771
772 // Accept mouse lock. 772 // Accept mouse lock.
773 AcceptCurrentFullscreenOrMouseLockRequest(); 773 AcceptCurrentFullscreenOrMouseLockRequest();
774 ASSERT_TRUE(IsMouseLocked()); 774 ASSERT_TRUE(IsMouseLocked());
775 775
776 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); 776 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
777 777
778 ASSERT_FALSE(IsMouseLocked()); 778 ASSERT_FALSE(IsMouseLocked());
779 } 779 }
780 780
781 // Tests mouse lock is exited when navigating back. 781 // Tests mouse lock is exited when navigating back.
782 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 782 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
783 MAYBE_TestTabExitsMouseLockOnGoBack) { 783 MAYBE_TestTabExitsMouseLockOnGoBack) {
784 ASSERT_TRUE(test_server()->Start()); 784 ASSERT_TRUE(embedded_test_server()->Start());
785 785
786 // Navigate twice to provide a place to go back to. 786 // Navigate twice to provide a place to go back to.
787 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); 787 ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
788 ui_test_utils::NavigateToURL(browser(), 788 ui_test_utils::NavigateToURL(
789 test_server()->GetURL(kFullscreenMouseLockHTML)); 789 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
790 790
791 // Lock the mouse with a user gesture. 791 // Lock the mouse with a user gesture.
792 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 792 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
793 browser(), ui::VKEY_1, false, false, false, false, 793 browser(), ui::VKEY_1, false, false, false, false,
794 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 794 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
795 content::NotificationService::AllSources())); 795 content::NotificationService::AllSources()));
796 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 796 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
797 ASSERT_TRUE(IsMouseLockPermissionRequested()); 797 ASSERT_TRUE(IsMouseLockPermissionRequested());
798 ASSERT_FALSE(IsMouseLocked()); 798 ASSERT_FALSE(IsMouseLocked());
799 799
800 // Accept mouse lock. 800 // Accept mouse lock.
801 AcceptCurrentFullscreenOrMouseLockRequest(); 801 AcceptCurrentFullscreenOrMouseLockRequest();
802 ASSERT_TRUE(IsMouseLocked()); 802 ASSERT_TRUE(IsMouseLocked());
803 803
804 GoBack(); 804 GoBack();
805 805
806 ASSERT_FALSE(IsMouseLocked()); 806 ASSERT_FALSE(IsMouseLocked());
807 } 807 }
808 808
809 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA) 809 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)
810 // TODO(erg): linux_aura bringup: http://crbug.com/163931 810 // TODO(erg): linux_aura bringup: http://crbug.com/163931
811 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation DISABLED_TestTabDoe sntExitMouseLockOnSubFrameNavigation 811 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation DISABLED_TestTabDoe sntExitMouseLockOnSubFrameNavigation
812 #else 812 #else
813 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation TestTabDoesntExitMo useLockOnSubFrameNavigation 813 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation TestTabDoesntExitMo useLockOnSubFrameNavigation
814 #endif 814 #endif
815 815
816 // Tests mouse lock is not exited on sub frame navigation. 816 // Tests mouse lock is not exited on sub frame navigation.
817 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 817 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
818 MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation) { 818 MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation) {
819 ASSERT_TRUE(test_server()->Start()); 819 ASSERT_TRUE(embedded_test_server()->Start());
820 820
821 // Create URLs for test page and test page with #fragment. 821 // Create URLs for test page and test page with #fragment.
822 GURL url(test_server()->GetURL(kFullscreenMouseLockHTML)); 822 GURL url(embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
823 GURL url_with_fragment(url.spec() + "#fragment"); 823 GURL url_with_fragment(url.spec() + "#fragment");
824 824
825 // Navigate to test page. 825 // Navigate to test page.
826 ui_test_utils::NavigateToURL(browser(), url); 826 ui_test_utils::NavigateToURL(browser(), url);
827 827
828 // Lock the mouse with a user gesture. 828 // Lock the mouse with a user gesture.
829 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 829 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
830 browser(), ui::VKEY_1, false, false, false, false, 830 browser(), ui::VKEY_1, false, false, false, false,
831 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 831 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
832 content::NotificationService::AllSources())); 832 content::NotificationService::AllSources()));
833 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 833 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
834 ASSERT_TRUE(IsMouseLockPermissionRequested()); 834 ASSERT_TRUE(IsMouseLockPermissionRequested());
835 ASSERT_FALSE(IsMouseLocked()); 835 ASSERT_FALSE(IsMouseLocked());
836 836
837 // Accept mouse lock. 837 // Accept mouse lock.
838 AcceptCurrentFullscreenOrMouseLockRequest(); 838 AcceptCurrentFullscreenOrMouseLockRequest();
839 ASSERT_TRUE(IsMouseLocked()); 839 ASSERT_TRUE(IsMouseLocked());
840 840
841 // Navigate to url with fragment. Mouse lock should persist. 841 // Navigate to url with fragment. Mouse lock should persist.
842 ui_test_utils::NavigateToURL(browser(), url_with_fragment); 842 ui_test_utils::NavigateToURL(browser(), url_with_fragment);
843 ASSERT_TRUE(IsMouseLocked()); 843 ASSERT_TRUE(IsMouseLocked());
844 } 844 }
845 845
846 // Tests Mouse Lock and Fullscreen are exited upon reload. 846 // Tests Mouse Lock and Fullscreen are exited upon reload.
847 // http://crbug.com/137486 847 // http://crbug.com/137486
848 // mac: http://crbug.com/103912 848 // mac: http://crbug.com/103912
849 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 849 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
850 DISABLED_ReloadExitsMouseLockAndFullscreen) { 850 DISABLED_ReloadExitsMouseLockAndFullscreen) {
851 ASSERT_TRUE(test_server()->Start()); 851 ASSERT_TRUE(embedded_test_server()->Start());
852 ui_test_utils::NavigateToURL(browser(), 852 ui_test_utils::NavigateToURL(
853 test_server()->GetURL(kFullscreenMouseLockHTML)); 853 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML));
854 854
855 ASSERT_FALSE(IsMouseLockPermissionRequested()); 855 ASSERT_FALSE(IsMouseLockPermissionRequested());
856 856
857 // Request mouse lock. 857 // Request mouse lock.
858 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( 858 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
859 browser(), ui::VKEY_1, false, false, false, false, 859 browser(), ui::VKEY_1, false, false, false, false,
860 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED, 860 chrome::NOTIFICATION_MOUSE_LOCK_CHANGED,
861 content::NotificationService::AllSources())); 861 content::NotificationService::AllSources()));
862 ASSERT_TRUE(IsMouseLockPermissionRequested()); 862 ASSERT_TRUE(IsMouseLockPermissionRequested());
863 863
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, 917 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest,
918 DISABLED_ToggleFullscreenModeForTab) { 918 DISABLED_ToggleFullscreenModeForTab) {
919 // Most fullscreen tests run sharded in fullscreen_controller_browsertest.cc 919 // Most fullscreen tests run sharded in fullscreen_controller_browsertest.cc
920 // but flakiness required a while loop in 920 // but flakiness required a while loop in
921 // FullscreenControllerTest::ToggleTabFullscreen. This test verifies that 921 // FullscreenControllerTest::ToggleTabFullscreen. This test verifies that
922 // when running serially there is no flakiness. 922 // when running serially there is no flakiness.
923 // This test reproduces the same flow as 923 // This test reproduces the same flow as
924 // TestFullscreenMouseLockContentSettings. 924 // TestFullscreenMouseLockContentSettings.
925 // http://crbug.com/133831 925 // http://crbug.com/133831
926 926
927 GURL url = test_server()->GetURL("simple.html"); 927 GURL url = embedded_test_server()->GetURL("/simple.html");
928 AddTabAtIndex(0, url, PAGE_TRANSITION_TYPED); 928 AddTabAtIndex(0, url, PAGE_TRANSITION_TYPED);
929 929
930 // Validate that going fullscreen for a URL defaults to asking permision. 930 // Validate that going fullscreen for a URL defaults to asking permision.
931 ASSERT_FALSE(IsFullscreenPermissionRequested()); 931 ASSERT_FALSE(IsFullscreenPermissionRequested());
932 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(true)); 932 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(true));
933 ASSERT_TRUE(IsFullscreenPermissionRequested()); 933 ASSERT_TRUE(IsFullscreenPermissionRequested());
934 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(false)); 934 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(false));
935 } 935 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698