| Index: chrome/browser/prerender/prerender_manager.h
|
| diff --git a/chrome/browser/prerender/prerender_manager.h b/chrome/browser/prerender/prerender_manager.h
|
| index fa53ae79abb3395633baf76926cf30513bda4845..a932ecfbbc2a7b99df739fa1cfe22cd2b327410b 100644
|
| --- a/chrome/browser/prerender/prerender_manager.h
|
| +++ b/chrome/browser/prerender/prerender_manager.h
|
| @@ -102,6 +102,7 @@ class PrerenderManager : public base::RefCounted<PrerenderManager> {
|
|
|
| void SetPrerenderContentsFactory(
|
| PrerenderContents::Factory* prerender_contents_factory);
|
| + bool rate_limit_enabled_;
|
|
|
| private:
|
| // Test that needs needs access to internal functions.
|
| @@ -136,6 +137,8 @@ class PrerenderManager : public base::RefCounted<PrerenderManager> {
|
|
|
| static void RecordPrefetchTagObservedOnUIThread();
|
|
|
| + bool DoesRateLimitAllowPrerender() const;
|
| +
|
| Profile* profile_;
|
|
|
| base::TimeDelta max_prerender_age_;
|
| @@ -160,6 +163,9 @@ class PrerenderManager : public base::RefCounted<PrerenderManager> {
|
| // Time interval at which periodic cleanups are performed.
|
| static const int kPeriodicCleanupIntervalMs = 1000;
|
|
|
| + // Time interval before a new prerender is allowed.
|
| + static const int kMinTimeBetweenPrerendersMs = 500;
|
| +
|
| scoped_ptr<PrerenderContents::Factory> prerender_contents_factory_;
|
|
|
| static PrerenderManagerMode mode_;
|
| @@ -174,6 +180,9 @@ class PrerenderManager : public base::RefCounted<PrerenderManager> {
|
| // pages.
|
| base::RepeatingTimer<PrerenderManager> repeating_timer_;
|
|
|
| + // Track time of last prerender to limit prerender spam.
|
| + base::TimeTicks last_prerender_start_time_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(PrerenderManager);
|
| };
|
|
|
|
|