Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: chrome/browser/prerender/prerender_manager.h

Issue 11551003: Change multi-prerender API to include per launcher slots. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clear to land Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 256
257 // Adds a condition. This is owned by the PrerenderManager. 257 // Adds a condition. This is owned by the PrerenderManager.
258 void AddCondition(const PrerenderCondition* condition); 258 void AddCondition(const PrerenderCondition* condition);
259 259
260 // Records that some visible tab navigated (or was redirected) to the 260 // Records that some visible tab navigated (or was redirected) to the
261 // provided URL. 261 // provided URL.
262 void RecordNavigation(const GURL& url); 262 void RecordNavigation(const GURL& url);
263 263
264 Profile* profile() const { return profile_; } 264 Profile* profile() const { return profile_; }
265 265
266 // Classes which will be tested in prerender unit browser tests should use
267 // these methods to get times for comparison, so that the test framework can
268 // mock advancing/retarding time.
269 virtual base::Time GetCurrentTime() const;
270 virtual base::TimeTicks GetCurrentTimeTicks() const;
271
266 protected: 272 protected:
267 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> { 273 class PrerenderData : public base::SupportsWeakPtr<PrerenderData> {
268 public: 274 public:
269 struct OrderByExpiryTime; 275 struct OrderByExpiryTime;
270 276
271 PrerenderData(PrerenderManager* manager, 277 PrerenderData(PrerenderManager* manager,
272 PrerenderContents* contents, 278 PrerenderContents* contents,
273 base::TimeTicks expiry_time); 279 base::TimeTicks expiry_time);
274 280
275 ~PrerenderData(); 281 ~PrerenderData();
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 418
413 // Posts a task to call PeriodicCleanup. Results in quicker destruction of 419 // Posts a task to call PeriodicCleanup. Results in quicker destruction of
414 // objects. If |this| is deleted before the task is run, the task will 420 // objects. If |this| is deleted before the task is run, the task will
415 // automatically be cancelled. 421 // automatically be cancelled.
416 void PostCleanupTask(); 422 void PostCleanupTask();
417 423
418 base::TimeTicks GetExpiryTimeForNewPrerender() const; 424 base::TimeTicks GetExpiryTimeForNewPrerender() const;
419 base::TimeTicks GetExpiryTimeForNavigatedAwayPrerender() const; 425 base::TimeTicks GetExpiryTimeForNavigatedAwayPrerender() const;
420 426
421 void DeleteOldEntries(); 427 void DeleteOldEntries();
422 virtual base::Time GetCurrentTime() const;
423 virtual base::TimeTicks GetCurrentTimeTicks() const;
424 virtual PrerenderContents* CreatePrerenderContents( 428 virtual PrerenderContents* CreatePrerenderContents(
425 const GURL& url, 429 const GURL& url,
426 const content::Referrer& referrer, 430 const content::Referrer& referrer,
427 Origin origin, 431 Origin origin,
428 uint8 experiment_id); 432 uint8 experiment_id);
429 433
430 // Insures the |active_prerenders_| are sorted by increasing expiry time. Call 434 // Insures the |active_prerenders_| are sorted by increasing expiry time. Call
431 // after every mutation of active_prerenders_ that can possibly make it 435 // after every mutation of active_prerenders_ that can possibly make it
432 // unsorted (e.g. an insert, or changing an expiry time). 436 // unsorted (e.g. an insert, or changing an expiry time).
433 void SortActivePrerenders(); 437 void SortActivePrerenders();
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 572
569 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); 573 DISALLOW_COPY_AND_ASSIGN(PrerenderManager);
570 }; 574 };
571 575
572 PrerenderManager* FindPrerenderManagerUsingRenderProcessId( 576 PrerenderManager* FindPrerenderManagerUsingRenderProcessId(
573 int render_process_id); 577 int render_process_id);
574 578
575 } // namespace prerender 579 } // namespace prerender
576 580
577 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ 581 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_link_manager.cc ('k') | chrome/browser/prerender/prerender_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698