Chromium Code Reviews| Index: chrome/browser/prerender/prerender_unittest.cc |
| diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc |
| index 9eed34f007b685d0d6451ad717db9b6ce2b6ae40..46debd9a70fa57dc69285fa6585351e399ac6ddf 100644 |
| --- a/chrome/browser/prerender/prerender_unittest.cc |
| +++ b/chrome/browser/prerender/prerender_unittest.cc |
| @@ -216,6 +216,13 @@ class UnitTestPrerenderManager : public PrerenderManager { |
| prerender_contents_map_.erase(std::make_pair(child_id, route_id)); |
| } |
| + void SetIsLowEndDevice(bool is_low_end_device) { |
| + is_low_end_device_ = is_low_end_device; |
| + } |
| + |
| + protected: |
| + bool IsLowEndDevice() override { return is_low_end_device_; } |
|
mmenke
2016/08/03 15:10:58
Doesn't really matter, but this can be private
pasko
2016/08/03 15:30:18
Done.
|
| + |
| private: |
| DummyPrerenderContents* SetNextPrerenderContents( |
| std::unique_ptr<DummyPrerenderContents> prerender_contents) { |
| @@ -244,6 +251,7 @@ class UnitTestPrerenderManager : public PrerenderManager { |
| Time time_; |
| TimeTicks time_ticks_; |
| std::unique_ptr<PrerenderContents> next_prerender_contents_; |
| + bool is_low_end_device_; |
| }; |
| class RestorePrerenderMode { |
| @@ -322,6 +330,8 @@ class PrerenderTest : public testing::Test { |
| prerender_manager_->Shutdown(); |
| } |
| + void SetUp() override { prerender_manager()->SetIsLowEndDevice(false); } |
|
mmenke
2016/08/03 15:10:58
Can just put this in the constructor. Each test i
pasko
2016/08/03 15:30:17
Ah, there is some stuff already in the constructor
mmenke
2016/08/03 15:36:43
We aren't doing any virtual calls to the test fixt
|
| + |
| UnitTestPrerenderManager* prerender_manager() { |
| return prerender_manager_.get(); |
| } |
| @@ -437,6 +447,29 @@ TEST_F(PrerenderTest, OfflinePrerenderIgnoresThirdPartyCookiesPref) { |
| EXPECT_EQ(ORIGIN_OFFLINE, prerender_handle->contents()->origin()); |
| } |
| +TEST_F(PrerenderTest, PrerenderDisabledOnLowEndDevice) { |
| + GURL url("http://www.google.com/"); |
| + ASSERT_TRUE(PrerenderManager::IsPrerenderingPossible()); |
| + prerender_manager()->SetIsLowEndDevice(true); |
| + EXPECT_FALSE(AddSimplePrerender(url)); |
| +} |
| + |
| +TEST_F(PrerenderTest, OfflinePrerenderPossibleOnLowEndDevice) { |
| + GURL url("http://www.google.com/"); |
| + ASSERT_TRUE(PrerenderManager::IsPrerenderingPossible()); |
| + |
| + prerender_manager()->SetIsLowEndDevice(true); |
| + |
| + DummyPrerenderContents* prerender_contents = |
| + prerender_manager()->CreateNextPrerenderContents( |
| + url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); |
| + std::unique_ptr<PrerenderHandle> prerender_handle( |
| + prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize)); |
| + EXPECT_TRUE(prerender_handle); |
| + EXPECT_TRUE(prerender_handle->IsPrerendering()); |
| + EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| +} |
| + |
| TEST_F(PrerenderTest, FoundTest) { |
| GURL url("http://www.google.com/"); |
| DummyPrerenderContents* prerender_contents = |