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

Issue 11551003: Change multi-prerender API to include per launcher slots. (Closed)

Created:
8 years ago by gavinp
Modified:
7 years, 11 months ago
Reviewers:
dominich, Shishir, mmenke
CC:
chromium-reviews, tburkard+watch_chromium.org, gavinp+prer_chromium.org, cbentzel+watch_chromium.org, dominich+watch_chromium.org
Visibility:
Public.

Description

Change multi-prerender API to include per launcher slots. After https://codereview.chromium.org/11459003/ lands, this API is the last bit required for multiple prerenders to be well supported by applications. This change moves concurrency enforcement out of PrerenderManager and into PrerenderLinkManager; this has the effect of in the default case of one prerender allowing two at a time including one for the omnibox. R=mmenke@chromium.org BUG=None Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=174751

Patch Set 1 #

Patch Set 2 : more tests pass, reentrancy is in question. #

Patch Set 3 : passes unit tests #

Patch Set 4 : passes browser tests #

Patch Set 5 : rebase #

Patch Set 6 : rebase #

Patch Set 7 : better test behaviour #

Patch Set 8 : clean up #

Patch Set 9 : clean up #

Patch Set 10 : remove extra debug prints #

Patch Set 11 : add a unit test #

Patch Set 12 : surprising test deflake #

Total comments: 15

Patch Set 13 : rebase #

Patch Set 14 : partial remediation #

Patch Set 15 : guh #

Total comments: 25

Patch Set 16 : rebase only #

Patch Set 17 : remediate #

Patch Set 18 : predictor! #

Patch Set 19 : add max wait timeout #

Patch Set 20 : rebase #

Patch Set 21 : rebase only #

Patch Set 22 : disable flaky test #

Patch Set 23 : self review #

Patch Set 24 : style fix #

Patch Set 25 : rebase #

Total comments: 55

Patch Set 26 : remediation #

Total comments: 4

Patch Set 27 : clear to land #

Unified diffs Side-by-side diffs Delta from patch set Stats (+566 lines, -298 lines) Patch
M chrome/browser/predictors/autocomplete_action_predictor.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 6 chunks +11 lines, -17 lines 0 comments Download
M chrome/browser/prerender/prerender_config.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +11 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_config.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +3 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_final_status.h View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/prerender/prerender_histograms.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/prerender/prerender_histograms.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +7 lines, -10 lines 0 comments Download
M chrome/browser/prerender/prerender_link_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +55 lines, -24 lines 0 comments Download
M chrome/browser/prerender/prerender_link_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +234 lines, -110 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 chunks +4 lines, -10 lines 0 comments Download
M chrome/browser/prerender/prerender_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 15 chunks +231 lines, -118 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
gavinp
Matt, This is still baking, and not really ready for review, but it is the ...
8 years ago (2012-12-12 18:50:45 UTC) #1
gavinp
Matt, Please take a look at this, the new slot interface. It could go a ...
8 years ago (2012-12-15 17:29:09 UTC) #2
mmenke
One quick high level comment. Still need to dig into the code, but haven't seen ...
8 years ago (2012-12-17 18:34:57 UTC) #3
mmenke
https://codereview.chromium.org/11551003/diff/34005/chrome/browser/prerender/prerender_contents.cc File chrome/browser/prerender/prerender_contents.cc (right): https://codereview.chromium.org/11551003/diff/34005/chrome/browser/prerender/prerender_contents.cc#newcode606 chrome/browser/prerender/prerender_contents.cc:606: render_view_host_observer_->set_prerender_contents(NULL); Why does this need to be moved? https://codereview.chromium.org/11551003/diff/34005/chrome/browser/prerender/prerender_histograms.cc ...
8 years ago (2012-12-17 20:02:23 UTC) #4
gavinp
thanks for that first look. I'm thinking about the problems with pending prerenders and duplicate ...
8 years ago (2012-12-18 00:44:13 UTC) #5
mmenke
I still need to take a look at the unit tests. This is going to ...
8 years ago (2012-12-18 17:15:14 UTC) #6
gavinp
+shishir: Can you take a look at the autocomplete action predictor changes? Matt: WDYT? https://codereview.chromium.org/11551003/diff/34005/chrome/browser/prerender/prerender_link_manager.cc ...
8 years ago (2012-12-18 20:15:12 UTC) #7
gavinp
Matt, Here's the max wait timeout that we talked about. Rather than an epsilon, I ...
8 years ago (2012-12-18 21:09:41 UTC) #8
gavinp
On 2012/12/18 21:09:41, gavinp wrote: > Matt, > > Here's the max wait timeout that ...
8 years ago (2012-12-19 17:15:38 UTC) #9
gavinp
On 2012/12/19 17:15:38, gavinp wrote: > On 2012/12/18 21:09:41, gavinp wrote: > > Matt, > ...
8 years ago (2012-12-19 18:26:56 UTC) #10
gavinp
-Shishir (he's on vacation) +Dominic Dominic: Can you take a look at predictors? Matt: I've ...
8 years ago (2012-12-20 17:09:35 UTC) #11
mmenke
On 2012/12/20 17:09:35, gavinp wrote: > -Shishir (he's on vacation) > > +Dominic > > ...
8 years ago (2012-12-20 17:14:42 UTC) #12
mmenke
Think it looks good - a bunch of comments, but mostly nits / test suggestions ...
7 years, 12 months ago (2012-12-28 18:25:33 UTC) #13
mmenke
https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.cc File chrome/browser/prerender/prerender_link_manager.cc (right): https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.cc#newcode174 chrome/browser/prerender/prerender_link_manager.cc:174: running_launcher_and_render_view_route_set; On 2012/12/28 18:25:33, Matt Menke wrote: > optional: ...
7 years, 12 months ago (2012-12-28 18:32:39 UTC) #14
mmenke
https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.h File chrome/browser/prerender/prerender_link_manager.h (right): https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.h#newcode105 chrome/browser/prerender/prerender_link_manager.h:105: int prerender_id); On 2012/12/28 18:25:33, Matt Menke wrote: > ...
7 years, 12 months ago (2012-12-28 18:35:18 UTC) #15
gavinp
Most nits fixed, and I agree some future CLs would clean this up a lot ...
7 years, 12 months ago (2012-12-28 19:53:46 UTC) #16
mmenke
LGTM. https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.cc File chrome/browser/prerender/prerender_link_manager.cc (right): https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.cc#newcode170 chrome/browser/prerender/prerender_link_manager.cc:170: std::set<std::pair<int, int> > launcher_and_prerender_id_set; On 2012/12/28 19:53:46, gavinp ...
7 years, 12 months ago (2012-12-28 20:15:13 UTC) #17
gavinp
Thanks for all the time on this Matt. https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.cc File chrome/browser/prerender/prerender_link_manager.cc (right): https://codereview.chromium.org/11551003/diff/81001/chrome/browser/prerender/prerender_link_manager.cc#newcode170 chrome/browser/prerender/prerender_link_manager.cc:170: std::set<std::pair<int, ...
7 years, 12 months ago (2012-12-28 20:54:16 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gavinp@chromium.org/11551003/94003
7 years, 12 months ago (2012-12-28 20:55:10 UTC) #19
commit-bot: I haz the power
Presubmit check for 11551003-94003 failed and returned exit status 1. Running presubmit commit checks ...
7 years, 12 months ago (2012-12-28 20:55:17 UTC) #20
Shishir
predictors LGTM
7 years, 12 months ago (2012-12-28 21:42:10 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gavinp@chromium.org/11551003/94003
7 years, 12 months ago (2012-12-28 22:19:55 UTC) #22
commit-bot: I haz the power
Change committed as 174751
7 years, 12 months ago (2012-12-29 00:16:46 UTC) #23
gavinp
7 years, 11 months ago (2013-01-03 19:24:43 UTC) #24
Message was sent while issue was closed.
On 2012/12/29 00:16:46, I haz the power (commit-bot) wrote:
> Change committed as 174751

Note: this commit had a bug fixed in https://codereview.chromium.org/11727006/ .

Powered by Google App Engine
This is Rietveld 408576698