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

Side by Side Diff: ash/wm/panels/panel_layout_manager_unittest.cc

Issue 1867223004: Convert //ash from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 (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 "ash/wm/panels/panel_layout_manager.h" 5 #include "ash/wm/panels/panel_layout_manager.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/screen_util.h" 8 #include "ash/screen_util.h"
9 #include "ash/shelf/shelf.h" 9 #include "ash/shelf/shelf.h"
10 #include "ash/shelf/shelf_button.h" 10 #include "ash/shelf/shelf_button.h"
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 ShelfVisibilityState visibility_state) { 240 ShelfVisibilityState visibility_state) {
241 Shelf* shelf = Shelf::ForWindow(window); 241 Shelf* shelf = Shelf::ForWindow(window);
242 shelf->shelf_layout_manager()->SetState(visibility_state); 242 shelf->shelf_layout_manager()->SetState(visibility_state);
243 } 243 }
244 244
245 ShelfView* GetShelfView(Shelf* shelf) { 245 ShelfView* GetShelfView(Shelf* shelf) {
246 return test::ShelfTestAPI(shelf).shelf_view(); 246 return test::ShelfTestAPI(shelf).shelf_view();
247 } 247 }
248 248
249 private: 249 private:
250 scoped_ptr<test::ShelfViewTestAPI> shelf_view_test_; 250 std::unique_ptr<test::ShelfViewTestAPI> shelf_view_test_;
251 251
252 bool IsHorizontal(ShelfAlignment alignment) { 252 bool IsHorizontal(ShelfAlignment alignment) {
253 return alignment == SHELF_ALIGNMENT_BOTTOM; 253 return alignment == SHELF_ALIGNMENT_BOTTOM;
254 } 254 }
255 255
256 DISALLOW_COPY_AND_ASSIGN(PanelLayoutManagerTest); 256 DISALLOW_COPY_AND_ASSIGN(PanelLayoutManagerTest);
257 }; 257 };
258 258
259 class PanelLayoutManagerTextDirectionTest 259 class PanelLayoutManagerTextDirectionTest
260 : public PanelLayoutManagerTest, 260 : public PanelLayoutManagerTest,
(...skipping 19 matching lines...) Expand all
280 private: 280 private:
281 bool is_rtl_; 281 bool is_rtl_;
282 std::string original_locale_; 282 std::string original_locale_;
283 283
284 DISALLOW_COPY_AND_ASSIGN(PanelLayoutManagerTextDirectionTest); 284 DISALLOW_COPY_AND_ASSIGN(PanelLayoutManagerTextDirectionTest);
285 }; 285 };
286 286
287 // Tests that a created panel window is above the shelf icon in LTR and RTL. 287 // Tests that a created panel window is above the shelf icon in LTR and RTL.
288 TEST_P(PanelLayoutManagerTextDirectionTest, AddOnePanel) { 288 TEST_P(PanelLayoutManagerTextDirectionTest, AddOnePanel) {
289 gfx::Rect bounds(0, 0, 201, 201); 289 gfx::Rect bounds(0, 0, 201, 201);
290 scoped_ptr<aura::Window> window(CreatePanelWindow(bounds)); 290 std::unique_ptr<aura::Window> window(CreatePanelWindow(bounds));
291 EXPECT_EQ(GetPanelContainer(window.get()), window->parent()); 291 EXPECT_EQ(GetPanelContainer(window.get()), window->parent());
292 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(window.get())); 292 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(window.get()));
293 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(window.get())); 293 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(window.get()));
294 } 294 }
295 295
296 // Tests that a created panel window is successfully aligned over a hidden 296 // Tests that a created panel window is successfully aligned over a hidden
297 // shelf icon. 297 // shelf icon.
298 TEST_F(PanelLayoutManagerTest, PanelAlignsToHiddenLauncherIcon) { 298 TEST_F(PanelLayoutManagerTest, PanelAlignsToHiddenLauncherIcon) {
299 gfx::Rect bounds(0, 0, 201, 201); 299 gfx::Rect bounds(0, 0, 201, 201);
300 SetShelfAutoHideBehavior(Shell::GetPrimaryRootWindow(), 300 SetShelfAutoHideBehavior(Shell::GetPrimaryRootWindow(),
301 SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 301 SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
302 scoped_ptr<aura::Window> normal_window(CreateNormalWindow(bounds)); 302 std::unique_ptr<aura::Window> normal_window(CreateNormalWindow(bounds));
303 scoped_ptr<aura::Window> window(CreatePanelWindow(bounds)); 303 std::unique_ptr<aura::Window> window(CreatePanelWindow(bounds));
304 EXPECT_EQ(GetPanelContainer(window.get()), window->parent()); 304 EXPECT_EQ(GetPanelContainer(window.get()), window->parent());
305 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(window.get())); 305 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(window.get()));
306 } 306 }
307 307
308 TEST_F(PanelLayoutManagerTest, PanelAlignsToHiddenLauncherIconSecondDisplay) { 308 TEST_F(PanelLayoutManagerTest, PanelAlignsToHiddenLauncherIconSecondDisplay) {
309 if (!SupportsMultipleDisplays()) 309 if (!SupportsMultipleDisplays())
310 return; 310 return;
311 311
312 // Keep the displays wide so that shelves have enough space for shelves 312 // Keep the displays wide so that shelves have enough space for shelves
313 // buttons. 313 // buttons.
314 UpdateDisplay("400x400,600x400"); 314 UpdateDisplay("400x400,600x400");
315 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 315 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
316 316
317 scoped_ptr<aura::Window> normal_window( 317 std::unique_ptr<aura::Window> normal_window(
318 CreateNormalWindow(gfx::Rect(450, 0, 100, 100))); 318 CreateNormalWindow(gfx::Rect(450, 0, 100, 100)));
319 scoped_ptr<aura::Window> panel(CreatePanelWindow(gfx::Rect(400, 0, 50, 50))); 319 std::unique_ptr<aura::Window> panel(
320 CreatePanelWindow(gfx::Rect(400, 0, 50, 50)));
320 EXPECT_EQ(root_windows[1], panel->GetRootWindow()); 321 EXPECT_EQ(root_windows[1], panel->GetRootWindow());
321 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(panel.get())); 322 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(panel.get()));
322 gfx::Rect shelf_visible_position = panel->GetBoundsInScreen(); 323 gfx::Rect shelf_visible_position = panel->GetBoundsInScreen();
323 324
324 SetShelfAutoHideBehavior(root_windows[1], 325 SetShelfAutoHideBehavior(root_windows[1],
325 SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 326 SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
326 // Expect the panel X position to remain the same after the shelf is hidden 327 // Expect the panel X position to remain the same after the shelf is hidden
327 // but the Y to move down. 328 // but the Y to move down.
328 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(panel.get())); 329 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(panel.get()));
329 EXPECT_EQ(shelf_visible_position.x(), panel->GetBoundsInScreen().x()); 330 EXPECT_EQ(shelf_visible_position.x(), panel->GetBoundsInScreen().x());
330 EXPECT_GT(panel->GetBoundsInScreen().y(), shelf_visible_position.y()); 331 EXPECT_GT(panel->GetBoundsInScreen().y(), shelf_visible_position.y());
331 } 332 }
332 333
333 // Tests interactions between multiple panels 334 // Tests interactions between multiple panels
334 TEST_F(PanelLayoutManagerTest, MultiplePanelsAreAboveIcons) { 335 TEST_F(PanelLayoutManagerTest, MultiplePanelsAreAboveIcons) {
335 gfx::Rect odd_bounds(0, 0, 201, 201); 336 gfx::Rect odd_bounds(0, 0, 201, 201);
336 gfx::Rect even_bounds(0, 0, 200, 200); 337 gfx::Rect even_bounds(0, 0, 200, 200);
337 338
338 scoped_ptr<aura::Window> w1(CreatePanelWindow(odd_bounds)); 339 std::unique_ptr<aura::Window> w1(CreatePanelWindow(odd_bounds));
339 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get())); 340 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get()));
340 341
341 scoped_ptr<aura::Window> w2(CreatePanelWindow(even_bounds)); 342 std::unique_ptr<aura::Window> w2(CreatePanelWindow(even_bounds));
342 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get())); 343 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get()));
343 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get())); 344 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get()));
344 345
345 scoped_ptr<aura::Window> w3(CreatePanelWindow(odd_bounds)); 346 std::unique_ptr<aura::Window> w3(CreatePanelWindow(odd_bounds));
346 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get())); 347 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get()));
347 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get())); 348 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get()));
348 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get())); 349 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get()));
349 } 350 }
350 351
351 TEST_F(PanelLayoutManagerTest, MultiplePanelStacking) { 352 TEST_F(PanelLayoutManagerTest, MultiplePanelStacking) {
352 gfx::Rect bounds(0, 0, 201, 201); 353 gfx::Rect bounds(0, 0, 201, 201);
353 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 354 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
354 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 355 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
355 scoped_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 356 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
356 357
357 // Default stacking order. 358 // Default stacking order.
358 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get())); 359 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get()));
359 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 360 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
360 361
361 // Changing the active window should update the stacking order. 362 // Changing the active window should update the stacking order.
362 wm::ActivateWindow(w1.get()); 363 wm::ActivateWindow(w1.get());
363 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 364 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
364 EXPECT_TRUE(WindowIsAbove(w1.get(), w2.get())); 365 EXPECT_TRUE(WindowIsAbove(w1.get(), w2.get()));
365 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get())); 366 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
366 367
367 wm::ActivateWindow(w2.get()); 368 wm::ActivateWindow(w2.get());
368 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 369 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
369 EXPECT_TRUE(WindowIsAbove(w1.get(), w3.get())); 370 EXPECT_TRUE(WindowIsAbove(w1.get(), w3.get()));
370 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get())); 371 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
371 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 372 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
372 373
373 wm::ActivateWindow(w3.get()); 374 wm::ActivateWindow(w3.get());
374 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get())); 375 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get()));
375 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 376 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
376 } 377 }
377 378
378 TEST_F(PanelLayoutManagerTest, MultiplePanelStackingVertical) { 379 TEST_F(PanelLayoutManagerTest, MultiplePanelStackingVertical) {
379 // Set shelf to be aligned on the right. 380 // Set shelf to be aligned on the right.
380 SetAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_RIGHT); 381 SetAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_RIGHT);
381 382
382 // Size panels in such a way that ordering them by X coordinate would cause 383 // Size panels in such a way that ordering them by X coordinate would cause
383 // stacking order to be incorrect. Test that stacking order is based on Y. 384 // stacking order to be incorrect. Test that stacking order is based on Y.
384 scoped_ptr<aura::Window> w1(CreatePanelWindow(gfx::Rect(0, 0, 210, 201))); 385 std::unique_ptr<aura::Window> w1(
385 scoped_ptr<aura::Window> w2(CreatePanelWindow(gfx::Rect(0, 0, 220, 201))); 386 CreatePanelWindow(gfx::Rect(0, 0, 210, 201)));
386 scoped_ptr<aura::Window> w3(CreatePanelWindow(gfx::Rect(0, 0, 200, 201))); 387 std::unique_ptr<aura::Window> w2(
388 CreatePanelWindow(gfx::Rect(0, 0, 220, 201)));
389 std::unique_ptr<aura::Window> w3(
390 CreatePanelWindow(gfx::Rect(0, 0, 200, 201)));
387 391
388 // Default stacking order. 392 // Default stacking order.
389 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get())); 393 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get()));
390 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 394 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
391 395
392 // Changing the active window should update the stacking order. 396 // Changing the active window should update the stacking order.
393 wm::ActivateWindow(w1.get()); 397 wm::ActivateWindow(w1.get());
394 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 398 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
395 EXPECT_TRUE(WindowIsAbove(w1.get(), w2.get())); 399 EXPECT_TRUE(WindowIsAbove(w1.get(), w2.get()));
396 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get())); 400 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
397 401
398 wm::ActivateWindow(w2.get()); 402 wm::ActivateWindow(w2.get());
399 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 403 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
400 EXPECT_TRUE(WindowIsAbove(w1.get(), w3.get())); 404 EXPECT_TRUE(WindowIsAbove(w1.get(), w3.get()));
401 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get())); 405 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
402 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 406 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
403 407
404 wm::ActivateWindow(w3.get()); 408 wm::ActivateWindow(w3.get());
405 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get())); 409 EXPECT_TRUE(WindowIsAbove(w3.get(), w2.get()));
406 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 410 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
407 } 411 }
408 412
409 TEST_F(PanelLayoutManagerTest, MultiplePanelCallout) { 413 TEST_F(PanelLayoutManagerTest, MultiplePanelCallout) {
410 gfx::Rect bounds(0, 0, 200, 200); 414 gfx::Rect bounds(0, 0, 200, 200);
411 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 415 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
412 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 416 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
413 scoped_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 417 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
414 scoped_ptr<aura::Window> w4(CreateNormalWindow(gfx::Rect())); 418 std::unique_ptr<aura::Window> w4(CreateNormalWindow(gfx::Rect()));
415 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 419 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
416 EXPECT_TRUE(IsPanelCalloutVisible(w1.get())); 420 EXPECT_TRUE(IsPanelCalloutVisible(w1.get()));
417 EXPECT_TRUE(IsPanelCalloutVisible(w2.get())); 421 EXPECT_TRUE(IsPanelCalloutVisible(w2.get()));
418 EXPECT_TRUE(IsPanelCalloutVisible(w3.get())); 422 EXPECT_TRUE(IsPanelCalloutVisible(w3.get()));
419 wm::ActivateWindow(w1.get()); 423 wm::ActivateWindow(w1.get());
420 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w1.get())); 424 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w1.get()));
421 wm::ActivateWindow(w2.get()); 425 wm::ActivateWindow(w2.get());
422 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w2.get())); 426 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w2.get()));
423 wm::ActivateWindow(w3.get()); 427 wm::ActivateWindow(w3.get());
424 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w3.get())); 428 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w3.get()));
425 wm::ActivateWindow(w4.get()); 429 wm::ActivateWindow(w4.get());
426 wm::ActivateWindow(w3.get()); 430 wm::ActivateWindow(w3.get());
427 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w3.get())); 431 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w3.get()));
428 w3.reset(); 432 w3.reset();
429 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w2.get())); 433 EXPECT_NO_FATAL_FAILURE(IsCalloutAboveLauncherIcon(w2.get()));
430 } 434 }
431 435
432 // Tests removing panels. 436 // Tests removing panels.
433 TEST_F(PanelLayoutManagerTest, RemoveLeftPanel) { 437 TEST_F(PanelLayoutManagerTest, RemoveLeftPanel) {
434 gfx::Rect bounds(0, 0, 201, 201); 438 gfx::Rect bounds(0, 0, 201, 201);
435 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 439 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
436 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 440 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
437 scoped_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 441 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
438 442
439 // At this point, windows should be stacked with 1 < 2 < 3 443 // At this point, windows should be stacked with 1 < 2 < 3
440 wm::ActivateWindow(w1.get()); 444 wm::ActivateWindow(w1.get());
441 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 445 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
442 // Now, windows should be stacked 1 > 2 > 3 446 // Now, windows should be stacked 1 > 2 > 3
443 w1.reset(); 447 w1.reset();
444 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get())); 448 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get()));
445 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get())); 449 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get()));
446 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get())); 450 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
447 } 451 }
448 452
449 TEST_F(PanelLayoutManagerTest, RemoveMiddlePanel) { 453 TEST_F(PanelLayoutManagerTest, RemoveMiddlePanel) {
450 gfx::Rect bounds(0, 0, 201, 201); 454 gfx::Rect bounds(0, 0, 201, 201);
451 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 455 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
452 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 456 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
453 scoped_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 457 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
454 458
455 // At this point, windows should be stacked with 1 < 2 < 3 459 // At this point, windows should be stacked with 1 < 2 < 3
456 wm::ActivateWindow(w2.get()); 460 wm::ActivateWindow(w2.get());
457 // Windows should be stacked 1 < 2 > 3 461 // Windows should be stacked 1 < 2 > 3
458 w2.reset(); 462 w2.reset();
459 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get())); 463 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get()));
460 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get())); 464 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get()));
461 EXPECT_TRUE(WindowIsAbove(w3.get(), w1.get())); 465 EXPECT_TRUE(WindowIsAbove(w3.get(), w1.get()));
462 } 466 }
463 467
464 TEST_F(PanelLayoutManagerTest, RemoveRightPanel) { 468 TEST_F(PanelLayoutManagerTest, RemoveRightPanel) {
465 gfx::Rect bounds(0, 0, 201, 201); 469 gfx::Rect bounds(0, 0, 201, 201);
466 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 470 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
467 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 471 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
468 scoped_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 472 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
469 473
470 // At this point, windows should be stacked with 1 < 2 < 3 474 // At this point, windows should be stacked with 1 < 2 < 3
471 wm::ActivateWindow(w3.get()); 475 wm::ActivateWindow(w3.get());
472 // Order shouldn't change. 476 // Order shouldn't change.
473 w3.reset(); 477 w3.reset();
474 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get())); 478 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w1.get()));
475 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get())); 479 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get()));
476 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get())); 480 EXPECT_TRUE(WindowIsAbove(w2.get(), w1.get()));
477 } 481 }
478 482
479 TEST_F(PanelLayoutManagerTest, RemoveNonActivePanel) { 483 TEST_F(PanelLayoutManagerTest, RemoveNonActivePanel) {
480 gfx::Rect bounds(0, 0, 201, 201); 484 gfx::Rect bounds(0, 0, 201, 201);
481 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 485 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
482 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 486 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
483 scoped_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 487 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
484 488
485 // At this point, windows should be stacked with 1 < 2 < 3 489 // At this point, windows should be stacked with 1 < 2 < 3
486 wm::ActivateWindow(w2.get()); 490 wm::ActivateWindow(w2.get());
487 // Windows should be stacked 1 < 2 > 3 491 // Windows should be stacked 1 < 2 > 3
488 w1.reset(); 492 w1.reset();
489 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get())); 493 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w2.get()));
490 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get())); 494 EXPECT_NO_FATAL_FAILURE(IsPanelAboveLauncherIcon(w3.get()));
491 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get())); 495 EXPECT_TRUE(WindowIsAbove(w2.get(), w3.get()));
492 } 496 }
493 497
494 TEST_F(PanelLayoutManagerTest, SplitView) { 498 TEST_F(PanelLayoutManagerTest, SplitView) {
495 gfx::Rect bounds(0, 0, 90, 201); 499 gfx::Rect bounds(0, 0, 90, 201);
496 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 500 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
497 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 501 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
498 502
499 EXPECT_NO_FATAL_FAILURE(PanelsNotOverlapping(w1.get(), w2.get())); 503 EXPECT_NO_FATAL_FAILURE(PanelsNotOverlapping(w1.get(), w2.get()));
500 } 504 }
501 505
502 #if defined(OS_WIN) 506 #if defined(OS_WIN)
503 // RootWindow and Display can't resize on Windows Ash. http://crbug.com/165962 507 // RootWindow and Display can't resize on Windows Ash. http://crbug.com/165962
504 #define MAYBE_SplitViewOverlapWhenLarge DISABLED_SplitViewOverlapWhenLarge 508 #define MAYBE_SplitViewOverlapWhenLarge DISABLED_SplitViewOverlapWhenLarge
505 #else 509 #else
506 #define MAYBE_SplitViewOverlapWhenLarge SplitViewOverlapWhenLarge 510 #define MAYBE_SplitViewOverlapWhenLarge SplitViewOverlapWhenLarge
507 #endif 511 #endif
508 512
509 TEST_F(PanelLayoutManagerTest, MAYBE_SplitViewOverlapWhenLarge) { 513 TEST_F(PanelLayoutManagerTest, MAYBE_SplitViewOverlapWhenLarge) {
510 gfx::Rect bounds(0, 0, 600, 201); 514 gfx::Rect bounds(0, 0, 600, 201);
511 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 515 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
512 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 516 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
513 517
514 EXPECT_NO_FATAL_FAILURE(PanelInScreen(w1.get())); 518 EXPECT_NO_FATAL_FAILURE(PanelInScreen(w1.get()));
515 EXPECT_NO_FATAL_FAILURE(PanelInScreen(w2.get())); 519 EXPECT_NO_FATAL_FAILURE(PanelInScreen(w2.get()));
516 } 520 }
517 521
518 TEST_F(PanelLayoutManagerTest, FanWindows) { 522 TEST_F(PanelLayoutManagerTest, FanWindows) {
519 gfx::Rect bounds(0, 0, 201, 201); 523 gfx::Rect bounds(0, 0, 201, 201);
520 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 524 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
521 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 525 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
522 scoped_ptr<aura::Window> w3(CreatePanelWindow(bounds)); 526 std::unique_ptr<aura::Window> w3(CreatePanelWindow(bounds));
523 527
524 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 528 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
525 int window_x1 = w1->GetBoundsInRootWindow().CenterPoint().x(); 529 int window_x1 = w1->GetBoundsInRootWindow().CenterPoint().x();
526 int window_x2 = w2->GetBoundsInRootWindow().CenterPoint().x(); 530 int window_x2 = w2->GetBoundsInRootWindow().CenterPoint().x();
527 int window_x3 = w3->GetBoundsInRootWindow().CenterPoint().x(); 531 int window_x3 = w3->GetBoundsInRootWindow().CenterPoint().x();
528 Shelf* shelf = Shelf::ForPrimaryDisplay(); 532 Shelf* shelf = Shelf::ForPrimaryDisplay();
529 int icon_x1 = shelf->GetScreenBoundsOfItemIconForWindow(w1.get()).x(); 533 int icon_x1 = shelf->GetScreenBoundsOfItemIconForWindow(w1.get()).x();
530 int icon_x2 = shelf->GetScreenBoundsOfItemIconForWindow(w2.get()).x(); 534 int icon_x2 = shelf->GetScreenBoundsOfItemIconForWindow(w2.get()).x();
531 EXPECT_EQ(window_x2 - window_x1, window_x3 - window_x2); 535 EXPECT_EQ(window_x2 - window_x1, window_x3 - window_x2);
532 int spacing = window_x2 - window_x1; 536 int spacing = window_x2 - window_x1;
533 EXPECT_GT(spacing, icon_x2 - icon_x1); 537 EXPECT_GT(spacing, icon_x2 - icon_x1);
534 } 538 }
535 539
536 TEST_F(PanelLayoutManagerTest, FanLargeWindow) { 540 TEST_F(PanelLayoutManagerTest, FanLargeWindow) {
537 gfx::Rect small_bounds(0, 0, 201, 201); 541 gfx::Rect small_bounds(0, 0, 201, 201);
538 gfx::Rect large_bounds(0, 0, 501, 201); 542 gfx::Rect large_bounds(0, 0, 501, 201);
539 scoped_ptr<aura::Window> w1(CreatePanelWindow(small_bounds)); 543 std::unique_ptr<aura::Window> w1(CreatePanelWindow(small_bounds));
540 scoped_ptr<aura::Window> w2(CreatePanelWindow(large_bounds)); 544 std::unique_ptr<aura::Window> w2(CreatePanelWindow(large_bounds));
541 scoped_ptr<aura::Window> w3(CreatePanelWindow(small_bounds)); 545 std::unique_ptr<aura::Window> w3(CreatePanelWindow(small_bounds));
542 546
543 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 547 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
544 int window_x1 = w1->GetBoundsInRootWindow().CenterPoint().x(); 548 int window_x1 = w1->GetBoundsInRootWindow().CenterPoint().x();
545 int window_x2 = w2->GetBoundsInRootWindow().CenterPoint().x(); 549 int window_x2 = w2->GetBoundsInRootWindow().CenterPoint().x();
546 int window_x3 = w3->GetBoundsInRootWindow().CenterPoint().x(); 550 int window_x3 = w3->GetBoundsInRootWindow().CenterPoint().x();
547 // The distances may not be equidistant with a large panel but the panels 551 // The distances may not be equidistant with a large panel but the panels
548 // should be in the correct order with respect to their midpoints. 552 // should be in the correct order with respect to their midpoints.
549 EXPECT_GT(window_x2, window_x1); 553 EXPECT_GT(window_x2, window_x1);
550 EXPECT_GT(window_x3, window_x2); 554 EXPECT_GT(window_x3, window_x2);
551 } 555 }
552 556
553 TEST_F(PanelLayoutManagerTest, MinimizeRestorePanel) { 557 TEST_F(PanelLayoutManagerTest, MinimizeRestorePanel) {
554 gfx::Rect bounds(0, 0, 201, 201); 558 gfx::Rect bounds(0, 0, 201, 201);
555 scoped_ptr<aura::Window> window(CreatePanelWindow(bounds)); 559 std::unique_ptr<aura::Window> window(CreatePanelWindow(bounds));
556 // Activate the window, ensure callout is visible. 560 // Activate the window, ensure callout is visible.
557 wm::ActivateWindow(window.get()); 561 wm::ActivateWindow(window.get());
558 RunAllPendingInMessageLoop(); 562 RunAllPendingInMessageLoop();
559 EXPECT_TRUE(IsPanelCalloutVisible(window.get())); 563 EXPECT_TRUE(IsPanelCalloutVisible(window.get()));
560 // Minimize the panel, callout should be hidden. 564 // Minimize the panel, callout should be hidden.
561 wm::GetWindowState(window.get())->Minimize(); 565 wm::GetWindowState(window.get())->Minimize();
562 RunAllPendingInMessageLoop(); 566 RunAllPendingInMessageLoop();
563 EXPECT_FALSE(IsPanelCalloutVisible(window.get())); 567 EXPECT_FALSE(IsPanelCalloutVisible(window.get()));
564 // Restore the panel; panel should not be activated by default but callout 568 // Restore the panel; panel should not be activated by default but callout
565 // should be visible. 569 // should be visible.
566 wm::GetWindowState(window.get())->Unminimize(); 570 wm::GetWindowState(window.get())->Unminimize();
567 RunAllPendingInMessageLoop(); 571 RunAllPendingInMessageLoop();
568 EXPECT_TRUE(IsPanelCalloutVisible(window.get())); 572 EXPECT_TRUE(IsPanelCalloutVisible(window.get()));
569 // Activate the window, ensure callout is visible. 573 // Activate the window, ensure callout is visible.
570 wm::ActivateWindow(window.get()); 574 wm::ActivateWindow(window.get());
571 RunAllPendingInMessageLoop(); 575 RunAllPendingInMessageLoop();
572 EXPECT_TRUE(IsPanelCalloutVisible(window.get())); 576 EXPECT_TRUE(IsPanelCalloutVisible(window.get()));
573 } 577 }
574 578
575 TEST_F(PanelLayoutManagerTest, PanelMoveBetweenMultipleDisplays) { 579 TEST_F(PanelLayoutManagerTest, PanelMoveBetweenMultipleDisplays) {
576 if (!SupportsMultipleDisplays()) 580 if (!SupportsMultipleDisplays())
577 return; 581 return;
578 582
579 // Keep the displays wide so that shelves have enough space for launcher 583 // Keep the displays wide so that shelves have enough space for launcher
580 // buttons. 584 // buttons.
581 UpdateDisplay("600x400,600x400"); 585 UpdateDisplay("600x400,600x400");
582 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 586 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
583 587
584 scoped_ptr<aura::Window> p1_d1(CreatePanelWindow(gfx::Rect(0, 0, 50, 50))); 588 std::unique_ptr<aura::Window> p1_d1(
585 scoped_ptr<aura::Window> p2_d1(CreatePanelWindow(gfx::Rect(0, 0, 50, 50))); 589 CreatePanelWindow(gfx::Rect(0, 0, 50, 50)));
586 scoped_ptr<aura::Window> p1_d2(CreatePanelWindow(gfx::Rect(600, 0, 50, 50))); 590 std::unique_ptr<aura::Window> p2_d1(
587 scoped_ptr<aura::Window> p2_d2(CreatePanelWindow(gfx::Rect(600, 0, 50, 50))); 591 CreatePanelWindow(gfx::Rect(0, 0, 50, 50)));
592 std::unique_ptr<aura::Window> p1_d2(
593 CreatePanelWindow(gfx::Rect(600, 0, 50, 50)));
594 std::unique_ptr<aura::Window> p2_d2(
595 CreatePanelWindow(gfx::Rect(600, 0, 50, 50)));
588 596
589 ShelfView* shelf_view_1st = GetShelfView(Shelf::ForPrimaryDisplay()); 597 ShelfView* shelf_view_1st = GetShelfView(Shelf::ForPrimaryDisplay());
590 ShelfView* shelf_view_2nd = 598 ShelfView* shelf_view_2nd =
591 GetShelfView(Shelf::ForWindow(root_windows[1])); 599 GetShelfView(Shelf::ForWindow(root_windows[1]));
592 600
593 EXPECT_EQ(root_windows[0], p1_d1->GetRootWindow()); 601 EXPECT_EQ(root_windows[0], p1_d1->GetRootWindow());
594 EXPECT_EQ(root_windows[0], p2_d1->GetRootWindow()); 602 EXPECT_EQ(root_windows[0], p2_d1->GetRootWindow());
595 EXPECT_EQ(root_windows[1], p1_d2->GetRootWindow()); 603 EXPECT_EQ(root_windows[1], p1_d2->GetRootWindow());
596 EXPECT_EQ(root_windows[1], p2_d2->GetRootWindow()); 604 EXPECT_EQ(root_windows[1], p2_d2->GetRootWindow());
597 605
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 TEST_F(PanelLayoutManagerTest, PanelAttachPositionMultipleDisplays) { 662 TEST_F(PanelLayoutManagerTest, PanelAttachPositionMultipleDisplays) {
655 if (!SupportsMultipleDisplays()) 663 if (!SupportsMultipleDisplays())
656 return; 664 return;
657 665
658 // Keep the displays wide so that shelves have enough space for shelf buttons. 666 // Keep the displays wide so that shelves have enough space for shelf buttons.
659 // Use differently sized displays so the shelf is in a different 667 // Use differently sized displays so the shelf is in a different
660 // position on second display. 668 // position on second display.
661 UpdateDisplay("600x400,600x600"); 669 UpdateDisplay("600x400,600x600");
662 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 670 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
663 671
664 scoped_ptr<aura::Window> p1_d1(CreatePanelWindow(gfx::Rect(0, 0, 50, 50))); 672 std::unique_ptr<aura::Window> p1_d1(
665 scoped_ptr<aura::Window> p1_d2(CreatePanelWindow(gfx::Rect(600, 0, 50, 50))); 673 CreatePanelWindow(gfx::Rect(0, 0, 50, 50)));
674 std::unique_ptr<aura::Window> p1_d2(
675 CreatePanelWindow(gfx::Rect(600, 0, 50, 50)));
666 676
667 EXPECT_EQ(root_windows[0], p1_d1->GetRootWindow()); 677 EXPECT_EQ(root_windows[0], p1_d1->GetRootWindow());
668 EXPECT_EQ(root_windows[1], p1_d2->GetRootWindow()); 678 EXPECT_EQ(root_windows[1], p1_d2->GetRootWindow());
669 679
670 IsPanelAboveLauncherIcon(p1_d1.get()); 680 IsPanelAboveLauncherIcon(p1_d1.get());
671 IsCalloutAboveLauncherIcon(p1_d1.get()); 681 IsCalloutAboveLauncherIcon(p1_d1.get());
672 IsPanelAboveLauncherIcon(p1_d2.get()); 682 IsPanelAboveLauncherIcon(p1_d2.get());
673 IsCalloutAboveLauncherIcon(p1_d2.get()); 683 IsCalloutAboveLauncherIcon(p1_d2.get());
674 } 684 }
675 685
676 TEST_F(PanelLayoutManagerTest, PanelAlignmentSecondDisplay) { 686 TEST_F(PanelLayoutManagerTest, PanelAlignmentSecondDisplay) {
677 if (!SupportsMultipleDisplays()) 687 if (!SupportsMultipleDisplays())
678 return; 688 return;
679 689
680 UpdateDisplay("600x400,600x400"); 690 UpdateDisplay("600x400,600x400");
681 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 691 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
682 692
683 scoped_ptr<aura::Window> p1_d2(CreatePanelWindow(gfx::Rect(600, 0, 50, 50))); 693 std::unique_ptr<aura::Window> p1_d2(
694 CreatePanelWindow(gfx::Rect(600, 0, 50, 50)));
684 EXPECT_EQ(root_windows[1], p1_d2->GetRootWindow()); 695 EXPECT_EQ(root_windows[1], p1_d2->GetRootWindow());
685 696
686 IsPanelAboveLauncherIcon(p1_d2.get()); 697 IsPanelAboveLauncherIcon(p1_d2.get());
687 IsCalloutAboveLauncherIcon(p1_d2.get()); 698 IsCalloutAboveLauncherIcon(p1_d2.get());
688 699
689 SetAlignment(root_windows[1], SHELF_ALIGNMENT_RIGHT); 700 SetAlignment(root_windows[1], SHELF_ALIGNMENT_RIGHT);
690 IsPanelAboveLauncherIcon(p1_d2.get()); 701 IsPanelAboveLauncherIcon(p1_d2.get());
691 IsCalloutAboveLauncherIcon(p1_d2.get()); 702 IsCalloutAboveLauncherIcon(p1_d2.get());
692 SetAlignment(root_windows[1], SHELF_ALIGNMENT_LEFT); 703 SetAlignment(root_windows[1], SHELF_ALIGNMENT_LEFT);
693 IsPanelAboveLauncherIcon(p1_d2.get()); 704 IsPanelAboveLauncherIcon(p1_d2.get());
694 IsCalloutAboveLauncherIcon(p1_d2.get()); 705 IsCalloutAboveLauncherIcon(p1_d2.get());
695 } 706 }
696 707
697 TEST_F(PanelLayoutManagerTest, AlignmentLeft) { 708 TEST_F(PanelLayoutManagerTest, AlignmentLeft) {
698 gfx::Rect bounds(0, 0, 201, 201); 709 gfx::Rect bounds(0, 0, 201, 201);
699 scoped_ptr<aura::Window> w(CreatePanelWindow(bounds)); 710 std::unique_ptr<aura::Window> w(CreatePanelWindow(bounds));
700 SetAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_LEFT); 711 SetAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_LEFT);
701 IsPanelAboveLauncherIcon(w.get()); 712 IsPanelAboveLauncherIcon(w.get());
702 IsCalloutAboveLauncherIcon(w.get()); 713 IsCalloutAboveLauncherIcon(w.get());
703 } 714 }
704 715
705 TEST_F(PanelLayoutManagerTest, AlignmentRight) { 716 TEST_F(PanelLayoutManagerTest, AlignmentRight) {
706 gfx::Rect bounds(0, 0, 201, 201); 717 gfx::Rect bounds(0, 0, 201, 201);
707 scoped_ptr<aura::Window> w(CreatePanelWindow(bounds)); 718 std::unique_ptr<aura::Window> w(CreatePanelWindow(bounds));
708 SetAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_RIGHT); 719 SetAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_RIGHT);
709 IsPanelAboveLauncherIcon(w.get()); 720 IsPanelAboveLauncherIcon(w.get());
710 IsCalloutAboveLauncherIcon(w.get()); 721 IsCalloutAboveLauncherIcon(w.get());
711 } 722 }
712 723
713 // Tests that panels will hide and restore their state with the shelf visibility 724 // Tests that panels will hide and restore their state with the shelf visibility
714 // state. This ensures that entering full-screen mode will hide your panels 725 // state. This ensures that entering full-screen mode will hide your panels
715 // until you leave it. 726 // until you leave it.
716 TEST_F(PanelLayoutManagerTest, PanelsHideAndRestoreWithShelf) { 727 TEST_F(PanelLayoutManagerTest, PanelsHideAndRestoreWithShelf) {
717 gfx::Rect bounds(0, 0, 201, 201); 728 gfx::Rect bounds(0, 0, 201, 201);
718 729
719 scoped_ptr<aura::Window> w1(CreatePanelWindow(bounds)); 730 std::unique_ptr<aura::Window> w1(CreatePanelWindow(bounds));
720 scoped_ptr<aura::Window> w2(CreatePanelWindow(bounds)); 731 std::unique_ptr<aura::Window> w2(CreatePanelWindow(bounds));
721 scoped_ptr<aura::Window> w3; 732 std::unique_ptr<aura::Window> w3;
722 // Minimize w2. 733 // Minimize w2.
723 wm::GetWindowState(w2.get())->Minimize(); 734 wm::GetWindowState(w2.get())->Minimize();
724 RunAllPendingInMessageLoop(); 735 RunAllPendingInMessageLoop();
725 EXPECT_TRUE(w1->IsVisible()); 736 EXPECT_TRUE(w1->IsVisible());
726 EXPECT_FALSE(w2->IsVisible()); 737 EXPECT_FALSE(w2->IsVisible());
727 738
728 SetShelfVisibilityState(Shell::GetPrimaryRootWindow(), SHELF_HIDDEN); 739 SetShelfVisibilityState(Shell::GetPrimaryRootWindow(), SHELF_HIDDEN);
729 RunAllPendingInMessageLoop(); 740 RunAllPendingInMessageLoop();
730 741
731 // w3 is created while in full-screen mode, should only become visible when 742 // w3 is created while in full-screen mode, should only become visible when
(...skipping 25 matching lines...) Expand all
757 // Windows should be restored to their prior state. 768 // Windows should be restored to their prior state.
758 EXPECT_TRUE(w1->IsVisible()); 769 EXPECT_TRUE(w1->IsVisible());
759 EXPECT_FALSE(w2->IsVisible()); 770 EXPECT_FALSE(w2->IsVisible());
760 EXPECT_TRUE(w3->IsVisible()); 771 EXPECT_TRUE(w3->IsVisible());
761 } 772 }
762 773
763 // Verifies that touches along the attached edge of a panel do not 774 // Verifies that touches along the attached edge of a panel do not
764 // target the panel itself. 775 // target the panel itself.
765 TEST_F(PanelLayoutManagerTest, TouchHitTestPanel) { 776 TEST_F(PanelLayoutManagerTest, TouchHitTestPanel) {
766 aura::test::TestWindowDelegate delegate; 777 aura::test::TestWindowDelegate delegate;
767 scoped_ptr<aura::Window> w( 778 std::unique_ptr<aura::Window> w(
768 CreatePanelWindowWithDelegate(&delegate, gfx::Rect(0, 0, 200, 200))); 779 CreatePanelWindowWithDelegate(&delegate, gfx::Rect(0, 0, 200, 200)));
769 ui::EventTarget* root = w->GetRootWindow(); 780 ui::EventTarget* root = w->GetRootWindow();
770 ui::EventTargeter* targeter = root->GetEventTargeter(); 781 ui::EventTargeter* targeter = root->GetEventTargeter();
771 782
772 // Note that the constants used in the touch locations below are 783 // Note that the constants used in the touch locations below are
773 // arbitrarily-selected small numbers which will ensure the point is 784 // arbitrarily-selected small numbers which will ensure the point is
774 // within the default extended region surrounding the panel. This value 785 // within the default extended region surrounding the panel. This value
775 // is calculated as 786 // is calculated as
776 // kResizeOutsideBoundsSize * kResizeOutsideBoundsScaleForTouch 787 // kResizeOutsideBoundsSize * kResizeOutsideBoundsScaleForTouch
777 // in src/ash/root_window_controller.cc. 788 // in src/ash/root_window_controller.cc.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 // Hit test outside the left edge with a left-aligned shelf. 823 // Hit test outside the left edge with a left-aligned shelf.
813 touch.set_location(gfx::Point(bounds.x() - 1, bounds.y() + 5)); 824 touch.set_location(gfx::Point(bounds.x() - 1, bounds.y() + 5));
814 target = targeter->FindTargetForEvent(root, &touch); 825 target = targeter->FindTargetForEvent(root, &touch);
815 EXPECT_NE(w.get(), target); 826 EXPECT_NE(w.get(), target);
816 } 827 }
817 828
818 INSTANTIATE_TEST_CASE_P(LtrRtl, PanelLayoutManagerTextDirectionTest, 829 INSTANTIATE_TEST_CASE_P(LtrRtl, PanelLayoutManagerTextDirectionTest,
819 testing::Bool()); 830 testing::Bool());
820 831
821 } // namespace ash 832 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698