Chromium Code Reviews| 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 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 288 | 288 |
| 289 // MediaCaptureDevicesDispatcher::Observer | 289 // MediaCaptureDevicesDispatcher::Observer |
| 290 virtual void OnCreatingAudioStream(int render_process_id, | 290 virtual void OnCreatingAudioStream(int render_process_id, |
| 291 int render_frame_id) OVERRIDE; | 291 int render_frame_id) OVERRIDE; |
| 292 | 292 |
| 293 const Config& config() const { return config_; } | 293 const Config& config() const { return config_; } |
| 294 Config& mutable_config() { return config_; } | 294 Config& mutable_config() { return config_; } |
| 295 | 295 |
| 296 PrerenderTracker* prerender_tracker() { return prerender_tracker_; } | 296 PrerenderTracker* prerender_tracker() { return prerender_tracker_; } |
| 297 | 297 |
| 298 bool cookie_store_loaded() { return cookie_store_loaded_; } | |
| 299 | |
| 298 // Adds a condition. This is owned by the PrerenderManager. | 300 // Adds a condition. This is owned by the PrerenderManager. |
| 299 void AddCondition(const PrerenderCondition* condition); | 301 void AddCondition(const PrerenderCondition* condition); |
| 300 | 302 |
| 301 // Records that some visible tab navigated (or was redirected) to the | 303 // Records that some visible tab navigated (or was redirected) to the |
| 302 // provided URL. | 304 // provided URL. |
| 303 void RecordNavigation(const GURL& url); | 305 void RecordNavigation(const GURL& url); |
| 304 | 306 |
| 305 // Updates the LoggedInPredictor state to reflect that a login has likely | 307 // Updates the LoggedInPredictor state to reflect that a login has likely |
| 306 // on the URL provided. | 308 // on the URL provided. |
| 307 void RecordLikelyLoginOnURL(const GURL& url); | 309 void RecordLikelyLoginOnURL(const GURL& url); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 353 static void HangSessionStorageMergesForTesting(); | 355 static void HangSessionStorageMergesForTesting(); |
| 354 | 356 |
| 355 // Notification that a prerender has completed and its bytes should be | 357 // Notification that a prerender has completed and its bytes should be |
| 356 // recorded. | 358 // recorded. |
| 357 void RecordNetworkBytes(bool used, int64 prerender_bytes); | 359 void RecordNetworkBytes(bool used, int64 prerender_bytes); |
| 358 | 360 |
| 359 // Add to the running tally of bytes transferred over the network for this | 361 // Add to the running tally of bytes transferred over the network for this |
| 360 // profile if prerendering is currently enabled. | 362 // profile if prerendering is currently enabled. |
| 361 void AddProfileNetworkBytesIfEnabled(int64 bytes); | 363 void AddProfileNetworkBytesIfEnabled(int64 bytes); |
| 362 | 364 |
| 365 // To be called once the cookie store for this profile has been loaded. | |
| 366 void OnCookieStoreLoaded(); | |
| 367 | |
| 368 // For testing purposes. Issues a callback once the cookie store has been | |
| 369 // loaded. | |
| 370 void set_on_cookie_store_loaded_cb(base::Closure cb) { | |
|
Charlie Reis
2014/05/07 17:21:32
I think we typically include "_for_testing" in the
tburkard
2014/05/07 18:34:27
Done.
| |
| 371 on_cookie_store_loaded_cb_ = cb; | |
| 372 } | |
| 373 | |
| 363 protected: | 374 protected: |
| 364 class PendingSwap; | 375 class PendingSwap; |
| 365 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> { | 376 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> { |
| 366 public: | 377 public: |
| 367 struct OrderByExpiryTime; | 378 struct OrderByExpiryTime; |
| 368 | 379 |
| 369 PrerenderData(PrerenderManager* manager, | 380 PrerenderData(PrerenderManager* manager, |
| 370 PrerenderContents* contents, | 381 PrerenderContents* contents, |
| 371 base::TimeTicks expiry_time); | 382 base::TimeTicks expiry_time); |
| 372 | 383 |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 504 void SetPrerenderContentsFactory( | 515 void SetPrerenderContentsFactory( |
| 505 PrerenderContents::Factory* prerender_contents_factory); | 516 PrerenderContents::Factory* prerender_contents_factory); |
| 506 | 517 |
| 507 // Called by a PrerenderData to signal that the launcher has navigated away | 518 // Called by a PrerenderData to signal that the launcher has navigated away |
| 508 // from the context that launched the prerender. A user may have clicked | 519 // from the context that launched the prerender. A user may have clicked |
| 509 // a link in a page containing a <link rel=prerender> element, or the user | 520 // a link in a page containing a <link rel=prerender> element, or the user |
| 510 // might have committed an omnibox navigation. This is used to possibly | 521 // might have committed an omnibox navigation. This is used to possibly |
| 511 // shorten the TTL of the prerendered page. | 522 // shorten the TTL of the prerendered page. |
| 512 void SourceNavigatedAway(PrerenderData* prerender_data); | 523 void SourceNavigatedAway(PrerenderData* prerender_data); |
| 513 | 524 |
| 525 // Gets the request context for the profile. | |
| 526 // For unit tests, this will be overriden to return NULL, since it is not | |
| 527 // needed. | |
| 528 virtual net::URLRequestContextGetter* GetURLRequestContext(); | |
| 529 | |
| 514 private: | 530 private: |
| 515 friend class ::InstantSearchPrerendererTest; | 531 friend class ::InstantSearchPrerendererTest; |
| 516 friend class PrerenderBrowserTest; | 532 friend class PrerenderBrowserTest; |
| 517 friend class PrerenderContents; | 533 friend class PrerenderContents; |
| 518 friend class PrerenderHandle; | 534 friend class PrerenderHandle; |
| 519 friend class UnitTestPrerenderManager; | 535 friend class UnitTestPrerenderManager; |
| 520 | 536 |
| 521 class OnCloseWebContentsDeleter; | 537 class OnCloseWebContentsDeleter; |
| 522 struct NavigationRecord; | 538 struct NavigationRecord; |
| 523 | 539 |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 713 | 729 |
| 714 CancelableRequestConsumer query_url_consumer_; | 730 CancelableRequestConsumer query_url_consumer_; |
| 715 | 731 |
| 716 // The number of bytes transferred over the network for the profile this | 732 // The number of bytes transferred over the network for the profile this |
| 717 // PrerenderManager is attached to. | 733 // PrerenderManager is attached to. |
| 718 int64 profile_network_bytes_; | 734 int64 profile_network_bytes_; |
| 719 | 735 |
| 720 // The value of profile_network_bytes_ that was last recorded. | 736 // The value of profile_network_bytes_ that was last recorded. |
| 721 int64 last_recorded_profile_network_bytes_; | 737 int64 last_recorded_profile_network_bytes_; |
| 722 | 738 |
| 739 // Indicates whether the cookie store for this profile has fully loaded yet. | |
| 740 bool cookie_store_loaded_; | |
| 741 | |
| 742 base::Closure on_cookie_store_loaded_cb_; | |
| 743 | |
| 723 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); | 744 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); |
| 724 }; | 745 }; |
| 725 | 746 |
| 726 } // namespace prerender | 747 } // namespace prerender |
| 727 | 748 |
| 728 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ | 749 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ |
| OLD | NEW |