| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/memory/scoped_vector.h" | 5 #include "base/memory/scoped_vector.h" |
| 6 #include "base/time.h" | 6 #include "base/time.h" |
| 7 #include "chrome/browser/prerender/prerender_contents.h" | 7 #include "chrome/browser/prerender/prerender_contents.h" |
| 8 #include "chrome/browser/prerender/prerender_manager.h" | 8 #include "chrome/browser/prerender/prerender_manager.h" |
| 9 #include "chrome/test/testing_browser_process.h" | 9 #include "chrome/test/testing_browser_process.h" |
| 10 #include "content/browser/browser_thread.h" | 10 #include "content/browser/browser_thread.h" |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 414 FINAL_STATUS_USED); | 414 FINAL_STATUS_USED); |
| 415 EXPECT_TRUE(prerender_manager()->AddSimplePreload(url)); | 415 EXPECT_TRUE(prerender_manager()->AddSimplePreload(url)); |
| 416 | 416 |
| 417 int child_id; | 417 int child_id; |
| 418 int route_id; | 418 int route_id; |
| 419 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); | 419 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); |
| 420 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); | 420 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); |
| 421 | 421 |
| 422 GURL pending_url("http://news.google.com/"); | 422 GURL pending_url("http://news.google.com/"); |
| 423 | 423 |
| 424 prerender_manager()->AddPendingPreload(std::make_pair(child_id, route_id), | 424 EXPECT_TRUE( |
| 425 pending_url, | 425 prerender_manager()->AddPreload(std::make_pair(child_id, route_id), |
| 426 url); | 426 pending_url, |
| 427 url)); |
| 427 | 428 |
| 428 EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url)); | 429 EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url)); |
| 429 EXPECT_TRUE(prerender_contents->has_started()); | 430 EXPECT_TRUE(prerender_contents->has_started()); |
| 430 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 431 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
| 431 } | 432 } |
| 432 | 433 |
| 433 TEST_F(PrerenderManagerTest, PendingPreloadSkippedTest) { | |
| 434 GURL url("http://www.google.com/"); | |
| 435 DummyPrerenderContents* prerender_contents = | |
| 436 prerender_manager()->CreateNextPrerenderContents( | |
| 437 url, | |
| 438 FINAL_STATUS_TIMED_OUT); | |
| 439 | |
| 440 int child_id; | |
| 441 int route_id; | |
| 442 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); | |
| 443 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); | |
| 444 | |
| 445 EXPECT_TRUE(prerender_manager()->AddSimplePreload(url)); | |
| 446 prerender_manager()->AdvanceTime(prerender_manager()->max_prerender_age() | |
| 447 + base::TimeDelta::FromSeconds(1)); | |
| 448 // GetEntry will cull old entries which should now include prerender_contents. | |
| 449 ASSERT_EQ(NULL, prerender_manager()->GetEntry(url)); | |
| 450 | |
| 451 GURL pending_url("http://news.google.com/"); | |
| 452 | |
| 453 prerender_manager()->AddPendingPreload(std::make_pair(child_id, route_id), | |
| 454 pending_url, | |
| 455 url); | |
| 456 EXPECT_FALSE(prerender_manager()->IsPendingEntry(pending_url)); | |
| 457 } | |
| 458 | |
| 459 // Ensure that extracting a urlencoded URL in the url= query string component | 434 // Ensure that extracting a urlencoded URL in the url= query string component |
| 460 // works. | 435 // works. |
| 461 TEST_F(PrerenderManagerTest, ExtractURLInQueryStringTest) { | 436 TEST_F(PrerenderManagerTest, ExtractURLInQueryStringTest) { |
| 462 GURL result; | 437 GURL result; |
| 463 EXPECT_TRUE(PrerenderManager::MaybeGetQueryStringBasedAliasURL( | 438 EXPECT_TRUE(PrerenderManager::MaybeGetQueryStringBasedAliasURL( |
| 464 GURL("http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBcQFjAA&url=htt
p%3A%2F%2Fwww.abercrombie.com%2Fwebapp%2Fwcs%2Fstores%2Fservlet%2FStoreLocator%3
FcatalogId%3D%26storeId%3D10051%26langId%3D-1&rct=j&q=allinurl%3A%26&ei=KLyUTYGS
EdTWiAKUmLCdCQ&usg=AFQjCNF8nJ2MpBFfr1ijO39_f22bcKyccw&sig2=2ymyGpO0unJwU1d4kdCUj
Q"), | 439 GURL("http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBcQFjAA&url=htt
p%3A%2F%2Fwww.abercrombie.com%2Fwebapp%2Fwcs%2Fstores%2Fservlet%2FStoreLocator%3
FcatalogId%3D%26storeId%3D10051%26langId%3D-1&rct=j&q=allinurl%3A%26&ei=KLyUTYGS
EdTWiAKUmLCdCQ&usg=AFQjCNF8nJ2MpBFfr1ijO39_f22bcKyccw&sig2=2ymyGpO0unJwU1d4kdCUj
Q"), |
| 465 &result)); | 440 &result)); |
| 466 ASSERT_EQ(GURL("http://www.abercrombie.com/webapp/wcs/stores/servlet/StoreLoca
tor?catalogId=&storeId=10051&langId=-1").spec(), result.spec()); | 441 ASSERT_EQ(GURL("http://www.abercrombie.com/webapp/wcs/stores/servlet/StoreLoca
tor?catalogId=&storeId=10051&langId=-1").spec(), result.spec()); |
| 467 EXPECT_FALSE(PrerenderManager::MaybeGetQueryStringBasedAliasURL( | 442 EXPECT_FALSE(PrerenderManager::MaybeGetQueryStringBasedAliasURL( |
| 468 GURL("http://www.google.com/url?sadf=test&blah=blahblahblah"), &result)); | 443 GURL("http://www.google.com/url?sadf=test&blah=blahblahblah"), &result)); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 DummyPrerenderContents* prerender_contents = | 513 DummyPrerenderContents* prerender_contents = |
| 539 prerender_manager()->CreateNextPrerenderContents(fragment_url, | 514 prerender_manager()->CreateNextPrerenderContents(fragment_url, |
| 540 FINAL_STATUS_USED); | 515 FINAL_STATUS_USED); |
| 541 EXPECT_TRUE(prerender_manager()->AddSimplePreload(fragment_url)); | 516 EXPECT_TRUE(prerender_manager()->AddSimplePreload(fragment_url)); |
| 542 EXPECT_TRUE(prerender_contents->has_started()); | 517 EXPECT_TRUE(prerender_contents->has_started()); |
| 543 ASSERT_EQ(prerender_contents, | 518 ASSERT_EQ(prerender_contents, |
| 544 prerender_manager()->GetEntry(other_fragment_url)); | 519 prerender_manager()->GetEntry(other_fragment_url)); |
| 545 } | 520 } |
| 546 | 521 |
| 547 } // namespace prerender | 522 } // namespace prerender |
| OLD | NEW |