| Index: chrome/browser/prerender/prerender_manager.h
|
| diff --git a/chrome/browser/prerender/prerender_manager.h b/chrome/browser/prerender/prerender_manager.h
|
| index 22675dc154b3a1cefc19160f6bd2fb7bc86c8c37..4d15e381e13e3f8f91f2f3d8e385a953c0e0b828 100644
|
| --- a/chrome/browser/prerender/prerender_manager.h
|
| +++ b/chrome/browser/prerender/prerender_manager.h
|
| @@ -106,6 +106,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.
|
| @@ -126,6 +127,7 @@ class PrerenderManager : public base::RefCounted<PrerenderManager> {
|
| bool IsPrerenderElementFresh(const base::Time start) const;
|
| void DeleteOldEntries();
|
| virtual base::Time GetCurrentTime() const;
|
| + virtual base::TimeTicks GetCurrentTimeTicks() const;
|
| virtual PrerenderContents* CreatePrerenderContents(
|
| const GURL& url,
|
| const std::vector<GURL>& alias_urls,
|
| @@ -140,6 +142,8 @@ class PrerenderManager : public base::RefCounted<PrerenderManager> {
|
|
|
| static void RecordPrefetchTagObservedOnUIThread();
|
|
|
| + bool DoesRateLimitAllowPrerender() const;
|
| +
|
| Profile* profile_;
|
|
|
| base::TimeDelta max_prerender_age_;
|
| @@ -168,6 +172,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_;
|
| @@ -182,6 +189,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);
|
| };
|
|
|
|
|