Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: chrome/browser/prerender/prerender_manager_unittest.cc

Issue 7077009: Handle AddPreload/AddPendingPreload on UI thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698