OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/ui/ash/launcher/chrome_launcher_controller_impl.h" | 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <map> | 10 #include <map> |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" | 42 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" |
43 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" | 43 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" |
44 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" | 44 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
45 #include "chrome/browser/extensions/extension_service.h" | 45 #include "chrome/browser/extensions/extension_service.h" |
46 #include "chrome/browser/extensions/test_extension_system.h" | 46 #include "chrome/browser/extensions/test_extension_system.h" |
47 #include "chrome/browser/lifetime/scoped_keep_alive.h" | 47 #include "chrome/browser/lifetime/scoped_keep_alive.h" |
48 #include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h" | 48 #include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h" |
49 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" | 49 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" |
50 #include "chrome/browser/ui/app_list/arc/arc_app_test.h" | 50 #include "chrome/browser/ui/app_list/arc/arc_app_test.h" |
51 #include "chrome/browser/ui/app_list/arc/arc_app_utils.h" | 51 #include "chrome/browser/ui/app_list/arc/arc_app_utils.h" |
| 52 #include "chrome/browser/ui/app_list/arc/arc_default_app_list.h" |
52 #include "chrome/browser/ui/apps/chrome_app_delegate.h" | 53 #include "chrome/browser/ui/apps/chrome_app_delegate.h" |
53 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h" | 54 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h" |
54 #include "chrome/browser/ui/ash/launcher/app_window_launcher_controller.h" | 55 #include "chrome/browser/ui/ash/launcher/app_window_launcher_controller.h" |
| 56 #include "chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h" |
55 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h" | 57 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h" |
56 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_util.h" | 58 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_util.h" |
57 #include "chrome/browser/ui/ash/launcher/extension_app_window_launcher_item_cont
roller.h" | 59 #include "chrome/browser/ui/ash/launcher/extension_app_window_launcher_item_cont
roller.h" |
58 #include "chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h" | 60 #include "chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h" |
59 #include "chrome/browser/ui/ash/launcher/launcher_controller_helper.h" | 61 #include "chrome/browser/ui/ash/launcher/launcher_controller_helper.h" |
60 #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h" | 62 #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h" |
61 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" | 63 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" |
62 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" | 64 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" |
63 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h" | 65 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h" |
64 #include "chrome/browser/ui/browser.h" | 66 #include "chrome/browser/ui/browser.h" |
(...skipping 3597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3662 | 3664 |
3663 views::Widget* window_none_ = nullptr; | 3665 views::Widget* window_none_ = nullptr; |
3664 views::Widget* window_landscape_ = nullptr; | 3666 views::Widget* window_landscape_ = nullptr; |
3665 views::Widget* window_portrait_ = nullptr; | 3667 views::Widget* window_portrait_ = nullptr; |
3666 views::Widget* window_current_ = nullptr; | 3668 views::Widget* window_current_ = nullptr; |
3667 | 3669 |
3668 private: | 3670 private: |
3669 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerOrientationTest); | 3671 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerOrientationTest); |
3670 }; | 3672 }; |
3671 | 3673 |
| 3674 class ChromeLauncherControllerArcDefaultAppsTest |
| 3675 : public ChromeLauncherControllerImplTest { |
| 3676 public: |
| 3677 ChromeLauncherControllerArcDefaultAppsTest() {} |
| 3678 ~ChromeLauncherControllerArcDefaultAppsTest() override {} |
| 3679 |
| 3680 protected: |
| 3681 void SetUp() override { |
| 3682 ArcDefaultAppList::UseTestAppsDirectory(); |
| 3683 ChromeLauncherControllerImplTest::SetUp(); |
| 3684 } |
| 3685 |
| 3686 private: |
| 3687 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerArcDefaultAppsTest); |
| 3688 }; |
| 3689 |
3672 } // namespace | 3690 } // namespace |
3673 | 3691 |
3674 TEST_F(ChromeLauncherControllerOrientationTest, ArcOrientationLock) { | 3692 TEST_F(ChromeLauncherControllerOrientationTest, ArcOrientationLock) { |
3675 ASSERT_TRUE(display::Display::HasInternalDisplay()); | 3693 ASSERT_TRUE(display::Display::HasInternalDisplay()); |
3676 | 3694 |
3677 extension_service_->AddExtension(arc_support_host_.get()); | 3695 extension_service_->AddExtension(arc_support_host_.get()); |
3678 EnableArc(true); | 3696 EnableArc(true); |
3679 EnableTabletMode(true); | 3697 EnableTabletMode(true); |
3680 | 3698 |
3681 InitLauncherController(); | 3699 InitLauncherController(); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3823 EXPECT_FALSE(controller->rotation_locked()); | 3841 EXPECT_FALSE(controller->rotation_locked()); |
3824 EXPECT_EQ(display::Display::ROTATE_0, | 3842 EXPECT_EQ(display::Display::ROTATE_0, |
3825 display::Screen::GetScreen()->GetPrimaryDisplay().rotation()); | 3843 display::Screen::GetScreen()->GetPrimaryDisplay().rotation()); |
3826 | 3844 |
3827 NotifyOnTaskOrientationLockRequested(task_id_current_, | 3845 NotifyOnTaskOrientationLockRequested(task_id_current_, |
3828 OrientationLock::CURRENT); | 3846 OrientationLock::CURRENT); |
3829 EXPECT_TRUE(controller->rotation_locked()); | 3847 EXPECT_TRUE(controller->rotation_locked()); |
3830 EXPECT_EQ(display::Display::ROTATE_0, | 3848 EXPECT_EQ(display::Display::ROTATE_0, |
3831 display::Screen::GetScreen()->GetPrimaryDisplay().rotation()); | 3849 display::Screen::GetScreen()->GetPrimaryDisplay().rotation()); |
3832 } | 3850 } |
| 3851 |
| 3852 TEST_F(ChromeLauncherControllerArcDefaultAppsTest, DefaultApps) { |
| 3853 arc_test_.SetUp(profile()); |
| 3854 InitLauncherController(); |
| 3855 ChromeLauncherController::set_instance(launcher_controller_.get()); |
| 3856 |
| 3857 ArcAppListPrefs* const prefs = arc_test_.arc_app_list_prefs(); |
| 3858 EnableArc(false); |
| 3859 EXPECT_FALSE(arc_test_.arc_auth_service()->IsArcEnabled()); |
| 3860 ASSERT_TRUE(prefs->GetAppIds().size()); |
| 3861 |
| 3862 const std::string app_id = |
| 3863 ArcAppTest::GetAppId(arc_test_.fake_default_apps()[0]); |
| 3864 EXPECT_EQ(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
| 3865 EXPECT_TRUE(arc::LaunchApp(profile(), app_id)); |
| 3866 EXPECT_TRUE(arc_test_.arc_auth_service()->IsArcEnabled()); |
| 3867 EXPECT_NE(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
| 3868 |
| 3869 // Stop Arc again. Shelf item should go away. |
| 3870 EnableArc(false); |
| 3871 EXPECT_EQ(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
| 3872 |
| 3873 EXPECT_TRUE(arc::LaunchApp(profile(), app_id)); |
| 3874 EXPECT_TRUE(arc_test_.arc_auth_service()->IsArcEnabled()); |
| 3875 |
| 3876 EXPECT_NE(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
| 3877 EXPECT_TRUE(launcher_controller_->GetArcDeferredLauncher()->HasApp(app_id)); |
| 3878 |
| 3879 std::string window_app_id("org.chromium.arc.1"); |
| 3880 CreateArcWindow(window_app_id); |
| 3881 arc_test_.app_instance()->SendTaskCreated(1, |
| 3882 arc_test_.fake_default_apps()[0]); |
| 3883 |
| 3884 EXPECT_NE(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
| 3885 EXPECT_FALSE(launcher_controller_->GetArcDeferredLauncher()->HasApp(app_id)); |
| 3886 } |
OLD | NEW |