Chromium Code Reviews| 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 <deque> | 5 #include <deque> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 3603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3614 content::ContentBrowserClient* original_browser_client = | 3614 content::ContentBrowserClient* original_browser_client = |
| 3615 content::SetBrowserClientForTesting(&test_browser_client); | 3615 content::SetBrowserClientForTesting(&test_browser_client); |
| 3616 | 3616 |
| 3617 PrerenderTestURL( | 3617 PrerenderTestURL( |
| 3618 CreateServerRedirect("files/prerender/prerender_page.html"), | 3618 CreateServerRedirect("files/prerender/prerender_page.html"), |
| 3619 FINAL_STATUS_OPEN_URL, 0); | 3619 FINAL_STATUS_OPEN_URL, 0); |
| 3620 | 3620 |
| 3621 content::SetBrowserClientForTesting(original_browser_client); | 3621 content::SetBrowserClientForTesting(original_browser_client); |
| 3622 } | 3622 } |
| 3623 | 3623 |
| 3624 // Checks that URLRequests for prerenders being aborted on cross-process | |
| 3625 // navigation from a server redirect are cleaned up, so they don't keep cache | |
| 3626 // entries locked. | |
| 3627 // See http://crbug.com/341134 | |
| 3628 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 3629 PrerenderCrossProcessServerRedirectNoHang) { | |
| 3630 const char kDestPath[] = "files/prerender/prerender_page.html"; | |
| 3631 // Force everything to be a process swap. | |
| 3632 SwapProcessesContentBrowserClient test_browser_client; | |
| 3633 content::ContentBrowserClient* original_browser_client = | |
| 3634 content::SetBrowserClientForTesting(&test_browser_client); | |
| 3635 | |
| 3636 PrerenderTestURL(CreateServerRedirect(kDestPath), FINAL_STATUS_OPEN_URL, 0); | |
| 3637 | |
| 3638 content::SetBrowserClientForTesting(original_browser_client); | |
|
davidben
2014/02/13 21:08:47
Is there any particular reason to revert to the or
mmenke
2014/02/13 21:13:56
I did that because I wanted to test a "normal" nav
| |
| 3639 | |
| 3640 ui_test_utils::NavigateToURL( | |
| 3641 browser(), | |
| 3642 test_server()->GetURL(kDestPath)); | |
| 3643 } | |
| 3644 | |
| 3624 // Checks that prerenders are aborted on cross-process navigation from | 3645 // Checks that prerenders are aborted on cross-process navigation from |
| 3625 // a client redirect. | 3646 // a client redirect. |
| 3626 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | 3647 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| 3627 PrerenderCrossProcessClientRedirect) { | 3648 PrerenderCrossProcessClientRedirect) { |
| 3628 // Cross-process navigation logic for renderer-initiated navigations | 3649 // Cross-process navigation logic for renderer-initiated navigations |
| 3629 // is partially controlled by the renderer, namely | 3650 // is partially controlled by the renderer, namely |
| 3630 // ChromeContentRendererClient. This test instead relies on the Web | 3651 // ChromeContentRendererClient. This test instead relies on the Web |
| 3631 // Store triggering such navigations. | 3652 // Store triggering such navigations. |
| 3632 std::string webstore_url = extension_urls::GetWebstoreLaunchURL(); | 3653 std::string webstore_url = extension_urls::GetWebstoreLaunchURL(); |
| 3633 | 3654 |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4062 } | 4083 } |
| 4063 }; | 4084 }; |
| 4064 | 4085 |
| 4065 // Checks that prerendering works in incognito mode. | 4086 // Checks that prerendering works in incognito mode. |
| 4066 IN_PROC_BROWSER_TEST_F(PrerenderIncognitoBrowserTest, PrerenderIncognito) { | 4087 IN_PROC_BROWSER_TEST_F(PrerenderIncognitoBrowserTest, PrerenderIncognito) { |
| 4067 PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1); | 4088 PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1); |
| 4068 NavigateToDestURL(); | 4089 NavigateToDestURL(); |
| 4069 } | 4090 } |
| 4070 | 4091 |
| 4071 } // namespace prerender | 4092 } // namespace prerender |
| OLD | NEW |