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

Unified Diff: chrome/browser/prerender/prerender_manager.h

Issue 6677005: Limit prerender by only allowing one every X ms (X currently set to 500). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes to times based on static changes Created 9 years, 9 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 side-by-side diff with in-line comments
Download patch
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..079d72226816cc9020a96168d104c260ef1c49db 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();
cbentzel 2011/03/15 18:51:03 const
dominich 2011/03/15 21:05:37 Done.
+
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);
};

Powered by Google App Engine
This is Rietveld 408576698