| 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 #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 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <list> | 9 #include <list> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 FinalStatus final_status) const; | 197 FinalStatus final_status) const; |
| 198 | 198 |
| 199 const Config& config() const { return config_; } | 199 const Config& config() const { return config_; } |
| 200 Config& mutable_config() { return config_; } | 200 Config& mutable_config() { return config_; } |
| 201 | 201 |
| 202 PrerenderTracker* prerender_tracker() { return prerender_tracker_; } | 202 PrerenderTracker* prerender_tracker() { return prerender_tracker_; } |
| 203 | 203 |
| 204 // Adds a condition. This is owned by the PrerenderManager. | 204 // Adds a condition. This is owned by the PrerenderManager. |
| 205 void AddCondition(const PrerenderCondition* condition); | 205 void AddCondition(const PrerenderCondition* condition); |
| 206 | 206 |
| 207 bool IsTopSite(const GURL& url) const; | |
| 208 | |
| 209 protected: | 207 protected: |
| 210 // Test that needs needs access to internal functions. | 208 // Test that needs needs access to internal functions. |
| 211 FRIEND_TEST_ALL_PREFIXES(PrerenderManagerTest, ExpireTest); | 209 FRIEND_TEST_ALL_PREFIXES(PrerenderManagerTest, ExpireTest); |
| 212 FRIEND_TEST_ALL_PREFIXES(PrerenderManagerTest, ExtractURLInQueryStringTest); | 210 FRIEND_TEST_ALL_PREFIXES(PrerenderManagerTest, ExtractURLInQueryStringTest); |
| 213 | 211 |
| 214 struct PendingContentsData; | 212 struct PendingContentsData; |
| 215 | 213 |
| 216 void SetPrerenderContentsFactory( | 214 void SetPrerenderContentsFactory( |
| 217 PrerenderContents::Factory* prerender_contents_factory); | 215 PrerenderContents::Factory* prerender_contents_factory); |
| 218 | 216 |
| 219 PendingContentsData* FindPendingEntry(const GURL& url); | 217 PendingContentsData* FindPendingEntry(const GURL& url); |
| 220 | 218 |
| 221 private: | 219 private: |
| 222 // Test that needs needs access to internal functions. | 220 // Test that needs needs access to internal functions. |
| 223 friend class PrerenderBrowserTest; | 221 friend class PrerenderBrowserTest; |
| 224 | 222 |
| 225 friend class base::RefCountedThreadSafe<PrerenderManager>; | 223 friend class base::RefCountedThreadSafe<PrerenderManager>; |
| 226 | 224 |
| 227 struct PrerenderContentsData; | 225 struct PrerenderContentsData; |
| 228 struct NavigationRecord; | 226 struct NavigationRecord; |
| 229 | 227 |
| 230 class OnCloseTabContentsDeleter; | 228 class OnCloseTabContentsDeleter; |
| 231 | 229 |
| 232 class MostVisitedSites; | |
| 233 | |
| 234 // Adds a prerender for |url| from referrer |referrer| initiated from the | 230 // Adds a prerender for |url| from referrer |referrer| initiated from the |
| 235 // RenderViewHost specified by |child_route_id_pair|. The |origin| specifies | 231 // RenderViewHost specified by |child_route_id_pair|. The |origin| specifies |
| 236 // how the prerender was added. | 232 // how the prerender was added. |
| 237 bool AddPrerender( | 233 bool AddPrerender( |
| 238 Origin origin, | 234 Origin origin, |
| 239 const std::pair<int, int>& child_route_id_pair, | 235 const std::pair<int, int>& child_route_id_pair, |
| 240 const GURL& url, | 236 const GURL& url, |
| 241 const GURL& referrer); | 237 const GURL& referrer); |
| 242 | 238 |
| 243 // Adds a pending preload issued by the prerendering RenderView identified by | 239 // Adds a pending preload issued by the prerendering RenderView identified by |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 ScopedRunnableMethodFactory<PrerenderManager> runnable_method_factory_; | 383 ScopedRunnableMethodFactory<PrerenderManager> runnable_method_factory_; |
| 388 | 384 |
| 389 ScopedVector<OnCloseTabContentsDeleter> on_close_tab_contents_deleters_; | 385 ScopedVector<OnCloseTabContentsDeleter> on_close_tab_contents_deleters_; |
| 390 | 386 |
| 391 scoped_ptr<PrerenderHistory> prerender_history_; | 387 scoped_ptr<PrerenderHistory> prerender_history_; |
| 392 | 388 |
| 393 std::list<const PrerenderCondition*> prerender_conditions_; | 389 std::list<const PrerenderCondition*> prerender_conditions_; |
| 394 | 390 |
| 395 scoped_ptr<PrerenderHistograms> histograms_; | 391 scoped_ptr<PrerenderHistograms> histograms_; |
| 396 | 392 |
| 397 scoped_ptr<MostVisitedSites> most_visited_; | |
| 398 | |
| 399 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); | 393 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); |
| 400 }; | 394 }; |
| 401 | 395 |
| 402 } // namespace prerender | 396 } // namespace prerender |
| 403 | 397 |
| 404 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 398 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
| OLD | NEW |