OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/memory/scoped_vector.h" | 5 #include "base/memory/scoped_vector.h" |
6 #include "base/time.h" | 6 #include "base/time.h" |
7 #include "chrome/browser/prerender/prerender_contents.h" | 7 #include "chrome/browser/prerender/prerender_contents.h" |
8 #include "chrome/browser/prerender/prerender_manager.h" | 8 #include "chrome/browser/prerender/prerender_manager.h" |
9 #include "chrome/browser/prerender/prerender_origin.h" | 9 #include "chrome/browser/prerender/prerender_origin.h" |
10 #include "chrome/test/testing_browser_process.h" | 10 #include "chrome/test/testing_browser_process.h" |
11 #include "content/browser/browser_thread.h" | 11 #include "content/browser/browser_thread.h" |
12 #include "content/browser/renderer_host/render_view_host.h" | 12 #include "content/browser/renderer_host/render_view_host.h" |
13 #include "content/browser/renderer_host/render_process_host.h" | 13 #include "content/browser/renderer_host/render_process_host.h" |
14 #include "googleurl/src/gurl.h" | 14 #include "googleurl/src/gurl.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
16 | 16 |
17 namespace prerender { | 17 namespace prerender { |
18 | 18 |
19 namespace { | 19 namespace { |
20 | 20 |
21 class DummyPrerenderContents : public PrerenderContents { | 21 class DummyPrerenderContents : public PrerenderContents { |
22 public: | 22 public: |
23 DummyPrerenderContents(PrerenderManager* prerender_manager, | 23 DummyPrerenderContents(PrerenderManager* prerender_manager, |
24 PrerenderTracker* prerender_tracker, | 24 PrerenderTracker* prerender_tracker, |
25 const GURL& url, | 25 const GURL& url, |
26 FinalStatus expected_final_status) | 26 FinalStatus expected_final_status) |
27 : PrerenderContents(prerender_manager, prerender_tracker, NULL, url, | 27 : PrerenderContents(prerender_manager, prerender_tracker, NULL, url, |
28 GURL(), ORIGIN_LINK_REL_PRERENDER), | 28 GURL(), ORIGIN_LINK_REL_PRERENDER, |
| 29 PrerenderManager::kNoExperiment), |
29 has_started_(false), | 30 has_started_(false), |
30 expected_final_status_(expected_final_status) { | 31 expected_final_status_(expected_final_status) { |
31 } | 32 } |
32 | 33 |
33 virtual ~DummyPrerenderContents() { | 34 virtual ~DummyPrerenderContents() { |
34 EXPECT_EQ(expected_final_status_, final_status()); | 35 EXPECT_EQ(expected_final_status_, final_status()); |
35 } | 36 } |
36 | 37 |
37 virtual void StartPrerendering( | 38 virtual void StartPrerendering( |
38 const RenderViewHost* source_render_view_host) OVERRIDE { | 39 const RenderViewHost* source_render_view_host) OVERRIDE { |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 return time_; | 149 return time_; |
149 } | 150 } |
150 | 151 |
151 virtual base::TimeTicks GetCurrentTimeTicks() const OVERRIDE { | 152 virtual base::TimeTicks GetCurrentTimeTicks() const OVERRIDE { |
152 return time_ticks_; | 153 return time_ticks_; |
153 } | 154 } |
154 | 155 |
155 virtual PrerenderContents* CreatePrerenderContents( | 156 virtual PrerenderContents* CreatePrerenderContents( |
156 const GURL& url, | 157 const GURL& url, |
157 const GURL& referrer, | 158 const GURL& referrer, |
158 Origin origin) OVERRIDE { | 159 Origin origin, |
| 160 char experiment_id) OVERRIDE { |
159 DCHECK(next_prerender_contents_.get()); | 161 DCHECK(next_prerender_contents_.get()); |
160 return next_prerender_contents_.release(); | 162 return next_prerender_contents_.release(); |
161 } | 163 } |
162 | 164 |
163 base::Time time_; | 165 base::Time time_; |
164 base::TimeTicks time_ticks_; | 166 base::TimeTicks time_ticks_; |
165 scoped_ptr<PrerenderContents> next_prerender_contents_; | 167 scoped_ptr<PrerenderContents> next_prerender_contents_; |
166 // PrerenderContents with an |expected_final_status| of FINAL_STATUS_USED, | 168 // PrerenderContents with an |expected_final_status| of FINAL_STATUS_USED, |
167 // tracked so they will be automatically deleted. | 169 // tracked so they will be automatically deleted. |
168 ScopedVector<PrerenderContents> used_prerender_contents_; | 170 ScopedVector<PrerenderContents> used_prerender_contents_; |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
530 url, | 532 url, |
531 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); | 533 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); |
532 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url)); | 534 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url)); |
533 EXPECT_TRUE(prerender_contents->has_started()); | 535 EXPECT_TRUE(prerender_contents->has_started()); |
534 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS); | 536 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS); |
535 DummyPrerenderContents* null = NULL; | 537 DummyPrerenderContents* null = NULL; |
536 EXPECT_EQ(null, prerender_manager()->GetEntry(url)); | 538 EXPECT_EQ(null, prerender_manager()->GetEntry(url)); |
537 } | 539 } |
538 | 540 |
539 } // namespace prerender | 541 } // namespace prerender |
OLD | NEW |