OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 NOTREACHED(); | 349 NOTREACHED(); |
350 return NULL; | 350 return NULL; |
351 } | 351 } |
352 }; | 352 }; |
353 | 353 |
354 // Launch the app on a page with no title, check that the app title was set | 354 // Launch the app on a page with no title, check that the app title was set |
355 // correctly. | 355 // correctly. |
356 IN_PROC_BROWSER_TEST_F(BrowserTest, NoTitle) { | 356 IN_PROC_BROWSER_TEST_F(BrowserTest, NoTitle) { |
357 #if defined(OS_WIN) && defined(USE_ASH) | 357 #if defined(OS_WIN) && defined(USE_ASH) |
358 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 358 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
359 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 359 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 360 switches::kAshBrowserTests)) |
360 return; | 361 return; |
361 #endif | 362 #endif |
362 | 363 |
363 ui_test_utils::NavigateToURL( | 364 ui_test_utils::NavigateToURL( |
364 browser(), ui_test_utils::GetTestUrl( | 365 browser(), ui_test_utils::GetTestUrl( |
365 base::FilePath(base::FilePath::kCurrentDirectory), | 366 base::FilePath(base::FilePath::kCurrentDirectory), |
366 base::FilePath(kTitle1File))); | 367 base::FilePath(kTitle1File))); |
367 EXPECT_EQ(LocaleWindowCaptionFromPageTitle(ASCIIToUTF16("title1.html")), | 368 EXPECT_EQ(LocaleWindowCaptionFromPageTitle(ASCIIToUTF16("title1.html")), |
368 browser()->GetWindowTitleForCurrentTab()); | 369 browser()->GetWindowTitleForCurrentTab()); |
369 base::string16 tab_title; | 370 base::string16 tab_title; |
370 ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &tab_title)); | 371 ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &tab_title)); |
371 EXPECT_EQ(ASCIIToUTF16("title1.html"), tab_title); | 372 EXPECT_EQ(ASCIIToUTF16("title1.html"), tab_title); |
372 } | 373 } |
373 | 374 |
374 // Launch the app, navigate to a page with a title, check that the app title | 375 // Launch the app, navigate to a page with a title, check that the app title |
375 // was set correctly. | 376 // was set correctly. |
376 IN_PROC_BROWSER_TEST_F(BrowserTest, Title) { | 377 IN_PROC_BROWSER_TEST_F(BrowserTest, Title) { |
377 #if defined(OS_WIN) && defined(USE_ASH) | 378 #if defined(OS_WIN) && defined(USE_ASH) |
378 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 379 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
379 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 380 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 381 switches::kAshBrowserTests)) |
380 return; | 382 return; |
381 #endif | 383 #endif |
382 | 384 |
383 ui_test_utils::NavigateToURL( | 385 ui_test_utils::NavigateToURL( |
384 browser(), ui_test_utils::GetTestUrl( | 386 browser(), ui_test_utils::GetTestUrl( |
385 base::FilePath(base::FilePath::kCurrentDirectory), | 387 base::FilePath(base::FilePath::kCurrentDirectory), |
386 base::FilePath(kTitle2File))); | 388 base::FilePath(kTitle2File))); |
387 const base::string16 test_title(ASCIIToUTF16("Title Of Awesomeness")); | 389 const base::string16 test_title(ASCIIToUTF16("Title Of Awesomeness")); |
388 EXPECT_EQ(LocaleWindowCaptionFromPageTitle(test_title), | 390 EXPECT_EQ(LocaleWindowCaptionFromPageTitle(test_title), |
389 browser()->GetWindowTitleForCurrentTab()); | 391 browser()->GetWindowTitleForCurrentTab()); |
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
891 // browser has not been able to quit correctly, indicating there's a | 893 // browser has not been able to quit correctly, indicating there's a |
892 // regression of the bug noted above. | 894 // regression of the bug noted above. |
893 } | 895 } |
894 | 896 |
895 // Test that scripts can fork a new renderer process for a cross-site popup, | 897 // Test that scripts can fork a new renderer process for a cross-site popup, |
896 // based on http://www.google.com/chrome/intl/en/webmasters-faq.html#newtab. | 898 // based on http://www.google.com/chrome/intl/en/webmasters-faq.html#newtab. |
897 // The script must open a new tab, set its window.opener to null, and navigate | 899 // The script must open a new tab, set its window.opener to null, and navigate |
898 // it to a cross-site URL. It should also work for meta-refreshes. | 900 // it to a cross-site URL. It should also work for meta-refreshes. |
899 // See http://crbug.com/93517. | 901 // See http://crbug.com/93517. |
900 IN_PROC_BROWSER_TEST_F(BrowserTest, NullOpenerRedirectForksProcess) { | 902 IN_PROC_BROWSER_TEST_F(BrowserTest, NullOpenerRedirectForksProcess) { |
901 CommandLine::ForCurrentProcess()->AppendSwitch( | 903 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
902 switches::kDisablePopupBlocking); | 904 switches::kDisablePopupBlocking); |
903 | 905 |
904 // Create http and https servers for a cross-site transition. | 906 // Create http and https servers for a cross-site transition. |
905 ASSERT_TRUE(test_server()->Start()); | 907 ASSERT_TRUE(test_server()->Start()); |
906 net::SpawnedTestServer https_test_server(net::SpawnedTestServer::TYPE_HTTPS, | 908 net::SpawnedTestServer https_test_server(net::SpawnedTestServer::TYPE_HTTPS, |
907 net::SpawnedTestServer::kLocalhost, | 909 net::SpawnedTestServer::kLocalhost, |
908 base::FilePath(kDocRoot)); | 910 base::FilePath(kDocRoot)); |
909 ASSERT_TRUE(https_test_server.Start()); | 911 ASSERT_TRUE(https_test_server.Start()); |
910 GURL http_url(test_server()->GetURL("files/title1.html")); | 912 GURL http_url(test_server()->GetURL("files/title1.html")); |
911 GURL https_url(https_test_server.GetURL(std::string())); | 913 GURL https_url(https_test_server.GetURL(std::string())); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
980 // This popup window should also not be in the opener's process. | 982 // This popup window should also not be in the opener's process. |
981 content::RenderProcessHost* popup_process2 = | 983 content::RenderProcessHost* popup_process2 = |
982 newtab2->GetRenderProcessHost(); | 984 newtab2->GetRenderProcessHost(); |
983 EXPECT_NE(process, popup_process2); | 985 EXPECT_NE(process, popup_process2); |
984 } | 986 } |
985 | 987 |
986 // Tests that other popup navigations that do not follow the steps at | 988 // Tests that other popup navigations that do not follow the steps at |
987 // http://www.google.com/chrome/intl/en/webmasters-faq.html#newtab will not | 989 // http://www.google.com/chrome/intl/en/webmasters-faq.html#newtab will not |
988 // fork a new renderer process. | 990 // fork a new renderer process. |
989 IN_PROC_BROWSER_TEST_F(BrowserTest, OtherRedirectsDontForkProcess) { | 991 IN_PROC_BROWSER_TEST_F(BrowserTest, OtherRedirectsDontForkProcess) { |
990 CommandLine::ForCurrentProcess()->AppendSwitch( | 992 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
991 switches::kDisablePopupBlocking); | 993 switches::kDisablePopupBlocking); |
992 | 994 |
993 // Create http and https servers for a cross-site transition. | 995 // Create http and https servers for a cross-site transition. |
994 ASSERT_TRUE(test_server()->Start()); | 996 ASSERT_TRUE(test_server()->Start()); |
995 net::SpawnedTestServer https_test_server(net::SpawnedTestServer::TYPE_HTTPS, | 997 net::SpawnedTestServer https_test_server(net::SpawnedTestServer::TYPE_HTTPS, |
996 net::SpawnedTestServer::kLocalhost, | 998 net::SpawnedTestServer::kLocalhost, |
997 base::FilePath(kDocRoot)); | 999 base::FilePath(kDocRoot)); |
998 ASSERT_TRUE(https_test_server.Start()); | 1000 ASSERT_TRUE(https_test_server.Start()); |
999 GURL http_url(test_server()->GetURL("files/title1.html")); | 1001 GURL http_url(test_server()->GetURL("files/title1.html")); |
1000 GURL https_url(https_test_server.GetURL(std::string())); | 1002 GURL https_url(https_test_server.GetURL(std::string())); |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1300 ASSERT_TRUE(test_server()->Start()); | 1302 ASSERT_TRUE(test_server()->Start()); |
1301 | 1303 |
1302 // There should be one tab to start with. | 1304 // There should be one tab to start with. |
1303 ASSERT_EQ(1, browser()->tab_strip_model()->count()); | 1305 ASSERT_EQ(1, browser()->tab_strip_model()->count()); |
1304 | 1306 |
1305 // Load an app. | 1307 // Load an app. |
1306 host_resolver()->AddRule("www.example.com", "127.0.0.1"); | 1308 host_resolver()->AddRule("www.example.com", "127.0.0.1"); |
1307 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app/"))); | 1309 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app/"))); |
1308 const Extension* extension_app = GetExtension(); | 1310 const Extension* extension_app = GetExtension(); |
1309 | 1311 |
1310 CommandLine command_line(CommandLine::NO_PROGRAM); | 1312 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
1311 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); | 1313 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); |
1312 | 1314 |
1313 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 1315 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
1314 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 1316 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
1315 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); | 1317 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); |
1316 EXPECT_FALSE(launch.OpenApplicationWindow(browser()->profile(), NULL)); | 1318 EXPECT_FALSE(launch.OpenApplicationWindow(browser()->profile(), NULL)); |
1317 EXPECT_TRUE(launch.OpenApplicationTab(browser()->profile())); | 1319 EXPECT_TRUE(launch.OpenApplicationTab(browser()->profile())); |
1318 | 1320 |
1319 // Check that a new browser wasn't opened. | 1321 // Check that a new browser wasn't opened. |
1320 EXPECT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), | 1322 EXPECT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1534 | 1536 |
1535 // Add a pinned non-app tab. | 1537 // Add a pinned non-app tab. |
1536 chrome::NewTab(browser()); | 1538 chrome::NewTab(browser()); |
1537 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); | 1539 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); |
1538 model->SetTabPinned(2, true); | 1540 model->SetTabPinned(2, true); |
1539 | 1541 |
1540 // Write out the pinned tabs. | 1542 // Write out the pinned tabs. |
1541 PinnedTabCodec::WritePinnedTabs(browser()->profile()); | 1543 PinnedTabCodec::WritePinnedTabs(browser()->profile()); |
1542 | 1544 |
1543 // Simulate launching again. | 1545 // Simulate launching again. |
1544 CommandLine dummy(CommandLine::NO_PROGRAM); | 1546 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
1545 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 1547 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
1546 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 1548 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
1547 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); | 1549 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); |
1548 launch.profile_ = browser()->profile(); | 1550 launch.profile_ = browser()->profile(); |
1549 launch.ProcessStartupURLs(std::vector<GURL>(), | 1551 launch.ProcessStartupURLs(std::vector<GURL>(), |
1550 browser()->host_desktop_type()); | 1552 browser()->host_desktop_type()); |
1551 | 1553 |
1552 // The launch should have created a new browser. | 1554 // The launch should have created a new browser. |
1553 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), | 1555 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), |
1554 browser()->host_desktop_type())); | 1556 browser()->host_desktop_type())); |
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2134 EXPECT_EQ(4, browser()->tab_strip_model()->count()); | 2136 EXPECT_EQ(4, browser()->tab_strip_model()->count()); |
2135 | 2137 |
2136 // Close the additional browsers. | 2138 // Close the additional browsers. |
2137 popup_browser->tab_strip_model()->CloseAllTabs(); | 2139 popup_browser->tab_strip_model()->CloseAllTabs(); |
2138 app_browser->tab_strip_model()->CloseAllTabs(); | 2140 app_browser->tab_strip_model()->CloseAllTabs(); |
2139 app_popup_browser->tab_strip_model()->CloseAllTabs(); | 2141 app_popup_browser->tab_strip_model()->CloseAllTabs(); |
2140 } | 2142 } |
2141 #endif | 2143 #endif |
2142 | 2144 |
2143 IN_PROC_BROWSER_TEST_F(BrowserTest, WindowOpenClose) { | 2145 IN_PROC_BROWSER_TEST_F(BrowserTest, WindowOpenClose) { |
2144 CommandLine::ForCurrentProcess()->AppendSwitch( | 2146 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
2145 switches::kDisablePopupBlocking); | 2147 switches::kDisablePopupBlocking); |
2146 GURL url = ui_test_utils::GetTestUrl( | 2148 GURL url = ui_test_utils::GetTestUrl( |
2147 base::FilePath(), base::FilePath().AppendASCII("window.close.html")); | 2149 base::FilePath(), base::FilePath().AppendASCII("window.close.html")); |
2148 | 2150 |
2149 base::string16 title = ASCIIToUTF16("Title Of Awesomeness"); | 2151 base::string16 title = ASCIIToUTF16("Title Of Awesomeness"); |
2150 content::TitleWatcher title_watcher( | 2152 content::TitleWatcher title_watcher( |
2151 browser()->tab_strip_model()->GetActiveWebContents(), title); | 2153 browser()->tab_strip_model()->GetActiveWebContents(), title); |
2152 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), url, 2); | 2154 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), url, 2); |
2153 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); | 2155 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); |
2154 } | 2156 } |
2155 | 2157 |
2156 // TODO(linux_aura) http://crbug.com/163931 | 2158 // TODO(linux_aura) http://crbug.com/163931 |
2157 // Mac disabled: http://crbug.com/169820 | 2159 // Mac disabled: http://crbug.com/169820 |
2158 #if !defined(OS_MACOSX) && \ | 2160 #if !defined(OS_MACOSX) && \ |
2159 !(defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)) | 2161 !(defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)) |
2160 IN_PROC_BROWSER_TEST_F(BrowserTest, FullscreenBookmarkBar) { | 2162 IN_PROC_BROWSER_TEST_F(BrowserTest, FullscreenBookmarkBar) { |
2161 #if defined(OS_WIN) && defined(USE_ASH) | 2163 #if defined(OS_WIN) && defined(USE_ASH) |
2162 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 2164 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
2163 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 2165 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 2166 switches::kAshBrowserTests)) |
2164 return; | 2167 return; |
2165 #endif | 2168 #endif |
2166 | 2169 |
2167 chrome::ToggleBookmarkBar(browser()); | 2170 chrome::ToggleBookmarkBar(browser()); |
2168 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state()); | 2171 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state()); |
2169 chrome::ToggleFullscreenMode(browser()); | 2172 chrome::ToggleFullscreenMode(browser()); |
2170 EXPECT_TRUE(browser()->window()->IsFullscreen()); | 2173 EXPECT_TRUE(browser()->window()->IsFullscreen()); |
2171 #if defined(OS_MACOSX) | 2174 #if defined(OS_MACOSX) |
2172 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state()); | 2175 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state()); |
2173 #elif defined(OS_CHROMEOS) | 2176 #elif defined(OS_CHROMEOS) |
(...skipping 16 matching lines...) Expand all Loading... |
2190 browser()->tab_strip_model()->GetActiveWebContents(), expected_title); | 2193 browser()->tab_strip_model()->GetActiveWebContents(), expected_title); |
2191 title_watcher.AlsoWaitForTitle(ASCIIToUTF16("Allowed")); | 2194 title_watcher.AlsoWaitForTitle(ASCIIToUTF16("Allowed")); |
2192 ui_test_utils::NavigateToURL(browser(), url); | 2195 ui_test_utils::NavigateToURL(browser(), url); |
2193 ASSERT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | 2196 ASSERT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
2194 } | 2197 } |
2195 | 2198 |
2196 class KioskModeTest : public BrowserTest { | 2199 class KioskModeTest : public BrowserTest { |
2197 public: | 2200 public: |
2198 KioskModeTest() {} | 2201 KioskModeTest() {} |
2199 | 2202 |
2200 void SetUpCommandLine(CommandLine* command_line) override { | 2203 void SetUpCommandLine(base::CommandLine* command_line) override { |
2201 command_line->AppendSwitch(switches::kKioskMode); | 2204 command_line->AppendSwitch(switches::kKioskMode); |
2202 } | 2205 } |
2203 }; | 2206 }; |
2204 | 2207 |
2205 #if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) | 2208 #if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) |
2206 // Mac: http://crbug.com/103912 | 2209 // Mac: http://crbug.com/103912 |
2207 // Linux: http://crbug.com/163931 | 2210 // Linux: http://crbug.com/163931 |
2208 #define MAYBE_EnableKioskModeTest DISABLED_EnableKioskModeTest | 2211 #define MAYBE_EnableKioskModeTest DISABLED_EnableKioskModeTest |
2209 #else | 2212 #else |
2210 #define MAYBE_EnableKioskModeTest EnableKioskModeTest | 2213 #define MAYBE_EnableKioskModeTest EnableKioskModeTest |
2211 #endif | 2214 #endif |
2212 IN_PROC_BROWSER_TEST_F(KioskModeTest, MAYBE_EnableKioskModeTest) { | 2215 IN_PROC_BROWSER_TEST_F(KioskModeTest, MAYBE_EnableKioskModeTest) { |
2213 // Check if browser is in fullscreen mode. | 2216 // Check if browser is in fullscreen mode. |
2214 ASSERT_TRUE(browser()->window()->IsFullscreen()); | 2217 ASSERT_TRUE(browser()->window()->IsFullscreen()); |
2215 ASSERT_FALSE(browser()->window()->IsFullscreenBubbleVisible()); | 2218 ASSERT_FALSE(browser()->window()->IsFullscreenBubbleVisible()); |
2216 } | 2219 } |
2217 | 2220 |
2218 #if defined(OS_WIN) | 2221 #if defined(OS_WIN) |
2219 // This test verifies that Chrome can be launched with a user-data-dir path | 2222 // This test verifies that Chrome can be launched with a user-data-dir path |
2220 // which contains non ASCII characters. | 2223 // which contains non ASCII characters. |
2221 class LaunchBrowserWithNonAsciiUserDatadir : public BrowserTest { | 2224 class LaunchBrowserWithNonAsciiUserDatadir : public BrowserTest { |
2222 public: | 2225 public: |
2223 LaunchBrowserWithNonAsciiUserDatadir() {} | 2226 LaunchBrowserWithNonAsciiUserDatadir() {} |
2224 | 2227 |
2225 virtual void SetUpCommandLine(CommandLine* command_line) override { | 2228 virtual void SetUpCommandLine(base::CommandLine* command_line) override { |
2226 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 2229 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
2227 base::FilePath tmp_profile = temp_dir_.path().AppendASCII("tmp_profile"); | 2230 base::FilePath tmp_profile = temp_dir_.path().AppendASCII("tmp_profile"); |
2228 tmp_profile = tmp_profile.Append(L"Test Chrome G\u00E9raldine"); | 2231 tmp_profile = tmp_profile.Append(L"Test Chrome G\u00E9raldine"); |
2229 | 2232 |
2230 ASSERT_TRUE(base::CreateDirectory(tmp_profile)); | 2233 ASSERT_TRUE(base::CreateDirectory(tmp_profile)); |
2231 command_line->AppendSwitchPath(switches::kUserDataDir, tmp_profile); | 2234 command_line->AppendSwitchPath(switches::kUserDataDir, tmp_profile); |
2232 } | 2235 } |
2233 | 2236 |
2234 base::ScopedTempDir temp_dir_; | 2237 base::ScopedTempDir temp_dir_; |
2235 }; | 2238 }; |
2236 | 2239 |
2237 IN_PROC_BROWSER_TEST_F(LaunchBrowserWithNonAsciiUserDatadir, | 2240 IN_PROC_BROWSER_TEST_F(LaunchBrowserWithNonAsciiUserDatadir, |
2238 TestNonAsciiUserDataDir) { | 2241 TestNonAsciiUserDataDir) { |
2239 // Verify that the window is present. | 2242 // Verify that the window is present. |
2240 ASSERT_TRUE(browser()); | 2243 ASSERT_TRUE(browser()); |
2241 } | 2244 } |
2242 #endif // defined(OS_WIN) | 2245 #endif // defined(OS_WIN) |
2243 | 2246 |
2244 // Tests to ensure that the browser continues running in the background after | 2247 // Tests to ensure that the browser continues running in the background after |
2245 // the last window closes. | 2248 // the last window closes. |
2246 class RunInBackgroundTest : public BrowserTest { | 2249 class RunInBackgroundTest : public BrowserTest { |
2247 public: | 2250 public: |
2248 RunInBackgroundTest() {} | 2251 RunInBackgroundTest() {} |
2249 | 2252 |
2250 void SetUpCommandLine(CommandLine* command_line) override { | 2253 void SetUpCommandLine(base::CommandLine* command_line) override { |
2251 command_line->AppendSwitch(switches::kKeepAliveForTest); | 2254 command_line->AppendSwitch(switches::kKeepAliveForTest); |
2252 } | 2255 } |
2253 }; | 2256 }; |
2254 | 2257 |
2255 IN_PROC_BROWSER_TEST_F(RunInBackgroundTest, RunInBackgroundBasicTest) { | 2258 IN_PROC_BROWSER_TEST_F(RunInBackgroundTest, RunInBackgroundBasicTest) { |
2256 // Close the browser window, then open a new one - the browser should keep | 2259 // Close the browser window, then open a new one - the browser should keep |
2257 // running. | 2260 // running. |
2258 Profile* profile = browser()->profile(); | 2261 Profile* profile = browser()->profile(); |
2259 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); | 2262 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); |
2260 content::WindowedNotificationObserver observer( | 2263 content::WindowedNotificationObserver observer( |
2261 chrome::NOTIFICATION_BROWSER_CLOSED, | 2264 chrome::NOTIFICATION_BROWSER_CLOSED, |
2262 content::Source<Browser>(browser())); | 2265 content::Source<Browser>(browser())); |
2263 chrome::CloseWindow(browser()); | 2266 chrome::CloseWindow(browser()); |
2264 observer.Wait(); | 2267 observer.Wait(); |
2265 EXPECT_EQ(0u, chrome::GetTotalBrowserCount()); | 2268 EXPECT_EQ(0u, chrome::GetTotalBrowserCount()); |
2266 | 2269 |
2267 ui_test_utils::BrowserAddedObserver browser_added_observer; | 2270 ui_test_utils::BrowserAddedObserver browser_added_observer; |
2268 chrome::NewEmptyWindow(profile, chrome::GetActiveDesktop()); | 2271 chrome::NewEmptyWindow(profile, chrome::GetActiveDesktop()); |
2269 browser_added_observer.WaitForSingleNewBrowser(); | 2272 browser_added_observer.WaitForSingleNewBrowser(); |
2270 | 2273 |
2271 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); | 2274 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); |
2272 } | 2275 } |
2273 | 2276 |
2274 // Tests to ensure that the browser continues running in the background after | 2277 // Tests to ensure that the browser continues running in the background after |
2275 // the last window closes. | 2278 // the last window closes. |
2276 class NoStartupWindowTest : public BrowserTest { | 2279 class NoStartupWindowTest : public BrowserTest { |
2277 public: | 2280 public: |
2278 NoStartupWindowTest() {} | 2281 NoStartupWindowTest() {} |
2279 | 2282 |
2280 void SetUpCommandLine(CommandLine* command_line) override { | 2283 void SetUpCommandLine(base::CommandLine* command_line) override { |
2281 command_line->AppendSwitch(switches::kNoStartupWindow); | 2284 command_line->AppendSwitch(switches::kNoStartupWindow); |
2282 command_line->AppendSwitch(switches::kKeepAliveForTest); | 2285 command_line->AppendSwitch(switches::kKeepAliveForTest); |
2283 } | 2286 } |
2284 | 2287 |
2285 // Returns true if any commands were processed. | 2288 // Returns true if any commands were processed. |
2286 bool ProcessedAnyCommands( | 2289 bool ProcessedAnyCommands( |
2287 sessions::BaseSessionService* base_session_service) { | 2290 sessions::BaseSessionService* base_session_service) { |
2288 sessions::BaseSessionServiceTestHelper test_helper(base_session_service); | 2291 sessions::BaseSessionServiceTestHelper test_helper(base_session_service); |
2289 return test_helper.ProcessedAnyCommands(); | 2292 return test_helper.ProcessedAnyCommands(); |
2290 } | 2293 } |
2291 }; | 2294 }; |
2292 | 2295 |
2293 IN_PROC_BROWSER_TEST_F(NoStartupWindowTest, NoStartupWindowBasicTest) { | 2296 IN_PROC_BROWSER_TEST_F(NoStartupWindowTest, NoStartupWindowBasicTest) { |
2294 #if defined(OS_WIN) && defined(USE_ASH) | 2297 #if defined(OS_WIN) && defined(USE_ASH) |
2295 // kNoStartupWindow doesn't make sense in Metro+Ash. | 2298 // kNoStartupWindow doesn't make sense in Metro+Ash. |
2296 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 2299 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 2300 switches::kAshBrowserTests)) |
2297 return; | 2301 return; |
2298 #endif | 2302 #endif |
2299 | 2303 |
2300 // No browser window should be started by default. | 2304 // No browser window should be started by default. |
2301 EXPECT_EQ(0u, chrome::GetTotalBrowserCount()); | 2305 EXPECT_EQ(0u, chrome::GetTotalBrowserCount()); |
2302 | 2306 |
2303 // Starting a browser window should work just fine. | 2307 // Starting a browser window should work just fine. |
2304 ui_test_utils::BrowserAddedObserver browser_added_observer; | 2308 ui_test_utils::BrowserAddedObserver browser_added_observer; |
2305 CreateBrowser(ProfileManager::GetActiveUserProfile()); | 2309 CreateBrowser(ProfileManager::GetActiveUserProfile()); |
2306 browser_added_observer.WaitForSingleNewBrowser(); | 2310 browser_added_observer.WaitForSingleNewBrowser(); |
2307 | 2311 |
2308 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); | 2312 EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); |
2309 } | 2313 } |
2310 | 2314 |
2311 // Chromeos needs to track app windows because it considers them to be part of | 2315 // Chromeos needs to track app windows because it considers them to be part of |
2312 // session state. | 2316 // session state. |
2313 #if !defined(OS_CHROMEOS) | 2317 #if !defined(OS_CHROMEOS) |
2314 IN_PROC_BROWSER_TEST_F(NoStartupWindowTest, DontInitSessionServiceForApps) { | 2318 IN_PROC_BROWSER_TEST_F(NoStartupWindowTest, DontInitSessionServiceForApps) { |
2315 #if defined(OS_WIN) && defined(USE_ASH) | 2319 #if defined(OS_WIN) && defined(USE_ASH) |
2316 // kNoStartupWindow doesn't make sense in Metro+Ash. | 2320 // kNoStartupWindow doesn't make sense in Metro+Ash. |
2317 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 2321 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 2322 switches::kAshBrowserTests)) |
2318 return; | 2323 return; |
2319 #endif | 2324 #endif |
2320 | 2325 |
2321 Profile* profile = ProfileManager::GetActiveUserProfile(); | 2326 Profile* profile = ProfileManager::GetActiveUserProfile(); |
2322 | 2327 |
2323 SessionService* session_service = | 2328 SessionService* session_service = |
2324 SessionServiceFactory::GetForProfile(profile); | 2329 SessionServiceFactory::GetForProfile(profile); |
2325 sessions::BaseSessionService* base_session_service = | 2330 sessions::BaseSessionService* base_session_service = |
2326 session_service->GetBaseSessionServiceForTest(); | 2331 session_service->GetBaseSessionServiceForTest(); |
2327 ASSERT_FALSE(ProcessedAnyCommands(base_session_service)); | 2332 ASSERT_FALSE(ProcessedAnyCommands(base_session_service)); |
2328 | 2333 |
2329 ui_test_utils::BrowserAddedObserver browser_added_observer; | 2334 ui_test_utils::BrowserAddedObserver browser_added_observer; |
2330 CreateBrowserForApp("blah", profile); | 2335 CreateBrowserForApp("blah", profile); |
2331 browser_added_observer.WaitForSingleNewBrowser(); | 2336 browser_added_observer.WaitForSingleNewBrowser(); |
2332 | 2337 |
2333 ASSERT_FALSE(ProcessedAnyCommands(base_session_service)); | 2338 ASSERT_FALSE(ProcessedAnyCommands(base_session_service)); |
2334 } | 2339 } |
2335 #endif // !defined(OS_CHROMEOS) | 2340 #endif // !defined(OS_CHROMEOS) |
2336 | 2341 |
2337 // This test needs to be placed outside the anonymous namespace because we | 2342 // This test needs to be placed outside the anonymous namespace because we |
2338 // need to access private type of Browser. | 2343 // need to access private type of Browser. |
2339 class AppModeTest : public BrowserTest { | 2344 class AppModeTest : public BrowserTest { |
2340 public: | 2345 public: |
2341 AppModeTest() {} | 2346 AppModeTest() {} |
2342 | 2347 |
2343 void SetUpCommandLine(CommandLine* command_line) override { | 2348 void SetUpCommandLine(base::CommandLine* command_line) override { |
2344 GURL url = ui_test_utils::GetTestUrl( | 2349 GURL url = ui_test_utils::GetTestUrl( |
2345 base::FilePath(), base::FilePath().AppendASCII("title1.html")); | 2350 base::FilePath(), base::FilePath().AppendASCII("title1.html")); |
2346 command_line->AppendSwitchASCII(switches::kApp, url.spec()); | 2351 command_line->AppendSwitchASCII(switches::kApp, url.spec()); |
2347 } | 2352 } |
2348 }; | 2353 }; |
2349 | 2354 |
2350 IN_PROC_BROWSER_TEST_F(AppModeTest, EnableAppModeTest) { | 2355 IN_PROC_BROWSER_TEST_F(AppModeTest, EnableAppModeTest) { |
2351 #if defined(OS_WIN) && defined(USE_ASH) | 2356 #if defined(OS_WIN) && defined(USE_ASH) |
2352 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 2357 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
2353 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 2358 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 2359 switches::kAshBrowserTests)) |
2354 return; | 2360 return; |
2355 #endif | 2361 #endif |
2356 | 2362 |
2357 // Test that an application browser window loads correctly. | 2363 // Test that an application browser window loads correctly. |
2358 | 2364 |
2359 // Verify the browser is in application mode. | 2365 // Verify the browser is in application mode. |
2360 EXPECT_TRUE(browser()->is_app()); | 2366 EXPECT_TRUE(browser()->is_app()); |
2361 } | 2367 } |
2362 | 2368 |
2363 // Confirm chrome://version contains some expected content. | 2369 // Confirm chrome://version contains some expected content. |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2725 #endif | 2731 #endif |
2726 EXPECT_EQ(exp_commit_size, rwhv_commit_size2); | 2732 EXPECT_EQ(exp_commit_size, rwhv_commit_size2); |
2727 EXPECT_EQ(exp_commit_size, wcv_commit_size2); | 2733 EXPECT_EQ(exp_commit_size, wcv_commit_size2); |
2728 gfx::Size exp_final_size(initial_wcv_size); | 2734 gfx::Size exp_final_size(initial_wcv_size); |
2729 exp_final_size.Enlarge(wcv_resize_insets.width(), | 2735 exp_final_size.Enlarge(wcv_resize_insets.width(), |
2730 wcv_resize_insets.height() + height_inset); | 2736 wcv_resize_insets.height() + height_inset); |
2731 EXPECT_EQ(exp_final_size, | 2737 EXPECT_EQ(exp_final_size, |
2732 web_contents->GetRenderWidgetHostView()->GetViewBounds().size()); | 2738 web_contents->GetRenderWidgetHostView()->GetViewBounds().size()); |
2733 EXPECT_EQ(exp_final_size, web_contents->GetContainerBounds().size()); | 2739 EXPECT_EQ(exp_final_size, web_contents->GetContainerBounds().size()); |
2734 } | 2740 } |
OLD | NEW |