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/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
(...skipping 2443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2454 | 2454 |
2455 MessageLoop::current()->PostTask( | 2455 MessageLoop::current()->PostTask( |
2456 FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); | 2456 FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
2457 content::RunMessageLoop(); | 2457 content::RunMessageLoop(); |
2458 | 2458 |
2459 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 2459 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
2460 EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0)); | 2460 EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0)); |
2461 EXPECT_FALSE(HadPrerenderEventErrors()); | 2461 EXPECT_FALSE(HadPrerenderEventErrors()); |
2462 } | 2462 } |
2463 | 2463 |
| 2464 // Cancels the prerender of a page with its own prerender. The second prerender |
| 2465 // should never be started. |
| 2466 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| 2467 PrerenderCancelPrerenderWithPrerender) { |
| 2468 PrerenderTestURL("files/prerender/prerender_infinite_a.html", |
| 2469 FINAL_STATUS_CANCELLED, |
| 2470 1); |
| 2471 // Post a task to cancel all the prerenders. |
| 2472 MessageLoop::current()->PostTask( |
| 2473 FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
| 2474 content::RunMessageLoop(); |
| 2475 EXPECT_TRUE(GetPrerenderContents() == NULL); |
| 2476 } |
| 2477 |
2464 // PrerenderBrowserTest.PrerenderEventsNoLoad may pass flakily on regression, | 2478 // PrerenderBrowserTest.PrerenderEventsNoLoad may pass flakily on regression, |
2465 // so please be aggressive about filing bugs when this test is failing. | 2479 // so please be aggressive about filing bugs when this test is failing. |
2466 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEventsNoLoad) { | 2480 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEventsNoLoad) { |
2467 // This should be canceled. | 2481 // This should be canceled. |
2468 PrerenderTestURL("files/prerender/prerender_http_auth_container.html", | 2482 PrerenderTestURL("files/prerender/prerender_http_auth_container.html", |
2469 FINAL_STATUS_AUTH_NEEDED, | 2483 FINAL_STATUS_AUTH_NEEDED, |
2470 1); | 2484 1); |
2471 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 2485 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
2472 EXPECT_FALSE(DidReceivePrerenderLoadEventForLinkNumber(0)); | 2486 EXPECT_FALSE(DidReceivePrerenderLoadEventForLinkNumber(0)); |
2473 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 2487 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2725 channel_close_watcher.WatchChannel(browser()->tab_strip_model()-> | 2739 channel_close_watcher.WatchChannel(browser()->tab_strip_model()-> |
2726 GetActiveWebContents()->GetRenderProcessHost()); | 2740 GetActiveWebContents()->GetRenderProcessHost()); |
2727 NavigateToDestURL(); | 2741 NavigateToDestURL(); |
2728 channel_close_watcher.WaitForChannelClose(); | 2742 channel_close_watcher.WaitForChannelClose(); |
2729 | 2743 |
2730 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); | 2744 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); |
2731 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); | 2745 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
2732 } | 2746 } |
2733 | 2747 |
2734 } // namespace prerender | 2748 } // namespace prerender |
OLD | NEW |