Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| 11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 12 #include "base/format_macros.h" | 12 #include "base/format_macros.h" |
| 13 #include "base/macros.h" | 13 #include "base/macros.h" |
| 14 #include "base/memory/ptr_util.h" | 14 #include "base/memory/ptr_util.h" |
| 15 #include "base/message_loop/message_loop.h" | 15 #include "base/message_loop/message_loop.h" |
| 16 #include "base/metrics/field_trial.h" | 16 #include "base/metrics/field_trial.h" |
| 17 #include "base/strings/stringprintf.h" | 17 #include "base/strings/stringprintf.h" |
| 18 #include "base/sys_info.h" | |
| 19 #include "base/test/mock_entropy_provider.h" | |
| 18 #include "base/time/time.h" | 20 #include "base/time/time.h" |
| 19 #include "chrome/browser/net/prediction_options.h" | 21 #include "chrome/browser/net/prediction_options.h" |
| 20 #include "chrome/browser/prerender/prerender_contents.h" | 22 #include "chrome/browser/prerender/prerender_contents.h" |
| 21 #include "chrome/browser/prerender/prerender_field_trial.h" | 23 #include "chrome/browser/prerender/prerender_field_trial.h" |
| 22 #include "chrome/browser/prerender/prerender_handle.h" | 24 #include "chrome/browser/prerender/prerender_handle.h" |
| 23 #include "chrome/browser/prerender/prerender_link_manager.h" | 25 #include "chrome/browser/prerender/prerender_link_manager.h" |
| 24 #include "chrome/browser/prerender/prerender_manager.h" | 26 #include "chrome/browser/prerender/prerender_manager.h" |
| 25 #include "chrome/browser/prerender/prerender_origin.h" | 27 #include "chrome/browser/prerender/prerender_origin.h" |
| 26 #include "chrome/common/chrome_switches.h" | 28 #include "chrome/common/chrome_switches.h" |
| 27 #include "chrome/common/pref_names.h" | 29 #include "chrome/common/pref_names.h" |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 430 url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); | 432 url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); |
| 431 std::unique_ptr<PrerenderHandle> prerender_handle( | 433 std::unique_ptr<PrerenderHandle> prerender_handle( |
| 432 prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize)); | 434 prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize)); |
| 433 EXPECT_TRUE(prerender_handle); | 435 EXPECT_TRUE(prerender_handle); |
| 434 EXPECT_TRUE(prerender_handle->IsPrerendering()); | 436 EXPECT_TRUE(prerender_handle->IsPrerendering()); |
| 435 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 437 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| 436 EXPECT_EQ(prerender_contents, prerender_handle->contents()); | 438 EXPECT_EQ(prerender_contents, prerender_handle->contents()); |
| 437 EXPECT_EQ(ORIGIN_OFFLINE, prerender_handle->contents()->origin()); | 439 EXPECT_EQ(ORIGIN_OFFLINE, prerender_handle->contents()->origin()); |
| 438 } | 440 } |
| 439 | 441 |
| 442 TEST_F(PrerenderTest, PrerenderDisabledOnLowEndDevice) { | |
| 443 GURL url("http://www.google.com/"); | |
| 444 ASSERT_TRUE(PrerenderManager::IsPrerenderingPossible()); | |
| 445 | |
| 446 // Instantiate the low end device trial. | |
| 447 base::FieldTrialList::CreateFieldTrial("MemoryReduction", "Enabled"); | |
| 448 ASSERT_TRUE(base::SysInfo::IsLowEndDevice()); | |
| 449 | |
| 450 EXPECT_FALSE(AddSimplePrerender(url)); | |
|
mmenke
2016/07/29 15:57:09
I assume most of the other tests now fail on low e
pasko
2016/07/29 16:10:00
This test "fakes" running on low end (i.e. svelte)
mmenke
2016/07/29 16:12:27
Just because none of the bots run on svelte device
pasko
2016/07/29 17:25:03
I disagree.
Chrome is a large project such that w
| |
| 451 } | |
| 452 | |
| 453 TEST_F(PrerenderTest, OfflinePrerenderPossibleOnLowEndDevice) { | |
| 454 GURL url("http://www.google.com/"); | |
| 455 ASSERT_TRUE(PrerenderManager::IsPrerenderingPossible()); | |
| 456 | |
| 457 // Instantiate the low end device trial. | |
| 458 base::FieldTrialList::CreateFieldTrial("MemoryReduction", "Enabled"); | |
| 459 ASSERT_TRUE(base::SysInfo::IsLowEndDevice()); | |
| 460 | |
| 461 DummyPrerenderContents* prerender_contents = | |
| 462 prerender_manager()->CreateNextPrerenderContents( | |
| 463 url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); | |
| 464 std::unique_ptr<PrerenderHandle> prerender_handle( | |
| 465 prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize)); | |
| 466 EXPECT_TRUE(prerender_handle); | |
| 467 EXPECT_TRUE(prerender_handle->IsPrerendering()); | |
| 468 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | |
| 469 } | |
| 470 | |
| 440 TEST_F(PrerenderTest, FoundTest) { | 471 TEST_F(PrerenderTest, FoundTest) { |
| 441 GURL url("http://www.google.com/"); | 472 GURL url("http://www.google.com/"); |
| 442 DummyPrerenderContents* prerender_contents = | 473 DummyPrerenderContents* prerender_contents = |
| 443 prerender_manager()->CreateNextPrerenderContents( | 474 prerender_manager()->CreateNextPrerenderContents( |
| 444 url, | 475 url, |
| 445 FINAL_STATUS_USED); | 476 FINAL_STATUS_USED); |
| 446 EXPECT_TRUE(AddSimplePrerender(url)); | 477 EXPECT_TRUE(AddSimplePrerender(url)); |
| 447 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 478 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| 448 std::unique_ptr<PrerenderContents> entry = | 479 std::unique_ptr<PrerenderContents> entry = |
| 449 prerender_manager()->FindAndUseEntry(url); | 480 prerender_manager()->FindAndUseEntry(url); |
| (...skipping 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1628 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 1659 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| 1629 EXPECT_EQ(prerender_contents, prerender_handle->contents()); | 1660 EXPECT_EQ(prerender_contents, prerender_handle->contents()); |
| 1630 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin()); | 1661 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin()); |
| 1631 std::unique_ptr<PrerenderContents> entry = | 1662 std::unique_ptr<PrerenderContents> entry = |
| 1632 prerender_manager()->FindAndUseEntry(url); | 1663 prerender_manager()->FindAndUseEntry(url); |
| 1633 ASSERT_EQ(prerender_contents, entry.get()); | 1664 ASSERT_EQ(prerender_contents, entry.get()); |
| 1634 EXPECT_FALSE(prerender_handle->IsPrerendering()); | 1665 EXPECT_FALSE(prerender_handle->IsPrerendering()); |
| 1635 } | 1666 } |
| 1636 | 1667 |
| 1637 } // namespace prerender | 1668 } // namespace prerender |
| OLD | NEW |