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 |