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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <list> | 9 #include <list> |
10 #include <string> | 10 #include <string> |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 // Deletes old WebContents that have been replaced by prerendered ones. This | 382 // Deletes old WebContents that have been replaced by prerendered ones. This |
383 // is needed because they're replaced in a callback from the old WebContents, | 383 // is needed because they're replaced in a callback from the old WebContents, |
384 // so cannot immediately be deleted. | 384 // so cannot immediately be deleted. |
385 void DeleteOldTabContents(); | 385 void DeleteOldTabContents(); |
386 | 386 |
387 // Cleans up old NavigationRecord's. | 387 // Cleans up old NavigationRecord's. |
388 void CleanUpOldNavigations(); | 388 void CleanUpOldNavigations(); |
389 | 389 |
390 // Arrange for the given tab contents to be deleted asap. If deleter is not | 390 // Arrange for the given tab contents to be deleted asap. If deleter is not |
391 // NULL, deletes that as well. | 391 // NULL, deletes that as well. |
392 void ScheduleDeleteOldTabContents(TabContentsWrapper* tab, | 392 void ScheduleDeleteOldTabContents(TabContents* tab, |
393 OnCloseTabContentsDeleter* deleter); | 393 OnCloseTabContentsDeleter* deleter); |
394 | 394 |
395 // Adds to the history list. | 395 // Adds to the history list. |
396 void AddToHistory(PrerenderContents* contents); | 396 void AddToHistory(PrerenderContents* contents); |
397 | 397 |
398 // Returns a new Value representing the pages currently being prerendered. The | 398 // Returns a new Value representing the pages currently being prerendered. The |
399 // caller is responsible for delete'ing the return value. | 399 // caller is responsible for delete'ing the return value. |
400 base::Value* GetActivePrerendersAsValue() const; | 400 base::Value* GetActivePrerendersAsValue() const; |
401 | 401 |
402 // Destroys all pending prerenders using FinalStatus. Also deletes them as | 402 // Destroys all pending prerenders using FinalStatus. Also deletes them as |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 // incremented and emitted to a histogram on each successful prerender. | 468 // incremented and emitted to a histogram on each successful prerender. |
469 static int prerenders_per_session_count_; | 469 static int prerenders_per_session_count_; |
470 | 470 |
471 // RepeatingTimer to perform periodic cleanups of pending prerendered | 471 // RepeatingTimer to perform periodic cleanups of pending prerendered |
472 // pages. | 472 // pages. |
473 base::RepeatingTimer<PrerenderManager> repeating_timer_; | 473 base::RepeatingTimer<PrerenderManager> repeating_timer_; |
474 | 474 |
475 // Track time of last prerender to limit prerender spam. | 475 // Track time of last prerender to limit prerender spam. |
476 base::TimeTicks last_prerender_start_time_; | 476 base::TimeTicks last_prerender_start_time_; |
477 | 477 |
478 std::list<TabContentsWrapper*> old_tab_contents_list_; | 478 std::list<TabContents*> old_tab_contents_list_; |
479 | 479 |
480 // Cancels pending tasks on deletion. | 480 // Cancels pending tasks on deletion. |
481 base::WeakPtrFactory<PrerenderManager> weak_factory_; | 481 base::WeakPtrFactory<PrerenderManager> weak_factory_; |
482 | 482 |
483 ScopedVector<OnCloseTabContentsDeleter> on_close_tab_contents_deleters_; | 483 ScopedVector<OnCloseTabContentsDeleter> on_close_tab_contents_deleters_; |
484 | 484 |
485 scoped_ptr<PrerenderHistory> prerender_history_; | 485 scoped_ptr<PrerenderHistory> prerender_history_; |
486 | 486 |
487 std::list<const PrerenderCondition*> prerender_conditions_; | 487 std::list<const PrerenderCondition*> prerender_conditions_; |
488 | 488 |
489 scoped_ptr<PrerenderHistograms> histograms_; | 489 scoped_ptr<PrerenderHistograms> histograms_; |
490 | 490 |
491 scoped_ptr<PrerenderLocalPredictor> local_predictor_; | 491 scoped_ptr<PrerenderLocalPredictor> local_predictor_; |
492 | 492 |
493 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); | 493 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); |
494 }; | 494 }; |
495 | 495 |
496 PrerenderManager* FindPrerenderManagerUsingRenderProcessId( | 496 PrerenderManager* FindPrerenderManagerUsingRenderProcessId( |
497 int render_process_id); | 497 int render_process_id); |
498 | 498 |
499 } // namespace prerender | 499 } // namespace prerender |
500 | 500 |
501 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 501 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
OLD | NEW |