summaryrefslogtreecommitdiffstats
path: root/chrome/browser/prerender/prerender_manager_unittest.cc
diff options
context:
space:
mode:
authordominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 19:03:27 +0000
committerdominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 19:03:27 +0000
commit1459fb6d13c6e8da1fd72a569e9410a1d038bd59 (patch)
tree869478ccf95444e29cffb9e5e70acc0015379057 /chrome/browser/prerender/prerender_manager_unittest.cc
parent8b001f3e36a29f590e57d46e8e1b357685eb38c1 (diff)
downloadchromium_src-1459fb6d13c6e8da1fd72a569e9410a1d038bd59.zip
chromium_src-1459fb6d13c6e8da1fd72a569e9410a1d038bd59.tar.gz
chromium_src-1459fb6d13c6e8da1fd72a569e9410a1d038bd59.tar.bz2
Remove a chrome dependency by removing Prerender from ResourceDispatcherHost.
BUG=82590,77090 TEST=Prerender* Review URL: http://codereview.chromium.org/6966017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86667 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prerender/prerender_manager_unittest.cc')
-rw-r--r--chrome/browser/prerender/prerender_manager_unittest.cc28
1 files changed, 21 insertions, 7 deletions
diff --git a/chrome/browser/prerender/prerender_manager_unittest.cc b/chrome/browser/prerender/prerender_manager_unittest.cc
index 489aa3c..c1a8973 100644
--- a/chrome/browser/prerender/prerender_manager_unittest.cc
+++ b/chrome/browser/prerender/prerender_manager_unittest.cc
@@ -6,6 +6,7 @@
#include "base/time.h"
#include "chrome/browser/prerender/prerender_contents.h"
#include "chrome/browser/prerender/prerender_manager.h"
+#include "chrome/test/testing_browser_process.h"
#include "content/browser/browser_thread.h"
#include "content/browser/renderer_host/render_view_host.h"
#include "content/browser/renderer_host/render_process_host.h"
@@ -19,9 +20,11 @@ namespace {
class DummyPrerenderContents : public PrerenderContents {
public:
DummyPrerenderContents(PrerenderManager* prerender_manager,
+ PrerenderTracker* prerender_tracker,
const GURL& url,
FinalStatus expected_final_status)
- : PrerenderContents(prerender_manager, NULL, url, GURL()),
+ : PrerenderContents(prerender_manager, prerender_tracker, NULL, url,
+ GURL()),
has_started_(false),
expected_final_status_(expected_final_status) {
}
@@ -56,11 +59,12 @@ class DummyPrerenderContents : public PrerenderContents {
class TestPrerenderManager : public PrerenderManager {
public:
- TestPrerenderManager()
- : PrerenderManager(NULL),
+ explicit TestPrerenderManager(PrerenderTracker* prerender_tracker)
+ : PrerenderManager(NULL, prerender_tracker),
time_(base::Time::Now()),
time_ticks_(base::TimeTicks::Now()),
- next_prerender_contents_(NULL) {
+ next_prerender_contents_(NULL),
+ prerender_tracker_(prerender_tracker) {
rate_limit_enabled_ = false;
}
@@ -92,7 +96,8 @@ class TestPrerenderManager : public PrerenderManager {
const GURL& url,
FinalStatus expected_final_status) {
DummyPrerenderContents* prerender_contents =
- new DummyPrerenderContents(this, url, expected_final_status);
+ new DummyPrerenderContents(this, prerender_tracker_, url,
+ expected_final_status);
SetNextPrerenderContents(prerender_contents);
return prerender_contents;
}
@@ -102,7 +107,8 @@ class TestPrerenderManager : public PrerenderManager {
const std::vector<GURL>& alias_urls,
FinalStatus expected_final_status) {
DummyPrerenderContents* prerender_contents =
- new DummyPrerenderContents(this, url, expected_final_status);
+ new DummyPrerenderContents(this, prerender_tracker_, url,
+ expected_final_status);
for (std::vector<GURL>::const_iterator it = alias_urls.begin();
it != alias_urls.end();
++it) {
@@ -156,6 +162,8 @@ class TestPrerenderManager : public PrerenderManager {
// PrerenderContents with an |expected_final_status| of FINAL_STATUS_USED,
// tracked so they will be automatically deleted.
ScopedVector<PrerenderContents> used_prerender_contents_;
+
+ PrerenderTracker* prerender_tracker_;
};
class RestorePrerenderMode {
@@ -173,7 +181,8 @@ class RestorePrerenderMode {
class PrerenderManagerTest : public testing::Test {
public:
PrerenderManagerTest() : ui_thread_(BrowserThread::UI, &message_loop_),
- prerender_manager_(new TestPrerenderManager()) {
+ prerender_manager_(
+ new TestPrerenderManager(prerender_tracker())) {
}
TestPrerenderManager* prerender_manager() {
@@ -181,7 +190,12 @@ class PrerenderManagerTest : public testing::Test {
}
private:
+ PrerenderTracker* prerender_tracker() {
+ return browser_process_.get()->prerender_tracker();
+ }
+
// Needed to pass PrerenderManager's DCHECKs.
+ ScopedTestingBrowserProcess browser_process_;
MessageLoop message_loop_;
BrowserThread ui_thread_;
scoped_ptr<TestPrerenderManager> prerender_manager_;