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 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 } | 89 } |
90 | 90 |
91 private: | 91 private: |
92 static int g_next_route_id_; | 92 static int g_next_route_id_; |
93 int route_id_; | 93 int route_id_; |
94 | 94 |
95 UnitTestPrerenderManager* test_prerender_manager_; | 95 UnitTestPrerenderManager* test_prerender_manager_; |
96 FinalStatus expected_final_status_; | 96 FinalStatus expected_final_status_; |
97 }; | 97 }; |
98 | 98 |
| 99 class TestNetworkBytesChangedObserver |
| 100 : public prerender::PrerenderHandle::Observer { |
| 101 public: |
| 102 TestNetworkBytesChangedObserver() : network_bytes_changed_(false) {} |
| 103 |
| 104 // prerender::PrerenderHandle::Observer |
| 105 void OnPrerenderStart(PrerenderHandle* prerender_handle) override {} |
| 106 void OnPrerenderStopLoading(PrerenderHandle* prerender_handle) override {} |
| 107 void OnPrerenderDomContentLoaded(PrerenderHandle* prerender_handle) override { |
| 108 } |
| 109 void OnPrerenderStop(PrerenderHandle* prerender_handle) override {} |
| 110 void OnPrerenderNetworkBytesChanged( |
| 111 PrerenderHandle* prerender_handle) override { |
| 112 network_bytes_changed_ = true; |
| 113 } |
| 114 |
| 115 bool network_bytes_changed() const { return network_bytes_changed_; } |
| 116 |
| 117 private: |
| 118 bool network_bytes_changed_; |
| 119 |
| 120 DISALLOW_COPY_AND_ASSIGN(TestNetworkBytesChangedObserver); |
| 121 }; |
| 122 |
99 int DummyPrerenderContents::g_next_route_id_ = 0; | 123 int DummyPrerenderContents::g_next_route_id_ = 0; |
100 | 124 |
101 const gfx::Size kSize(640, 480); | 125 const gfx::Size kSize(640, 480); |
102 | 126 |
103 const uint32_t kDefaultRelTypes = PrerenderRelTypePrerender; | 127 const uint32_t kDefaultRelTypes = PrerenderRelTypePrerender; |
104 | 128 |
105 base::SimpleTestTickClock* OverridePrerenderManagerTimeTicks( | 129 base::SimpleTestTickClock* OverridePrerenderManagerTimeTicks( |
106 PrerenderManager* prerender_manager) { | 130 PrerenderManager* prerender_manager) { |
107 auto tick_clock = base::MakeUnique<base::SimpleTestTickClock>(); | 131 auto tick_clock = base::MakeUnique<base::SimpleTestTickClock>(); |
108 base::SimpleTestTickClock* tick_clock_ptr = tick_clock.get(); | 132 base::SimpleTestTickClock* tick_clock_ptr = tick_clock.get(); |
(...skipping 1883 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1992 | 2016 |
1993 prerender_contents->SetPrerenderMode(PREFETCH_ONLY); | 2017 prerender_contents->SetPrerenderMode(PREFETCH_ONLY); |
1994 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("GET")); | 2018 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("GET")); |
1995 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("HEAD")); | 2019 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("HEAD")); |
1996 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("OPTIONS")); | 2020 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("OPTIONS")); |
1997 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("POST")); | 2021 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("POST")); |
1998 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("TRACE")); | 2022 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("TRACE")); |
1999 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER")); | 2023 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER")); |
2000 } | 2024 } |
2001 | 2025 |
| 2026 TEST_F(PrerenderTest, PrerenderContentsIncrementsByteCount) { |
| 2027 GURL url("http://www.google.com/"); |
| 2028 DummyPrerenderContents* prerender_contents = nullptr; |
| 2029 prerender_contents = prerender_manager()->CreateNextPrerenderContents( |
| 2030 url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); |
| 2031 std::unique_ptr<PrerenderHandle> prerender_handle = |
| 2032 prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize); |
| 2033 |
| 2034 TestNetworkBytesChangedObserver observer; |
| 2035 prerender_handle->SetObserver(&observer); |
| 2036 |
| 2037 prerender_contents->AddNetworkBytes(12); |
| 2038 EXPECT_TRUE(observer.network_bytes_changed()); |
| 2039 EXPECT_EQ(12, prerender_contents->network_bytes()); |
| 2040 } |
| 2041 |
2002 } // namespace prerender | 2042 } // namespace prerender |
OLD | NEW |