| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 #include "base/win/windows_version.h" | 79 #include "base/win/windows_version.h" |
| 80 #endif | 80 #endif |
| 81 | 81 |
| 82 using extensions::Extension; | 82 using extensions::Extension; |
| 83 | 83 |
| 84 namespace { | 84 namespace { |
| 85 | 85 |
| 86 // Check that there are two browsers. Find the one that is not |browser|. | 86 // Check that there are two browsers. Find the one that is not |browser|. |
| 87 Browser* FindOneOtherBrowser(Browser* browser) { | 87 Browser* FindOneOtherBrowser(Browser* browser) { |
| 88 // There should only be one other browser. | 88 // There should only be one other browser. |
| 89 EXPECT_EQ(2u, chrome::GetBrowserCount(browser->profile(), | 89 EXPECT_EQ(2u, chrome::GetBrowserCount(browser->profile())); |
| 90 browser->host_desktop_type())); | |
| 91 | 90 |
| 92 // Find the new browser. | 91 // Find the new browser. |
| 93 Browser* other_browser = NULL; | 92 Browser* other_browser = NULL; |
| 94 for (auto* b : *BrowserList::GetInstance()) { | 93 for (auto* b : *BrowserList::GetInstance()) { |
| 95 if (b != browser) | 94 if (b != browser) |
| 96 other_browser = b; | 95 other_browser = b; |
| 97 } | 96 } |
| 98 return other_browser; | 97 return other_browser; |
| 99 } | 98 } |
| 100 | 99 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 const Extension** out_app_extension) { | 168 const Extension** out_app_extension) { |
| 170 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII(app_name.c_str()))); | 169 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII(app_name.c_str()))); |
| 171 | 170 |
| 172 ExtensionService* service = extensions::ExtensionSystem::Get( | 171 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 173 browser()->profile())->extension_service(); | 172 browser()->profile())->extension_service(); |
| 174 *out_app_extension = service->GetExtensionById( | 173 *out_app_extension = service->GetExtensionById( |
| 175 last_loaded_extension_id(), false); | 174 last_loaded_extension_id(), false); |
| 176 ASSERT_TRUE(*out_app_extension); | 175 ASSERT_TRUE(*out_app_extension); |
| 177 | 176 |
| 178 // Code that opens a new browser assumes we start with exactly one. | 177 // Code that opens a new browser assumes we start with exactly one. |
| 179 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), | 178 ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile())); |
| 180 browser()->host_desktop_type())); | |
| 181 } | 179 } |
| 182 | 180 |
| 183 void SetAppLaunchPref(const std::string& app_id, | 181 void SetAppLaunchPref(const std::string& app_id, |
| 184 extensions::LaunchType launch_type) { | 182 extensions::LaunchType launch_type) { |
| 185 extensions::SetLaunchType(browser()->profile(), app_id, launch_type); | 183 extensions::SetLaunchType(browser()->profile(), app_id, launch_type); |
| 186 } | 184 } |
| 187 | 185 |
| 188 Browser* FindOneOtherBrowserForProfile(Profile* profile, | 186 Browser* FindOneOtherBrowserForProfile(Profile* profile, |
| 189 Browser* not_this_browser) { | 187 Browser* not_this_browser) { |
| 190 for (auto* browser : *BrowserList::GetInstance()) { | 188 for (auto* browser : *BrowserList::GetInstance()) { |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 { | 323 { |
| 326 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); | 324 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); |
| 327 ASSERT_TRUE(launch.Launch(profile, std::vector<GURL>(), false, | 325 ASSERT_TRUE(launch.Launch(profile, std::vector<GURL>(), false, |
| 328 host_desktop_type)); | 326 host_desktop_type)); |
| 329 } | 327 } |
| 330 | 328 |
| 331 // Find the new browser and ensure that it has only the specified URLs this | 329 // Find the new browser and ensure that it has only the specified URLs this |
| 332 // time. Both the original browser created by the fixture and the one | 330 // time. Both the original browser created by the fixture and the one |
| 333 // created above have been closed, so the new browser is the only one | 331 // created above have been closed, so the new browser is the only one |
| 334 // remaining. | 332 // remaining. |
| 335 new_browser = FindTabbedBrowser(profile, true, host_desktop_type); | 333 new_browser = chrome::FindTabbedBrowser(profile, true); |
| 336 ASSERT_TRUE(new_browser); | 334 ASSERT_TRUE(new_browser); |
| 337 ASSERT_EQ(static_cast<int>(urls.size()), | 335 ASSERT_EQ(static_cast<int>(urls.size()), |
| 338 new_browser->tab_strip_model()->count()); | 336 new_browser->tab_strip_model()->count()); |
| 339 } | 337 } |
| 340 | 338 |
| 341 g_browser_process->ReleaseModule(); | 339 g_browser_process->ReleaseModule(); |
| 342 } | 340 } |
| 343 | 341 |
| 344 // Verify that startup URLs aren't used when the process already exists | 342 // Verify that startup URLs aren't used when the process already exists |
| 345 // and has other tabbed browser windows. This is the common case of starting a | 343 // and has other tabbed browser windows. This is the common case of starting a |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); | 475 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| 478 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); | 476 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); |
| 479 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 477 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 480 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 478 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 481 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); | 479 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); |
| 482 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 480 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 483 browser()->host_desktop_type())); | 481 browser()->host_desktop_type())); |
| 484 | 482 |
| 485 // When an app shortcut is open and the pref indicates a tab should | 483 // When an app shortcut is open and the pref indicates a tab should |
| 486 // open, the tab is open in a new browser window. Expect a new window. | 484 // open, the tab is open in a new browser window. Expect a new window. |
| 487 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), | 485 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile())); |
| 488 browser()->host_desktop_type())); | |
| 489 | 486 |
| 490 Browser* new_browser = FindOneOtherBrowser(browser()); | 487 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 491 ASSERT_TRUE(new_browser); | 488 ASSERT_TRUE(new_browser); |
| 492 | 489 |
| 493 // The tab should be in a tabbed window. | 490 // The tab should be in a tabbed window. |
| 494 EXPECT_TRUE(new_browser->is_type_tabbed()); | 491 EXPECT_TRUE(new_browser->is_type_tabbed()); |
| 495 | 492 |
| 496 // The browser's app_name should not include the app's ID: It is in a | 493 // The browser's app_name should not include the app's ID: It is in a |
| 497 // normal browser. | 494 // normal browser. |
| 498 EXPECT_EQ( | 495 EXPECT_EQ( |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 last_opened_profiles.push_back(default_profile); | 789 last_opened_profiles.push_back(default_profile); |
| 793 last_opened_profiles.push_back(other_profile); | 790 last_opened_profiles.push_back(other_profile); |
| 794 browser_creator.Start(dummy, profile_manager->user_data_dir(), | 791 browser_creator.Start(dummy, profile_manager->user_data_dir(), |
| 795 default_profile, last_opened_profiles); | 792 default_profile, last_opened_profiles); |
| 796 | 793 |
| 797 // urls1 were opened in a browser for default_profile, and urls2 were opened | 794 // urls1 were opened in a browser for default_profile, and urls2 were opened |
| 798 // in a browser for other_profile. | 795 // in a browser for other_profile. |
| 799 Browser* new_browser = NULL; | 796 Browser* new_browser = NULL; |
| 800 // |browser()| is still around at this point, even though we've closed its | 797 // |browser()| is still around at this point, even though we've closed its |
| 801 // window. Thus the browser count for default_profile is 2. | 798 // window. Thus the browser count for default_profile is 2. |
| 802 ASSERT_EQ(2u, chrome::GetBrowserCount(default_profile, | 799 ASSERT_EQ(2u, chrome::GetBrowserCount(default_profile)); |
| 803 browser()->host_desktop_type())); | |
| 804 new_browser = FindOneOtherBrowserForProfile(default_profile, browser()); | 800 new_browser = FindOneOtherBrowserForProfile(default_profile, browser()); |
| 805 ASSERT_TRUE(new_browser); | 801 ASSERT_TRUE(new_browser); |
| 806 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 802 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| 807 if (IsWindows10OrNewer()) { | 803 if (IsWindows10OrNewer()) { |
| 808 // The new browser should have the welcome tab and the URL for the profile. | 804 // The new browser should have the welcome tab and the URL for the profile. |
| 809 ASSERT_EQ(2, tab_strip->count()); | 805 ASSERT_EQ(2, tab_strip->count()); |
| 810 EXPECT_EQ(GURL(internals::GetWelcomePageURL()), | 806 EXPECT_EQ(GURL(internals::GetWelcomePageURL()), |
| 811 tab_strip->GetWebContentsAt(0)->GetURL()); | 807 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 812 EXPECT_EQ(urls1[0], tab_strip->GetWebContentsAt(1)->GetURL()); | 808 EXPECT_EQ(urls1[0], tab_strip->GetWebContentsAt(1)->GetURL()); |
| 813 } else { | 809 } else { |
| 814 // The new browser should have only the desired URL for the profile. | 810 // The new browser should have only the desired URL for the profile. |
| 815 ASSERT_EQ(1, tab_strip->count()); | 811 ASSERT_EQ(1, tab_strip->count()); |
| 816 EXPECT_EQ(urls1[0], tab_strip->GetWebContentsAt(0)->GetURL()); | 812 EXPECT_EQ(urls1[0], tab_strip->GetWebContentsAt(0)->GetURL()); |
| 817 } | 813 } |
| 818 | 814 |
| 819 ASSERT_EQ(1u, chrome::GetBrowserCount(other_profile, | 815 ASSERT_EQ(1u, chrome::GetBrowserCount(other_profile)); |
| 820 browser()->host_desktop_type())); | |
| 821 new_browser = FindOneOtherBrowserForProfile(other_profile, NULL); | 816 new_browser = FindOneOtherBrowserForProfile(other_profile, NULL); |
| 822 ASSERT_TRUE(new_browser); | 817 ASSERT_TRUE(new_browser); |
| 823 tab_strip = new_browser->tab_strip_model(); | 818 tab_strip = new_browser->tab_strip_model(); |
| 824 ASSERT_EQ(1, tab_strip->count()); | 819 ASSERT_EQ(1, tab_strip->count()); |
| 825 EXPECT_EQ(urls2[0], tab_strip->GetWebContentsAt(0)->GetURL()); | 820 EXPECT_EQ(urls2[0], tab_strip->GetWebContentsAt(0)->GetURL()); |
| 826 } | 821 } |
| 827 | 822 |
| 828 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, PRE_UpdateWithTwoProfiles) { | 823 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, PRE_UpdateWithTwoProfiles) { |
| 829 // Simulate a browser restart by creating the profiles in the PRE_ part. | 824 // Simulate a browser restart by creating the profiles in the PRE_ part. |
| 830 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 825 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 922 while (SessionRestore::IsRestoring(profile1) || | 917 while (SessionRestore::IsRestoring(profile1) || |
| 923 SessionRestore::IsRestoring(profile2)) | 918 SessionRestore::IsRestoring(profile2)) |
| 924 base::MessageLoop::current()->RunUntilIdle(); | 919 base::MessageLoop::current()->RunUntilIdle(); |
| 925 | 920 |
| 926 // The startup URLs are ignored, and instead the last open sessions are | 921 // The startup URLs are ignored, and instead the last open sessions are |
| 927 // restored. | 922 // restored. |
| 928 EXPECT_TRUE(profile1->restored_last_session()); | 923 EXPECT_TRUE(profile1->restored_last_session()); |
| 929 EXPECT_TRUE(profile2->restored_last_session()); | 924 EXPECT_TRUE(profile2->restored_last_session()); |
| 930 | 925 |
| 931 Browser* new_browser = NULL; | 926 Browser* new_browser = NULL; |
| 932 ASSERT_EQ(1u, chrome::GetBrowserCount(profile1, | 927 ASSERT_EQ(1u, chrome::GetBrowserCount(profile1)); |
| 933 browser()->host_desktop_type())); | |
| 934 new_browser = FindOneOtherBrowserForProfile(profile1, NULL); | 928 new_browser = FindOneOtherBrowserForProfile(profile1, NULL); |
| 935 ASSERT_TRUE(new_browser); | 929 ASSERT_TRUE(new_browser); |
| 936 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 930 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| 937 ASSERT_EQ(1, tab_strip->count()); | 931 ASSERT_EQ(1, tab_strip->count()); |
| 938 EXPECT_EQ("/empty.html", tab_strip->GetWebContentsAt(0)->GetURL().path()); | 932 EXPECT_EQ("/empty.html", tab_strip->GetWebContentsAt(0)->GetURL().path()); |
| 939 | 933 |
| 940 ASSERT_EQ(1u, chrome::GetBrowserCount(profile2, | 934 ASSERT_EQ(1u, chrome::GetBrowserCount(profile2)); |
| 941 browser()->host_desktop_type())); | |
| 942 new_browser = FindOneOtherBrowserForProfile(profile2, NULL); | 935 new_browser = FindOneOtherBrowserForProfile(profile2, NULL); |
| 943 ASSERT_TRUE(new_browser); | 936 ASSERT_TRUE(new_browser); |
| 944 tab_strip = new_browser->tab_strip_model(); | 937 tab_strip = new_browser->tab_strip_model(); |
| 945 ASSERT_EQ(1, tab_strip->count()); | 938 ASSERT_EQ(1, tab_strip->count()); |
| 946 EXPECT_EQ("/form.html", tab_strip->GetWebContentsAt(0)->GetURL().path()); | 939 EXPECT_EQ("/form.html", tab_strip->GetWebContentsAt(0)->GetURL().path()); |
| 947 } | 940 } |
| 948 | 941 |
| 949 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, | 942 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, |
| 950 ProfilesWithoutPagesNotLaunched) { | 943 ProfilesWithoutPagesNotLaunched) { |
| 951 #if defined(OS_WIN) && defined(USE_ASH) | 944 #if defined(OS_WIN) && defined(USE_ASH) |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1000 // Open a page with profile_last. | 993 // Open a page with profile_last. |
| 1001 Browser* browser_last = new Browser( | 994 Browser* browser_last = new Browser( |
| 1002 Browser::CreateParams(Browser::TYPE_TABBED, profile_last, | 995 Browser::CreateParams(Browser::TYPE_TABBED, profile_last, |
| 1003 browser()->host_desktop_type())); | 996 browser()->host_desktop_type())); |
| 1004 chrome::NewTab(browser_last); | 997 chrome::NewTab(browser_last); |
| 1005 ui_test_utils::NavigateToURL(browser_last, | 998 ui_test_utils::NavigateToURL(browser_last, |
| 1006 embedded_test_server()->GetURL("/empty.html")); | 999 embedded_test_server()->GetURL("/empty.html")); |
| 1007 CloseBrowserAsynchronously(browser_last); | 1000 CloseBrowserAsynchronously(browser_last); |
| 1008 | 1001 |
| 1009 // Close the main browser. | 1002 // Close the main browser. |
| 1010 chrome::HostDesktopType original_desktop_type = | |
| 1011 browser()->host_desktop_type(); | |
| 1012 CloseBrowserAsynchronously(browser()); | 1003 CloseBrowserAsynchronously(browser()); |
| 1013 | 1004 |
| 1014 // Do a simple non-process-startup browser launch. | 1005 // Do a simple non-process-startup browser launch. |
| 1015 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); | 1006 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1016 | 1007 |
| 1017 StartupBrowserCreator browser_creator; | 1008 StartupBrowserCreator browser_creator; |
| 1018 std::vector<Profile*> last_opened_profiles; | 1009 std::vector<Profile*> last_opened_profiles; |
| 1019 last_opened_profiles.push_back(profile_home1); | 1010 last_opened_profiles.push_back(profile_home1); |
| 1020 last_opened_profiles.push_back(profile_home2); | 1011 last_opened_profiles.push_back(profile_home2); |
| 1021 last_opened_profiles.push_back(profile_last); | 1012 last_opened_profiles.push_back(profile_last); |
| 1022 last_opened_profiles.push_back(profile_urls); | 1013 last_opened_profiles.push_back(profile_urls); |
| 1023 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile_home1, | 1014 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile_home1, |
| 1024 last_opened_profiles); | 1015 last_opened_profiles); |
| 1025 | 1016 |
| 1026 while (SessionRestore::IsRestoring(default_profile) || | 1017 while (SessionRestore::IsRestoring(default_profile) || |
| 1027 SessionRestore::IsRestoring(profile_home1) || | 1018 SessionRestore::IsRestoring(profile_home1) || |
| 1028 SessionRestore::IsRestoring(profile_home2) || | 1019 SessionRestore::IsRestoring(profile_home2) || |
| 1029 SessionRestore::IsRestoring(profile_last) || | 1020 SessionRestore::IsRestoring(profile_last) || |
| 1030 SessionRestore::IsRestoring(profile_urls)) | 1021 SessionRestore::IsRestoring(profile_urls)) |
| 1031 base::MessageLoop::current()->RunUntilIdle(); | 1022 base::MessageLoop::current()->RunUntilIdle(); |
| 1032 | 1023 |
| 1033 Browser* new_browser = NULL; | 1024 Browser* new_browser = NULL; |
| 1034 // The last open profile (the profile_home1 in this case) will always be | 1025 // The last open profile (the profile_home1 in this case) will always be |
| 1035 // launched, even if it will open just the NTP (and the welcome page on | 1026 // launched, even if it will open just the NTP (and the welcome page on |
| 1036 // relevant platforms). | 1027 // relevant platforms). |
| 1037 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_home1, original_desktop_type)); | 1028 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_home1)); |
| 1038 new_browser = FindOneOtherBrowserForProfile(profile_home1, NULL); | 1029 new_browser = FindOneOtherBrowserForProfile(profile_home1, NULL); |
| 1039 ASSERT_TRUE(new_browser); | 1030 ASSERT_TRUE(new_browser); |
| 1040 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 1031 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| 1041 if (IsWindows10OrNewer()) { | 1032 if (IsWindows10OrNewer()) { |
| 1042 // The new browser should have the welcome tab and the NTP. | 1033 // The new browser should have the welcome tab and the NTP. |
| 1043 ASSERT_EQ(2, tab_strip->count()); | 1034 ASSERT_EQ(2, tab_strip->count()); |
| 1044 EXPECT_EQ(GURL(internals::GetWelcomePageURL()), | 1035 EXPECT_EQ(GURL(internals::GetWelcomePageURL()), |
| 1045 tab_strip->GetWebContentsAt(0)->GetURL()); | 1036 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 1046 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 1037 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 1047 tab_strip->GetWebContentsAt(1)->GetURL()); | 1038 tab_strip->GetWebContentsAt(1)->GetURL()); |
| 1048 } else { | 1039 } else { |
| 1049 // The new browser should have only the NTP. | 1040 // The new browser should have only the NTP. |
| 1050 ASSERT_EQ(1, tab_strip->count()); | 1041 ASSERT_EQ(1, tab_strip->count()); |
| 1051 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 1042 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 1052 tab_strip->GetWebContentsAt(0)->GetURL()); | 1043 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 1053 } | 1044 } |
| 1054 | 1045 |
| 1055 // profile_urls opened the urls. | 1046 // profile_urls opened the urls. |
| 1056 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_urls, original_desktop_type)); | 1047 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_urls)); |
| 1057 new_browser = FindOneOtherBrowserForProfile(profile_urls, NULL); | 1048 new_browser = FindOneOtherBrowserForProfile(profile_urls, NULL); |
| 1058 ASSERT_TRUE(new_browser); | 1049 ASSERT_TRUE(new_browser); |
| 1059 tab_strip = new_browser->tab_strip_model(); | 1050 tab_strip = new_browser->tab_strip_model(); |
| 1060 ASSERT_EQ(1, tab_strip->count()); | 1051 ASSERT_EQ(1, tab_strip->count()); |
| 1061 EXPECT_EQ(urls[0], tab_strip->GetWebContentsAt(0)->GetURL()); | 1052 EXPECT_EQ(urls[0], tab_strip->GetWebContentsAt(0)->GetURL()); |
| 1062 | 1053 |
| 1063 // profile_last opened the last open pages. | 1054 // profile_last opened the last open pages. |
| 1064 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_last, original_desktop_type)); | 1055 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_last)); |
| 1065 new_browser = FindOneOtherBrowserForProfile(profile_last, NULL); | 1056 new_browser = FindOneOtherBrowserForProfile(profile_last, NULL); |
| 1066 ASSERT_TRUE(new_browser); | 1057 ASSERT_TRUE(new_browser); |
| 1067 tab_strip = new_browser->tab_strip_model(); | 1058 tab_strip = new_browser->tab_strip_model(); |
| 1068 ASSERT_EQ(1, tab_strip->count()); | 1059 ASSERT_EQ(1, tab_strip->count()); |
| 1069 EXPECT_EQ("/empty.html", tab_strip->GetWebContentsAt(0)->GetURL().path()); | 1060 EXPECT_EQ("/empty.html", tab_strip->GetWebContentsAt(0)->GetURL().path()); |
| 1070 | 1061 |
| 1071 // profile_home2 was not launched since it would've only opened the home page. | 1062 // profile_home2 was not launched since it would've only opened the home page. |
| 1072 ASSERT_EQ(0u, chrome::GetBrowserCount(profile_home2, original_desktop_type)); | 1063 ASSERT_EQ(0u, chrome::GetBrowserCount(profile_home2)); |
| 1073 } | 1064 } |
| 1074 | 1065 |
| 1075 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ProfilesLaunchedAfterCrash) { | 1066 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ProfilesLaunchedAfterCrash) { |
| 1076 #if defined(OS_WIN) && defined(USE_ASH) | 1067 #if defined(OS_WIN) && defined(USE_ASH) |
| 1077 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 1068 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 1078 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 1069 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 1079 switches::kAshBrowserTests)) | 1070 switches::kAshBrowserTests)) |
| 1080 return; | 1071 return; |
| 1081 #endif | 1072 #endif |
| 1082 | 1073 |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 | 1141 |
| 1151 // No profiles are getting restored, since they all display the crash info | 1142 // No profiles are getting restored, since they all display the crash info |
| 1152 // bar. | 1143 // bar. |
| 1153 EXPECT_FALSE(SessionRestore::IsRestoring(profile_home)); | 1144 EXPECT_FALSE(SessionRestore::IsRestoring(profile_home)); |
| 1154 EXPECT_FALSE(SessionRestore::IsRestoring(profile_last)); | 1145 EXPECT_FALSE(SessionRestore::IsRestoring(profile_last)); |
| 1155 EXPECT_FALSE(SessionRestore::IsRestoring(profile_urls)); | 1146 EXPECT_FALSE(SessionRestore::IsRestoring(profile_urls)); |
| 1156 | 1147 |
| 1157 // The profile which normally opens the home page displays the new tab page. | 1148 // The profile which normally opens the home page displays the new tab page. |
| 1158 // The welcome page is also shown for relevant platforms. | 1149 // The welcome page is also shown for relevant platforms. |
| 1159 Browser* new_browser = NULL; | 1150 Browser* new_browser = NULL; |
| 1160 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_home, | 1151 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_home)); |
| 1161 browser()->host_desktop_type())); | |
| 1162 new_browser = FindOneOtherBrowserForProfile(profile_home, NULL); | 1152 new_browser = FindOneOtherBrowserForProfile(profile_home, NULL); |
| 1163 ASSERT_TRUE(new_browser); | 1153 ASSERT_TRUE(new_browser); |
| 1164 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 1154 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| 1165 if (IsWindows10OrNewer()) { | 1155 if (IsWindows10OrNewer()) { |
| 1166 // The new browser should have the welcome tab and the NTP. | 1156 // The new browser should have the welcome tab and the NTP. |
| 1167 ASSERT_EQ(2, tab_strip->count()); | 1157 ASSERT_EQ(2, tab_strip->count()); |
| 1168 EXPECT_EQ(GURL(internals::GetWelcomePageURL()), | 1158 EXPECT_EQ(GURL(internals::GetWelcomePageURL()), |
| 1169 tab_strip->GetWebContentsAt(0)->GetURL()); | 1159 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 1170 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 1160 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 1171 tab_strip->GetWebContentsAt(1)->GetURL()); | 1161 tab_strip->GetWebContentsAt(1)->GetURL()); |
| 1172 } else { | 1162 } else { |
| 1173 // The new browser should have only the NTP. | 1163 // The new browser should have only the NTP. |
| 1174 ASSERT_EQ(1, tab_strip->count()); | 1164 ASSERT_EQ(1, tab_strip->count()); |
| 1175 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 1165 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 1176 tab_strip->GetWebContentsAt(0)->GetURL()); | 1166 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 1177 } | 1167 } |
| 1178 EnsureRestoreUIWasShown(tab_strip->GetWebContentsAt(0)); | 1168 EnsureRestoreUIWasShown(tab_strip->GetWebContentsAt(0)); |
| 1179 | 1169 |
| 1180 // The profile which normally opens last open pages displays the new tab page. | 1170 // The profile which normally opens last open pages displays the new tab page. |
| 1181 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_last, | 1171 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_last)); |
| 1182 browser()->host_desktop_type())); | |
| 1183 new_browser = FindOneOtherBrowserForProfile(profile_last, NULL); | 1172 new_browser = FindOneOtherBrowserForProfile(profile_last, NULL); |
| 1184 ASSERT_TRUE(new_browser); | 1173 ASSERT_TRUE(new_browser); |
| 1185 tab_strip = new_browser->tab_strip_model(); | 1174 tab_strip = new_browser->tab_strip_model(); |
| 1186 ASSERT_EQ(1, tab_strip->count()); | 1175 ASSERT_EQ(1, tab_strip->count()); |
| 1187 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 1176 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 1188 tab_strip->GetWebContentsAt(0)->GetURL()); | 1177 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 1189 EnsureRestoreUIWasShown(tab_strip->GetWebContentsAt(0)); | 1178 EnsureRestoreUIWasShown(tab_strip->GetWebContentsAt(0)); |
| 1190 | 1179 |
| 1191 // The profile which normally opens URLs displays the new tab page. | 1180 // The profile which normally opens URLs displays the new tab page. |
| 1192 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_urls, | 1181 ASSERT_EQ(1u, chrome::GetBrowserCount(profile_urls)); |
| 1193 browser()->host_desktop_type())); | |
| 1194 new_browser = FindOneOtherBrowserForProfile(profile_urls, NULL); | 1182 new_browser = FindOneOtherBrowserForProfile(profile_urls, NULL); |
| 1195 ASSERT_TRUE(new_browser); | 1183 ASSERT_TRUE(new_browser); |
| 1196 tab_strip = new_browser->tab_strip_model(); | 1184 tab_strip = new_browser->tab_strip_model(); |
| 1197 ASSERT_EQ(1, tab_strip->count()); | 1185 ASSERT_EQ(1, tab_strip->count()); |
| 1198 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 1186 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 1199 tab_strip->GetWebContentsAt(0)->GetURL()); | 1187 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 1200 EnsureRestoreUIWasShown(tab_strip->GetWebContentsAt(0)); | 1188 EnsureRestoreUIWasShown(tab_strip->GetWebContentsAt(0)); |
| 1201 | 1189 |
| 1202 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) | 1190 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) |
| 1203 // Each profile should have one session restore bubble shown, so we should | 1191 // Each profile should have one session restore bubble shown, so we should |
| (...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1716 ASSERT_EQ(1, tab_strip->count()); | 1704 ASSERT_EQ(1, tab_strip->count()); |
| 1717 EXPECT_EQ("title1.html", | 1705 EXPECT_EQ("title1.html", |
| 1718 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); | 1706 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); |
| 1719 } | 1707 } |
| 1720 #endif // defined(ENABLE_CONFIGURATION_POLICY) | 1708 #endif // defined(ENABLE_CONFIGURATION_POLICY) |
| 1721 | 1709 |
| 1722 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || | 1710 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || |
| 1723 // defined(ENABLE_CONFIGURATION_POLICY) | 1711 // defined(ENABLE_CONFIGURATION_POLICY) |
| 1724 | 1712 |
| 1725 #endif // !defined(OS_CHROMEOS) | 1713 #endif // !defined(OS_CHROMEOS) |
| OLD | NEW |