| 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.h" | 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 CommandLine::ForCurrentProcess()->AppendSwitch(switches::kMultiProfiles); | 792 CommandLine::ForCurrentProcess()->AppendSwitch(switches::kMultiProfiles); |
| 793 | 793 |
| 794 // Initialize the UserManager singleton to a fresh FakeUserManager instance. | 794 // Initialize the UserManager singleton to a fresh FakeUserManager instance. |
| 795 user_manager_enabler_.reset( | 795 user_manager_enabler_.reset( |
| 796 new chromeos::ScopedUserManagerEnabler(new chromeos::FakeUserManager)); | 796 new chromeos::ScopedUserManagerEnabler(new chromeos::FakeUserManager)); |
| 797 | 797 |
| 798 // Initialize the rest. | 798 // Initialize the rest. |
| 799 ChromeLauncherControllerTest::SetUp(); | 799 ChromeLauncherControllerTest::SetUp(); |
| 800 | 800 |
| 801 // Get some base objects. | 801 // Get some base objects. |
| 802 session_delegate_ = static_cast<ash::test::TestSessionStateDelegate*>( | 802 session_delegate()->set_logged_in_users(2); |
| 803 ash::Shell::GetInstance()->session_state_delegate()); | |
| 804 session_delegate_->set_logged_in_users(2); | |
| 805 shell_delegate_ = static_cast<ash::test::TestShellDelegate*>( | 803 shell_delegate_ = static_cast<ash::test::TestShellDelegate*>( |
| 806 ash::Shell::GetInstance()->delegate()); | 804 ash::Shell::GetInstance()->delegate()); |
| 807 shell_delegate_->set_multi_profiles_enabled(true); | 805 shell_delegate_->set_multi_profiles_enabled(true); |
| 808 } | 806 } |
| 809 | 807 |
| 810 virtual void TearDown() { | 808 virtual void TearDown() { |
| 811 ChromeLauncherControllerTest::TearDown(); | 809 ChromeLauncherControllerTest::TearDown(); |
| 812 user_manager_enabler_.reset(); | 810 user_manager_enabler_.reset(); |
| 813 for (ProfileToNameMap::iterator it = created_profiles_.begin(); | 811 for (ProfileToNameMap::iterator it = created_profiles_.begin(); |
| 814 it != created_profiles_.end(); ++it) | 812 it != created_profiles_.end(); ++it) |
| 815 profile_manager_->DeleteTestingProfile(it->second); | 813 profile_manager_->DeleteTestingProfile(it->second); |
| 816 | 814 |
| 817 // A Task is leaked if we don't destroy everything, then run the message | 815 // A Task is leaked if we don't destroy everything, then run the message |
| 818 // loop. | 816 // loop. |
| 819 base::MessageLoop::current()->PostTask(FROM_HERE, | 817 base::MessageLoop::current()->PostTask(FROM_HERE, |
| 820 base::MessageLoop::QuitClosure()); | 818 base::MessageLoop::QuitClosure()); |
| 821 base::MessageLoop::current()->Run(); | 819 base::MessageLoop::current()->Run(); |
| 822 } | 820 } |
| 823 | 821 |
| 824 // Creates a profile for a given |user_name|. Note that this class will keep | 822 // Creates a profile for a given |user_name|. Note that this class will keep |
| 825 // the ownership of the created object. | 823 // the ownership of the created object. |
| 826 TestingProfile* CreateMultiUserProfile(const std::string& user_name) { | 824 TestingProfile* CreateMultiUserProfile(const std::string& user_name) { |
| 827 std::string email_string = user_name + "@example.com"; | 825 std::string email_string = user_name + "@example.com"; |
| 828 | 826 static_cast<ash::test::TestSessionStateDelegate*>( |
| 827 ash::Shell::GetInstance()->session_state_delegate()) |
| 828 ->AddUser(email_string); |
| 829 // Add a user to the fake user manager. | 829 // Add a user to the fake user manager. |
| 830 session_delegate()->AddUser(email_string); |
| 830 GetFakeUserManager()->AddUser(email_string); | 831 GetFakeUserManager()->AddUser(email_string); |
| 831 | 832 |
| 832 GetFakeUserManager()->UserLoggedIn( | 833 GetFakeUserManager()->UserLoggedIn( |
| 833 email_string, | 834 email_string, |
| 834 email_string + kUserIdHashSuffix, | 835 email_string + kUserIdHashSuffix, |
| 835 false); | 836 false); |
| 836 | 837 |
| 837 std::string profile_name = | 838 std::string profile_name = |
| 838 chrome::kProfileDirPrefix + email_string + kUserIdHashSuffix; | 839 chrome::kProfileDirPrefix + email_string + kUserIdHashSuffix; |
| 839 TestingProfile* profile = profile_manager()->CreateTestingProfile( | 840 TestingProfile* profile = profile_manager()->CreateTestingProfile( |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 897 app_tab_helper->SetAppID( | 898 app_tab_helper->SetAppID( |
| 898 v1_app->browser()->tab_strip_model()->GetWebContentsAt(0), | 899 v1_app->browser()->tab_strip_model()->GetWebContentsAt(0), |
| 899 app_name); | 900 app_name); |
| 900 SetAppTabHelper(app_tab_helper); | 901 SetAppTabHelper(app_tab_helper); |
| 901 | 902 |
| 902 NavigateAndCommitActiveTabWithTitle( | 903 NavigateAndCommitActiveTabWithTitle( |
| 903 v1_app->browser(), GURL(url), ASCIIToUTF16("")); | 904 v1_app->browser(), GURL(url), ASCIIToUTF16("")); |
| 904 return v1_app; | 905 return v1_app; |
| 905 } | 906 } |
| 906 | 907 |
| 907 ash::test::TestSessionStateDelegate* | 908 ash::test::TestSessionStateDelegate* session_delegate() { |
| 908 session_delegate() { return session_delegate_; } | 909 return static_cast<ash::test::TestSessionStateDelegate*>( |
| 910 ash::Shell::GetInstance()->session_state_delegate()); |
| 911 } |
| 909 ash::test::TestShellDelegate* shell_delegate() { return shell_delegate_; } | 912 ash::test::TestShellDelegate* shell_delegate() { return shell_delegate_; } |
| 910 | 913 |
| 911 // Override BrowserWithTestWindowTest: | 914 // Override BrowserWithTestWindowTest: |
| 912 virtual TestingProfile* CreateProfile() OVERRIDE { | 915 virtual TestingProfile* CreateProfile() OVERRIDE { |
| 913 return CreateMultiUserProfile("user1"); | 916 return CreateMultiUserProfile("user1"); |
| 914 } | 917 } |
| 915 virtual void DestroyProfile(TestingProfile* profile) OVERRIDE { | 918 virtual void DestroyProfile(TestingProfile* profile) OVERRIDE { |
| 916 // Delete the profile through our profile manager. | 919 // Delete the profile through our profile manager. |
| 917 ProfileToNameMap::iterator it = created_profiles_.find(profile); | 920 ProfileToNameMap::iterator it = created_profiles_.find(profile); |
| 918 DCHECK(it != created_profiles_.end()); | 921 DCHECK(it != created_profiles_.end()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 929 TestingProfileManager* profile_manager() { return profile_manager_.get(); } | 932 TestingProfileManager* profile_manager() { return profile_manager_.get(); } |
| 930 | 933 |
| 931 chromeos::FakeUserManager* GetFakeUserManager() { | 934 chromeos::FakeUserManager* GetFakeUserManager() { |
| 932 return static_cast<chromeos::FakeUserManager*>( | 935 return static_cast<chromeos::FakeUserManager*>( |
| 933 chromeos::UserManager::Get()); | 936 chromeos::UserManager::Get()); |
| 934 } | 937 } |
| 935 | 938 |
| 936 scoped_ptr<TestingProfileManager> profile_manager_; | 939 scoped_ptr<TestingProfileManager> profile_manager_; |
| 937 scoped_ptr<chromeos::ScopedUserManagerEnabler> user_manager_enabler_; | 940 scoped_ptr<chromeos::ScopedUserManagerEnabler> user_manager_enabler_; |
| 938 | 941 |
| 939 ash::test::TestSessionStateDelegate* session_delegate_; | |
| 940 ash::test::TestShellDelegate* shell_delegate_; | 942 ash::test::TestShellDelegate* shell_delegate_; |
| 941 | 943 |
| 942 ProfileToNameMap created_profiles_; | 944 ProfileToNameMap created_profiles_; |
| 943 | 945 |
| 944 DISALLOW_COPY_AND_ASSIGN( | 946 DISALLOW_COPY_AND_ASSIGN( |
| 945 MultiProfileMultiBrowserShelfLayoutChromeLauncherControllerTest); | 947 MultiProfileMultiBrowserShelfLayoutChromeLauncherControllerTest); |
| 946 }; | 948 }; |
| 947 #endif // defined(OS_CHROMEOS) | 949 #endif // defined(OS_CHROMEOS) |
| 948 | 950 |
| 949 | 951 |
| (...skipping 1747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2697 | 2699 |
| 2698 EXPECT_EQ(1, app_icon_loader->fetch_count()); | 2700 EXPECT_EQ(1, app_icon_loader->fetch_count()); |
| 2699 ASSERT_EQ(initial_size + 1, model_->items().size()); | 2701 ASSERT_EQ(initial_size + 1, model_->items().size()); |
| 2700 EXPECT_TRUE(launcher_controller_->IsAppPinned("1")); | 2702 EXPECT_TRUE(launcher_controller_->IsAppPinned("1")); |
| 2701 EXPECT_FALSE(launcher_controller_->IsAppPinned("0")); | 2703 EXPECT_FALSE(launcher_controller_->IsAppPinned("0")); |
| 2702 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[app_index].type); | 2704 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[app_index].type); |
| 2703 | 2705 |
| 2704 launcher_controller_->UnpinAppWithID("1"); | 2706 launcher_controller_->UnpinAppWithID("1"); |
| 2705 ASSERT_EQ(initial_size, model_->items().size()); | 2707 ASSERT_EQ(initial_size, model_->items().size()); |
| 2706 } | 2708 } |
| OLD | NEW |