OLD | NEW |
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/shell.h" | 5 #include "ash/shell.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 SessionStateDelegate* delegate = | 344 SessionStateDelegate* delegate = |
345 Shell::GetInstance()->session_state_delegate(); | 345 Shell::GetInstance()->session_state_delegate(); |
346 delegate->LockScreen(); | 346 delegate->LockScreen(); |
347 EXPECT_TRUE(delegate->IsScreenLocked()); | 347 EXPECT_TRUE(delegate->IsScreenLocked()); |
348 delegate->UnlockScreen(); | 348 delegate->UnlockScreen(); |
349 EXPECT_FALSE(delegate->IsScreenLocked()); | 349 EXPECT_FALSE(delegate->IsScreenLocked()); |
350 } | 350 } |
351 | 351 |
352 TEST_F(ShellTest, LockScreenClosesActiveMenu) { | 352 TEST_F(ShellTest, LockScreenClosesActiveMenu) { |
353 SimpleMenuDelegate menu_delegate; | 353 SimpleMenuDelegate menu_delegate; |
354 scoped_ptr<ui::SimpleMenuModel> menu_model( | 354 std::unique_ptr<ui::SimpleMenuModel> menu_model( |
355 new ui::SimpleMenuModel(&menu_delegate)); | 355 new ui::SimpleMenuModel(&menu_delegate)); |
356 menu_model->AddItem(0, base::ASCIIToUTF16("Menu item")); | 356 menu_model->AddItem(0, base::ASCIIToUTF16("Menu item")); |
357 views::Widget* widget = ash::Shell::GetPrimaryRootWindowController()-> | 357 views::Widget* widget = ash::Shell::GetPrimaryRootWindowController()-> |
358 wallpaper_controller()->widget(); | 358 wallpaper_controller()->widget(); |
359 scoped_ptr<views::MenuRunner> menu_runner( | 359 std::unique_ptr<views::MenuRunner> menu_runner( |
360 new views::MenuRunner(menu_model.get(), views::MenuRunner::CONTEXT_MENU)); | 360 new views::MenuRunner(menu_model.get(), views::MenuRunner::CONTEXT_MENU)); |
361 | 361 |
362 // When MenuRunner runs a nested loop the LockScreenAndVerifyMenuClosed | 362 // When MenuRunner runs a nested loop the LockScreenAndVerifyMenuClosed |
363 // command will fire, check the menu state and ensure the nested menu loop | 363 // command will fire, check the menu state and ensure the nested menu loop |
364 // is exited so that the test will terminate. | 364 // is exited so that the test will terminate. |
365 base::ThreadTaskRunnerHandle::Get()->PostTask( | 365 base::ThreadTaskRunnerHandle::Get()->PostTask( |
366 FROM_HERE, base::Bind(&ShellTest::LockScreenAndVerifyMenuClosed, | 366 FROM_HERE, base::Bind(&ShellTest::LockScreenAndVerifyMenuClosed, |
367 base::Unretained(this))); | 367 base::Unretained(this))); |
368 | 368 |
369 EXPECT_EQ(views::MenuRunner::NORMAL_EXIT, | 369 EXPECT_EQ(views::MenuRunner::NORMAL_EXIT, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 Shell::GetPrimaryRootWindowController()-> | 439 Shell::GetPrimaryRootWindowController()-> |
440 GetShelfLayoutManager()->visibility_state()); | 440 GetShelfLayoutManager()->visibility_state()); |
441 | 441 |
442 // Clean up. | 442 // Clean up. |
443 widget->Close(); | 443 widget->Close(); |
444 } | 444 } |
445 | 445 |
446 // Various assertions around SetShelfAutoHideBehavior() and | 446 // Various assertions around SetShelfAutoHideBehavior() and |
447 // GetShelfAutoHideBehavior(). | 447 // GetShelfAutoHideBehavior(). |
448 TEST_F(ShellTest, ToggleAutoHide) { | 448 TEST_F(ShellTest, ToggleAutoHide) { |
449 scoped_ptr<aura::Window> window(new aura::Window(NULL)); | 449 std::unique_ptr<aura::Window> window(new aura::Window(NULL)); |
450 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); | 450 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); |
451 window->SetType(ui::wm::WINDOW_TYPE_NORMAL); | 451 window->SetType(ui::wm::WINDOW_TYPE_NORMAL); |
452 window->Init(ui::LAYER_TEXTURED); | 452 window->Init(ui::LAYER_TEXTURED); |
453 ParentWindowInPrimaryRootWindow(window.get()); | 453 ParentWindowInPrimaryRootWindow(window.get()); |
454 window->Show(); | 454 window->Show(); |
455 wm::ActivateWindow(window.get()); | 455 wm::ActivateWindow(window.get()); |
456 | 456 |
457 Shell* shell = Shell::GetInstance(); | 457 Shell* shell = Shell::GetInstance(); |
458 aura::Window* root_window = Shell::GetPrimaryRootWindow(); | 458 aura::Window* root_window = Shell::GetPrimaryRootWindow(); |
459 shell->SetShelfAutoHideBehavior(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, | 459 shell->SetShelfAutoHideBehavior(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 // is the case with a RenderWidgetHostViewAura that isn't on screen. As long as | 511 // is the case with a RenderWidgetHostViewAura that isn't on screen. As long as |
512 // everything is ok, we won't crash. If there is a bug, window's destructor will | 512 // everything is ok, we won't crash. If there is a bug, window's destructor will |
513 // notify some deleted object (say VideoDetector or ActivationController) and | 513 // notify some deleted object (say VideoDetector or ActivationController) and |
514 // this will crash. | 514 // this will crash. |
515 class ShellTest2 : public test::AshTestBase { | 515 class ShellTest2 : public test::AshTestBase { |
516 public: | 516 public: |
517 ShellTest2() {} | 517 ShellTest2() {} |
518 ~ShellTest2() override {} | 518 ~ShellTest2() override {} |
519 | 519 |
520 protected: | 520 protected: |
521 scoped_ptr<aura::Window> window_; | 521 std::unique_ptr<aura::Window> window_; |
522 | 522 |
523 private: | 523 private: |
524 DISALLOW_COPY_AND_ASSIGN(ShellTest2); | 524 DISALLOW_COPY_AND_ASSIGN(ShellTest2); |
525 }; | 525 }; |
526 | 526 |
527 TEST_F(ShellTest2, DontCrashWhenWindowDeleted) { | 527 TEST_F(ShellTest2, DontCrashWhenWindowDeleted) { |
528 window_.reset(new aura::Window(NULL)); | 528 window_.reset(new aura::Window(NULL)); |
529 window_->Init(ui::LAYER_NOT_DRAWN); | 529 window_->Init(ui::LAYER_NOT_DRAWN); |
530 } | 530 } |
531 | 531 |
532 } // namespace ash | 532 } // namespace ash |
OLD | NEW |