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

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

Issue 2799883003: Switch from TestBrowserThread to TestBrowserThreadBundle in chrome. (Closed)
Patch Set: fix-string Created 3 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
OLDNEW
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"
16 #include "base/metrics/field_trial.h" 15 #include "base/metrics/field_trial.h"
17 #include "base/metrics/field_trial_param_associator.h" 16 #include "base/metrics/field_trial_param_associator.h"
18 #include "base/metrics/field_trial_params.h" 17 #include "base/metrics/field_trial_params.h"
19 #include "base/strings/stringprintf.h" 18 #include "base/strings/stringprintf.h"
20 #include "base/test/histogram_tester.h" 19 #include "base/test/histogram_tester.h"
21 #include "base/test/scoped_feature_list.h" 20 #include "base/test/scoped_feature_list.h"
22 #include "base/test/simple_test_clock.h" 21 #include "base/test/simple_test_clock.h"
23 #include "base/test/simple_test_tick_clock.h" 22 #include "base/test/simple_test_tick_clock.h"
24 #include "base/time/time.h" 23 #include "base/time/time.h"
25 #include "chrome/browser/net/prediction_options.h" 24 #include "chrome/browser/net/prediction_options.h"
26 #include "chrome/browser/prerender/prerender_contents.h" 25 #include "chrome/browser/prerender/prerender_contents.h"
27 #include "chrome/browser/prerender/prerender_field_trial.h" 26 #include "chrome/browser/prerender/prerender_field_trial.h"
28 #include "chrome/browser/prerender/prerender_handle.h" 27 #include "chrome/browser/prerender/prerender_handle.h"
29 #include "chrome/browser/prerender/prerender_link_manager.h" 28 #include "chrome/browser/prerender/prerender_link_manager.h"
30 #include "chrome/browser/prerender/prerender_manager.h" 29 #include "chrome/browser/prerender/prerender_manager.h"
31 #include "chrome/browser/prerender/prerender_origin.h" 30 #include "chrome/browser/prerender/prerender_origin.h"
32 #include "chrome/browser/prerender/prerender_test_utils.h" 31 #include "chrome/browser/prerender/prerender_test_utils.h"
33 #include "chrome/common/chrome_switches.h" 32 #include "chrome/common/chrome_switches.h"
34 #include "chrome/common/pref_names.h" 33 #include "chrome/common/pref_names.h"
35 #include "chrome/common/prerender_types.h" 34 #include "chrome/common/prerender_types.h"
36 #include "chrome/test/base/testing_browser_process.h" 35 #include "chrome/test/base/testing_browser_process.h"
37 #include "chrome/test/base/testing_profile.h" 36 #include "chrome/test/base/testing_profile.h"
38 #include "components/content_settings/core/common/pref_names.h" 37 #include "components/content_settings/core/common/pref_names.h"
39 #include "components/prefs/pref_service.h" 38 #include "components/prefs/pref_service.h"
40 #include "content/public/browser/render_view_host.h" 39 #include "content/public/browser/render_view_host.h"
41 #include "content/public/test/test_browser_thread.h" 40 #include "content/public/test/test_browser_thread_bundle.h"
42 #include "net/base/network_change_notifier.h" 41 #include "net/base/network_change_notifier.h"
43 #include "net/http/http_cache.h" 42 #include "net/http/http_cache.h"
44 #include "testing/gtest/include/gtest/gtest.h" 43 #include "testing/gtest/include/gtest/gtest.h"
45 #include "ui/gfx/geometry/rect.h" 44 #include "ui/gfx/geometry/rect.h"
46 #include "ui/gfx/geometry/size.h" 45 #include "ui/gfx/geometry/size.h"
47 #include "url/gurl.h" 46 #include "url/gurl.h"
48 47
49 using base::Time; 48 using base::Time;
50 using base::TimeDelta; 49 using base::TimeDelta;
51 using base::TimeTicks; 50 using base::TimeTicks;
52 using content::BrowserThread;
53 using content::Referrer; 51 using content::Referrer;
54 52
55 namespace prerender { 53 namespace prerender {
56 54
57 class UnitTestPrerenderManager; 55 class UnitTestPrerenderManager;
58 56
59 namespace { 57 namespace {
60 58
61 class DummyPrerenderContents : public PrerenderContents { 59 class DummyPrerenderContents : public PrerenderContents {
62 public: 60 public:
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 test_prerender_manager_->DummyPrerenderContentsStarted(-1, route_id_, this); 320 test_prerender_manager_->DummyPrerenderContentsStarted(-1, route_id_, this);
323 NotifyPrerenderStart(); 321 NotifyPrerenderStart();
324 } 322 }
325 323
326 class PrerenderTest : public testing::Test { 324 class PrerenderTest : public testing::Test {
327 public: 325 public:
328 static const int kDefaultChildId = -1; 326 static const int kDefaultChildId = -1;
329 static const int kDefaultRenderViewRouteId = -1; 327 static const int kDefaultRenderViewRouteId = -1;
330 328
331 PrerenderTest() 329 PrerenderTest()
332 : ui_thread_(BrowserThread::UI, &message_loop_), 330 : prerender_manager_(new UnitTestPrerenderManager(&profile_)),
333 prerender_manager_(new UnitTestPrerenderManager(&profile_)),
334 prerender_link_manager_( 331 prerender_link_manager_(
335 new PrerenderLinkManager(prerender_manager_.get())), 332 new PrerenderLinkManager(prerender_manager_.get())),
336 last_prerender_id_(0), 333 last_prerender_id_(0),
337 field_trial_list_(nullptr) { 334 field_trial_list_(nullptr) {
338 prerender_manager()->SetIsLowEndDevice(false); 335 prerender_manager()->SetIsLowEndDevice(false);
339 336
340 // Enable omnibox prerendering. 337 // Enable omnibox prerendering.
341 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( 338 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
342 switches::kPrerenderFromOmnibox, 339 switches::kPrerenderFromOmnibox,
343 switches::kPrerenderFromOmniboxSwitchValueEnabled); 340 switches::kPrerenderFromOmniboxSwitchValueEnabled);
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 std::map<std::string, std::string> actual_params; 440 std::map<std::string, std::string> actual_params;
444 ASSERT_TRUE(base::GetFieldTrialParamsByFeature(kNoStatePrefetchFeature, 441 ASSERT_TRUE(base::GetFieldTrialParamsByFeature(kNoStatePrefetchFeature,
445 &actual_params)); 442 &actual_params));
446 ASSERT_EQ(params, actual_params); 443 ASSERT_EQ(params, actual_params);
447 } 444 }
448 445
449 const base::HistogramTester& histogram_tester() { return histogram_tester_; } 446 const base::HistogramTester& histogram_tester() { return histogram_tester_; }
450 447
451 private: 448 private:
452 // Needed to pass PrerenderManager's DCHECKs. 449 // Needed to pass PrerenderManager's DCHECKs.
453 base::MessageLoop message_loop_; 450 content::TestBrowserThreadBundle test_browser_thread_bundle_;
454 content::TestBrowserThread ui_thread_;
455 451
456 TestingProfile profile_; 452 TestingProfile profile_;
457 std::unique_ptr<UnitTestPrerenderManager> prerender_manager_; 453 std::unique_ptr<UnitTestPrerenderManager> prerender_manager_;
458 std::unique_ptr<PrerenderLinkManager> prerender_link_manager_; 454 std::unique_ptr<PrerenderLinkManager> prerender_link_manager_;
459 int last_prerender_id_; 455 int last_prerender_id_;
460 base::HistogramTester histogram_tester_; 456 base::HistogramTester histogram_tester_;
461 457
462 // An instance of base::FieldTrialList is necessary in order to initialize 458 // An instance of base::FieldTrialList is necessary in order to initialize
463 // global state. 459 // global state.
464 base::FieldTrialList field_trial_list_; 460 base::FieldTrialList field_trial_list_;
(...skipping 1689 matching lines...) Expand 10 before | Expand all | Expand 10 after
2154 2150
2155 TestNetworkBytesChangedObserver observer; 2151 TestNetworkBytesChangedObserver observer;
2156 prerender_handle->SetObserver(&observer); 2152 prerender_handle->SetObserver(&observer);
2157 2153
2158 prerender_contents->AddNetworkBytes(12); 2154 prerender_contents->AddNetworkBytes(12);
2159 EXPECT_TRUE(observer.network_bytes_changed()); 2155 EXPECT_TRUE(observer.network_bytes_changed());
2160 EXPECT_EQ(12, prerender_contents->network_bytes()); 2156 EXPECT_EQ(12, prerender_contents->network_bytes());
2161 } 2157 }
2162 2158
2163 } // namespace prerender 2159 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698