| 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 428 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 439       PrerenderManager* prerender_manager, | 439       PrerenderManager* prerender_manager, | 
| 440       Profile* profile, | 440       Profile* profile, | 
| 441       const GURL& url, | 441       const GURL& url, | 
| 442       const content::Referrer& referrer, | 442       const content::Referrer& referrer, | 
| 443       Origin origin, | 443       Origin origin, | 
| 444       uint8 experiment_id) OVERRIDE { | 444       uint8 experiment_id) OVERRIDE { | 
| 445     FinalStatus expected_final_status = FINAL_STATUS_MAX; | 445     FinalStatus expected_final_status = FINAL_STATUS_MAX; | 
| 446     if (!expected_final_status_queue_.empty()) { | 446     if (!expected_final_status_queue_.empty()) { | 
| 447       expected_final_status = expected_final_status_queue_.front(); | 447       expected_final_status = expected_final_status_queue_.front(); | 
| 448       expected_final_status_queue_.pop_front(); | 448       expected_final_status_queue_.pop_front(); | 
|  | 449     } else { | 
|  | 450       // There shouldn't be any unexpected prerenders. | 
|  | 451       ADD_FAILURE() << "Unexpected prerender attempt"; | 
| 449     } | 452     } | 
| 450     VLOG(1) << "Creating prerender contents for " << url.path() << | 453     VLOG(1) << "Creating prerender contents for " << url.path() << | 
| 451                " with expected final status " << expected_final_status; | 454                " with expected final status " << expected_final_status; | 
| 452     VLOG(1) << expected_final_status_queue_.size() << " left in the queue."; | 455     VLOG(1) << expected_final_status_queue_.size() << " left in the queue."; | 
| 453     return new TestPrerenderContents(prerender_manager, | 456     return new TestPrerenderContents(prerender_manager, | 
| 454                                      profile, url, referrer, origin, | 457                                      profile, url, referrer, origin, | 
| 455                                      expected_number_of_loads_, | 458                                      expected_number_of_loads_, | 
| 456                                      expected_final_status, | 459                                      expected_final_status, | 
| 457                                      prerender_should_wait_for_ready_title_); | 460                                      prerender_should_wait_for_ready_title_); | 
| 458   } | 461   } | 
| (...skipping 1995 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2454 | 2457 | 
| 2455   MessageLoop::current()->PostTask( | 2458   MessageLoop::current()->PostTask( | 
| 2456       FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); | 2459       FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); | 
| 2457   content::RunMessageLoop(); | 2460   content::RunMessageLoop(); | 
| 2458 | 2461 | 
| 2459   EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 2462   EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 
| 2460   EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0)); | 2463   EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0)); | 
| 2461   EXPECT_FALSE(HadPrerenderEventErrors()); | 2464   EXPECT_FALSE(HadPrerenderEventErrors()); | 
| 2462 } | 2465 } | 
| 2463 | 2466 | 
|  | 2467 // Cancels the prerender of a page with its own prerender.  The second prerender | 
|  | 2468 // should never be started. | 
|  | 2469 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | 
|  | 2470                        PrerenderCancelPrerenderWithPrerender) { | 
|  | 2471   PrerenderTestURL("files/prerender/prerender_infinite_a.html", | 
|  | 2472                    FINAL_STATUS_CANCELLED, | 
|  | 2473                    1); | 
|  | 2474   // Post a task to cancel all the prerenders. | 
|  | 2475   MessageLoop::current()->PostTask( | 
|  | 2476       FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); | 
|  | 2477   content::RunMessageLoop(); | 
|  | 2478   EXPECT_TRUE(GetPrerenderContents() == NULL); | 
|  | 2479 } | 
|  | 2480 | 
| 2464 // PrerenderBrowserTest.PrerenderEventsNoLoad may pass flakily on regression, | 2481 // PrerenderBrowserTest.PrerenderEventsNoLoad may pass flakily on regression, | 
| 2465 // so please be aggressive about filing bugs when this test is failing. | 2482 // so please be aggressive about filing bugs when this test is failing. | 
| 2466 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEventsNoLoad) { | 2483 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEventsNoLoad) { | 
| 2467   // This should be canceled. | 2484   // This should be canceled. | 
| 2468   PrerenderTestURL("files/prerender/prerender_http_auth_container.html", | 2485   PrerenderTestURL("files/prerender/prerender_http_auth_container.html", | 
| 2469                    FINAL_STATUS_AUTH_NEEDED, | 2486                    FINAL_STATUS_AUTH_NEEDED, | 
| 2470                    1); | 2487                    1); | 
| 2471   EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 2488   EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 
| 2472   EXPECT_FALSE(DidReceivePrerenderLoadEventForLinkNumber(0)); | 2489   EXPECT_FALSE(DidReceivePrerenderLoadEventForLinkNumber(0)); | 
| 2473   EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 2490   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()-> | 2742   channel_close_watcher.WatchChannel(browser()->tab_strip_model()-> | 
| 2726       GetActiveWebContents()->GetRenderProcessHost()); | 2743       GetActiveWebContents()->GetRenderProcessHost()); | 
| 2727   NavigateToDestURL(); | 2744   NavigateToDestURL(); | 
| 2728   channel_close_watcher.WaitForChannelClose(); | 2745   channel_close_watcher.WaitForChannelClose(); | 
| 2729 | 2746 | 
| 2730   ASSERT_TRUE(IsEmptyPrerenderLinkManager()); | 2747   ASSERT_TRUE(IsEmptyPrerenderLinkManager()); | 
| 2731   ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); | 2748   ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); | 
| 2732 } | 2749 } | 
| 2733 | 2750 | 
| 2734 }  // namespace prerender | 2751 }  // namespace prerender | 
| OLD | NEW | 
|---|