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 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 22 matching lines...) Expand all Loading... |
33 } | 33 } |
34 | 34 |
35 namespace content { | 35 namespace content { |
36 class WebContents; | 36 class WebContents; |
37 } | 37 } |
38 | 38 |
39 namespace gfx { | 39 namespace gfx { |
40 class Size; | 40 class Size; |
41 } | 41 } |
42 | 42 |
43 namespace predictors { | |
44 class LoggedInPredictorTable; | |
45 } | |
46 | |
47 #if defined(COMPILER_GCC) | 43 #if defined(COMPILER_GCC) |
48 | 44 |
49 namespace BASE_HASH_NAMESPACE { | 45 namespace BASE_HASH_NAMESPACE { |
50 template <> | 46 template <> |
51 struct hash<content::WebContents*> { | 47 struct hash<content::WebContents*> { |
52 std::size_t operator()(content::WebContents* value) const { | 48 std::size_t operator()(content::WebContents* value) const { |
53 return reinterpret_cast<std::size_t>(value); | 49 return reinterpret_cast<std::size_t>(value); |
54 } | 50 } |
55 }; | 51 }; |
56 | 52 |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 void RecordNavigation(const GURL& url); | 265 void RecordNavigation(const GURL& url); |
270 | 266 |
271 Profile* profile() const { return profile_; } | 267 Profile* profile() const { return profile_; } |
272 | 268 |
273 // Classes which will be tested in prerender unit browser tests should use | 269 // Classes which will be tested in prerender unit browser tests should use |
274 // these methods to get times for comparison, so that the test framework can | 270 // these methods to get times for comparison, so that the test framework can |
275 // mock advancing/retarding time. | 271 // mock advancing/retarding time. |
276 virtual base::Time GetCurrentTime() const; | 272 virtual base::Time GetCurrentTime() const; |
277 virtual base::TimeTicks GetCurrentTimeTicks() const; | 273 virtual base::TimeTicks GetCurrentTimeTicks() const; |
278 | 274 |
279 scoped_refptr<predictors::LoggedInPredictorTable> logged_in_predictor_table(); | |
280 | |
281 protected: | 275 protected: |
282 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> { | 276 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> { |
283 public: | 277 public: |
284 struct OrderByExpiryTime; | 278 struct OrderByExpiryTime; |
285 | 279 |
286 PrerenderData(PrerenderManager* manager, | 280 PrerenderData(PrerenderManager* manager, |
287 PrerenderContents* contents, | 281 PrerenderContents* contents, |
288 base::TimeTicks expiry_time); | 282 base::TimeTicks expiry_time); |
289 | 283 |
290 ~PrerenderData(); | 284 ~PrerenderData(); |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 ScopedVector<OnCloseWebContentsDeleter> on_close_web_contents_deleters_; | 566 ScopedVector<OnCloseWebContentsDeleter> on_close_web_contents_deleters_; |
573 | 567 |
574 scoped_ptr<PrerenderHistory> prerender_history_; | 568 scoped_ptr<PrerenderHistory> prerender_history_; |
575 | 569 |
576 std::list<const PrerenderCondition*> prerender_conditions_; | 570 std::list<const PrerenderCondition*> prerender_conditions_; |
577 | 571 |
578 scoped_ptr<PrerenderHistograms> histograms_; | 572 scoped_ptr<PrerenderHistograms> histograms_; |
579 | 573 |
580 scoped_ptr<PrerenderLocalPredictor> local_predictor_; | 574 scoped_ptr<PrerenderLocalPredictor> local_predictor_; |
581 | 575 |
582 scoped_refptr<predictors::LoggedInPredictorTable> logged_in_predictor_table_; | |
583 | |
584 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); | 576 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); |
585 }; | 577 }; |
586 | 578 |
587 PrerenderManager* FindPrerenderManagerUsingRenderProcessId( | 579 PrerenderManager* FindPrerenderManagerUsingRenderProcessId( |
588 int render_process_id); | 580 int render_process_id); |
589 | 581 |
590 } // namespace prerender | 582 } // namespace prerender |
591 | 583 |
592 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 584 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
OLD | NEW |