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

Issue 6677005: Limit prerender by only allowing one every X ms (X currently set to 500). (Closed)

Created:
9 years, 9 months ago by dominich
Modified:
9 years, 7 months ago
Reviewers:
cbentzel, tburkard
CC:
chromium-reviews, tburkard+watch_chromium.org, cbentzel+watch_chromium.org
Visibility:
Public.

Description

Limit prerender by only allowing one every X ms (X currently set to 500). BUG= TEST=Run a search that returns a prerender link ('cnn') and without navigating immediately run another ('nytimes'). Observe the second search does not cause a prerender if performed within the rate limit. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=78905

Patch Set 1 #

Patch Set 2 : Tweaked timing and disabled rate limit for unit tests. #

Total comments: 4

Patch Set 3 : Removed include #

Patch Set 4 : Added histogram for time between requests #

Total comments: 1

Patch Set 5 : Changing the histogram syntax to the right one for time #

Total comments: 4

Patch Set 6 : Responding to comments #

Total comments: 8

Patch Set 7 : Fixes to times based on static changes #

Total comments: 4

Patch Set 8 : Nit fixes #

Total comments: 2

Patch Set 9 : Adding unit test #

Total comments: 4

Patch Set 10 : Adding extra test #

Patch Set 11 : rebase #

Patch Set 12 : fetch/merge #

Patch Set 13 : Fix license header #

Unified diffs Side-by-side diffs Delta from patch set Stats (+111 lines, -6 lines) Patch
M chrome/browser/prerender/prerender_final_status.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +35 lines, -4 lines 0 comments Download
M chrome/browser/prerender/prerender_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +65 lines, -2 lines 0 comments Download

Messages

Total messages: 21 (0 generated)
dominich
Only allow subsequent prerenders after X ms. I set the time between prerenders to 500 ...
9 years, 9 months ago (2011-03-11 22:32:22 UTC) #1
tburkard
LGTM http://codereview.chromium.org/6677005/diff/2001/chrome/browser/prerender/prerender_contents.cc File chrome/browser/prerender/prerender_contents.cc (right): http://codereview.chromium.org/6677005/diff/2001/chrome/browser/prerender/prerender_contents.cc#newcode23 chrome/browser/prerender/prerender_contents.cc:23: #include "content/browser/renderer_host/resource_dispatcher_host.h" why does this need to be ...
9 years, 9 months ago (2011-03-11 22:57:40 UTC) #2
dominich
http://codereview.chromium.org/6677005/diff/2001/chrome/browser/prerender/prerender_contents.cc File chrome/browser/prerender/prerender_contents.cc (right): http://codereview.chromium.org/6677005/diff/2001/chrome/browser/prerender/prerender_contents.cc#newcode23 chrome/browser/prerender/prerender_contents.cc:23: #include "content/browser/renderer_host/resource_dispatcher_host.h" On 2011/03/11 22:57:40, tburkard wrote: > why ...
9 years, 9 months ago (2011-03-11 23:14:57 UTC) #3
tburkard
Ok, let's do 500ms, but how about you add the following: a histogram for time ...
9 years, 9 months ago (2011-03-11 23:19:21 UTC) #4
dominich
On 2011/03/11 23:19:21, tburkard wrote: > Ok, let's do 500ms, but how about you add ...
9 years, 9 months ago (2011-03-11 23:43:22 UTC) #5
tburkard
LGTM http://codereview.chromium.org/6677005/diff/3006/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/6677005/diff/3006/chrome/browser/prerender/prerender_manager.cc#newcode306 chrome/browser/prerender/prerender_manager.cc:306: UMA_HISTOGRAM_ENUMERATION("Prerender.TimeBetweenRequests", To clarify the name, maybe call it ...
9 years, 9 months ago (2011-03-11 23:49:07 UTC) #6
cbentzel
http://codereview.chromium.org/6677005/diff/8003/chrome/browser/prerender/prerender_manager.h File chrome/browser/prerender/prerender_manager.h (right): http://codereview.chromium.org/6677005/diff/8003/chrome/browser/prerender/prerender_manager.h#newcode100 chrome/browser/prerender/prerender_manager.h:100: static void set_rate_limit_enabled(bool enable) { Why are these done ...
9 years, 9 months ago (2011-03-14 14:40:32 UTC) #7
cbentzel
Also - is this behavior what we actually want? Given the test described (a second ...
9 years, 9 months ago (2011-03-14 14:43:56 UTC) #8
dominich
On 2011/03/14 14:43:56, cbentzel wrote: > Also - is this behavior what we actually want? ...
9 years, 9 months ago (2011-03-14 17:08:58 UTC) #9
tburkard
I'd prefer keeping it at 500ms. The genesis of this was some histograms where prerenders ...
9 years, 9 months ago (2011-03-14 17:17:40 UTC) #10
cbentzel
OK. I'd still like to change these to non-static, as that does not look like ...
9 years, 9 months ago (2011-03-14 17:27:10 UTC) #11
dominich
http://codereview.chromium.org/6677005/diff/8003/chrome/browser/prerender/prerender_manager.h File chrome/browser/prerender/prerender_manager.h (right): http://codereview.chromium.org/6677005/diff/8003/chrome/browser/prerender/prerender_manager.h#newcode100 chrome/browser/prerender/prerender_manager.h:100: static void set_rate_limit_enabled(bool enable) { On 2011/03/14 14:40:32, cbentzel ...
9 years, 9 months ago (2011-03-14 18:10:10 UTC) #12
cbentzel
http://codereview.chromium.org/6677005/diff/10002/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/6677005/diff/10002/chrome/browser/prerender/prerender_manager.cc#newcode63 chrome/browser/prerender/prerender_manager.cc:63: last_prerender_start_time_(base::TimeTicks::Now()) { This should be Now - kMinTimeBetweenPrerendersMs so ...
9 years, 9 months ago (2011-03-14 18:18:15 UTC) #13
dominich
http://codereview.chromium.org/6677005/diff/10002/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/6677005/diff/10002/chrome/browser/prerender/prerender_manager.cc#newcode63 chrome/browser/prerender/prerender_manager.cc:63: last_prerender_start_time_(base::TimeTicks::Now()) { On 2011/03/14 18:18:16, cbentzel wrote: > This ...
9 years, 9 months ago (2011-03-14 20:03:21 UTC) #14
cbentzel
LGTM Update issue comment to mention that X is 500 rather than 1000 http://codereview.chromium.org/6677005/diff/11005/chrome/browser/prerender/prerender_manager.cc File ...
9 years, 9 months ago (2011-03-15 18:51:02 UTC) #15
dominich
http://codereview.chromium.org/6677005/diff/11005/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/6677005/diff/11005/chrome/browser/prerender/prerender_manager.cc#newcode64 chrome/browser/prerender/prerender_manager.cc:64: base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs)) { On 2011/03/15 18:51:03, cbentzel wrote: > Nit: ...
9 years, 9 months ago (2011-03-15 21:05:37 UTC) #16
cbentzel
Sorry for missing this in previous rounds - a unit test should be added to ...
9 years, 9 months ago (2011-03-16 01:06:01 UTC) #17
dominich
http://codereview.chromium.org/6677005/diff/14001/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/6677005/diff/14001/chrome/browser/prerender/prerender_manager.cc#newcode297 chrome/browser/prerender/prerender_manager.cc:297: base::TimeTicks::Now() - last_prerender_start_time_; On 2011/03/16 01:06:01, cbentzel wrote: > ...
9 years, 9 months ago (2011-03-16 19:58:39 UTC) #18
cbentzel
LGTM It looks like we should use TimeTicks for the freshness case as well [instead ...
9 years, 9 months ago (2011-03-18 17:31:19 UTC) #19
dominich
http://codereview.chromium.org/6677005/diff/18001/chrome/browser/prerender/prerender_manager_unittest.cc File chrome/browser/prerender/prerender_manager_unittest.cc (right): http://codereview.chromium.org/6677005/diff/18001/chrome/browser/prerender/prerender_manager_unittest.cc#newcode308 chrome/browser/prerender/prerender_manager_unittest.cc:308: EXPECT_FALSE(prerender_manager_->AddSimplePreload(url1)); On 2011/03/18 17:31:19, cbentzel wrote: > You should ...
9 years, 9 months ago (2011-03-18 19:11:46 UTC) #20
cbentzel
9 years, 9 months ago (2011-03-18 19:13:18 UTC) #21
LGTM

Powered by Google App Engine
This is Rietveld 408576698