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

Unified Diff: chrome/browser/prerender/prerender_unittest.cc

Issue 10553029: Handle interface to prerenders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more standard code, simpler handle, no class explosion Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/prerender_unittest.cc
diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc
index 185aeb4049f00e66958724b56300b9bd65e1ec36..41cd9608d0fe81f84afeb962d6741bdc9649c108 100644
--- a/chrome/browser/prerender/prerender_unittest.cc
+++ b/chrome/browser/prerender/prerender_unittest.cc
@@ -7,6 +7,7 @@
#include "base/message_loop.h"
#include "base/time.h"
#include "chrome/browser/prerender/prerender_contents.h"
+#include "chrome/browser/prerender/prerender_handle.h"
#include "chrome/browser/prerender/prerender_link_manager.h"
#include "chrome/browser/prerender/prerender_manager.h"
#include "chrome/browser/prerender/prerender_origin.h"
@@ -52,8 +53,10 @@ class DummyPrerenderContents : public PrerenderContents {
// be called even when the PrerenderManager is part of the control group,
// but it will early exit before actually creating a new RenderView if
// |is_control_group| is true;
- if (!is_control_group)
+ if (!is_control_group) {
prerendering_has_started_ = true;
+ }
+ load_start_time_ = base::TimeTicks::Now();
}
virtual bool GetChildId(int* child_id) const OVERRIDE {
@@ -78,6 +81,8 @@ class DummyPrerenderContents : public PrerenderContents {
class TestPrerenderManager : public PrerenderManager {
public:
+ using PrerenderManager::FindEntry;
+
explicit TestPrerenderManager(PrerenderTracker* prerender_tracker)
: PrerenderManager(&profile_, prerender_tracker),
time_(base::Time::Now()),
@@ -489,12 +494,12 @@ TEST_F(PrerenderTest, PendingPrerenderTest) {
GURL pending_url("http://news.google.com/");
- EXPECT_TRUE(prerender_manager()->AddPrerenderFromLinkRelPrerender(
- child_id, route_id,
- pending_url, Referrer(url, WebKit::WebReferrerPolicyDefault),
- gfx::Size()));
-
- EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url));
+ base::WeakPtr<PrerenderHandle> prerender_handle =
+ prerender_manager()->AddPrerenderFromLinkRelPrerender(
+ child_id, route_id, pending_url,
+ Referrer(url, WebKit::WebReferrerPolicyDefault), gfx::Size());
+ EXPECT_TRUE(prerender_handle);
+ EXPECT_TRUE(prerender_handle && prerender_handle->IsPending());
EXPECT_TRUE(prerender_contents->prerendering_has_started());
ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url));
}
@@ -670,32 +675,6 @@ TEST_F(PrerenderTest, CancelAllTest) {
EXPECT_EQ(null, prerender_manager()->FindEntry(url));
}
-// Make sure canceling for omnibox works as expected.
-TEST_F(PrerenderTest, CancelOmniboxRemovesOmniboxTest) {
- // Check canceling removes the Omnibox url.
- GURL url("http://www.google.com/");
- DummyPrerenderContents* prerender_contents =
- prerender_manager()->CreateNextPrerenderContents(
- url, ORIGIN_OMNIBOX, FINAL_STATUS_CANCELLED);
- EXPECT_TRUE(prerender_manager()->AddPrerenderFromOmnibox(url, NULL));
- EXPECT_TRUE(prerender_contents->prerendering_has_started());
- prerender_manager()->CancelOmniboxPrerenders();
- const DummyPrerenderContents* null = NULL;
- EXPECT_EQ(null, prerender_manager()->FindEntry(url));
-}
-
-TEST_F(PrerenderTest, CancelOmniboxDoesNotRemoveLinkTest) {
- GURL url("http://www.google.com/");
- DummyPrerenderContents* prerender_contents =
- prerender_manager()->CreateNextPrerenderContents(
- url, ORIGIN_LINK_REL_PRERENDER, FINAL_STATUS_MANAGER_SHUTDOWN);
- EXPECT_TRUE(AddSimplePrerender(url));
- EXPECT_TRUE(prerender_contents->prerendering_has_started());
- prerender_manager()->CancelOmniboxPrerenders();
- const DummyPrerenderContents* null = NULL;
- EXPECT_NE(null, prerender_manager()->FindEntry(url));
-}
-
TEST_F(PrerenderTest, OmniboxNotAllowedWhenDisabled) {
prerender_manager()->set_enabled(false);
EXPECT_FALSE(prerender_manager()->AddPrerenderFromOmnibox(

Powered by Google App Engine
This is Rietveld 408576698