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

Issue 6625066: Add pending preloads indexed by routing id. Start preloading once we navigate. (Closed)

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

Description

Add pending preloads indexed by routing id. Start preloading once we navigate. BUG=72519 TEST=Create a page A that has a <link rel=prefetch> hint for another page B. In page B, add a <link rel=prefetch> hint for page A. Visit A and observe the prefetch for A only starts on navigation to B. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=79141

Patch Set 1 #

Patch Set 2 : Fetch and rebase to minimize changes #

Patch Set 3 : Added browser test #

Patch Set 4 : git try -b win #

Patch Set 5 : Clang fixes #

Total comments: 7

Patch Set 6 : Responding to comments #

Total comments: 5

Patch Set 7 : Added browser test for multiple referenced prerenders and responded to comments. #

Total comments: 21

Patch Set 8 : Mostly browser test cleanup #

Patch Set 9 : Windows build fix #

Total comments: 7

Patch Set 10 : Fixing leak by checking for a valid Prerender source #

Total comments: 17

Patch Set 11 : Added unit tests #

Patch Set 12 : fetch/merge #

Total comments: 17

Patch Set 13 : Responding to comments #

Total comments: 4

Patch Set 14 : Response to mmenke and browser test fix for rate limit #

Patch Set 15 : Build fixes #

Patch Set 16 : another merge required before dcommit #

Patch Set 17 : fetch/merge after tree was closed #

Patch Set 18 : up to date again #

Patch Set 19 : merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+474 lines, -64 lines) Patch
M chrome/browser/prerender/prerender_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 9 chunks +139 lines, -25 lines 0 comments Download
M chrome/browser/prerender/prerender_contents.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +8 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_contents.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +18 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_final_status.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 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 5 chunks +19 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 12 13 14 15 16 9 chunks +112 lines, -0 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 13 14 4 chunks +73 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_handler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +22 lines, -8 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +35 lines, -13 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_handler_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +3 lines, -2 lines 0 comments Download
A chrome/test/data/prerender/prerender_infinite_a_multiple.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +22 lines, -0 lines 0 comments Download
M chrome/test/data/prerender/prerender_infinite_b.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +0 lines, -12 lines 0 comments Download
A chrome/test/data/prerender/prerender_infinite_b_multiple.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -0 lines 0 comments Download
A chrome/test/data/prerender/prerender_infinite_c_multiple.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -0 lines 0 comments Download
M content/browser/renderer_host/resource_dispatcher_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +6 lines, -3 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
dominich
9 years, 9 months ago (2011-03-09 18:22:51 UTC) #1
cbentzel
http://codereview.chromium.org/6625066/diff/8001/content/browser/renderer_host/resource_dispatcher_host.cc File content/browser/renderer_host/resource_dispatcher_host.cc (right): http://codereview.chromium.org/6625066/diff/8001/content/browser/renderer_host/resource_dispatcher_host.cc#newcode471 content/browser/renderer_host/resource_dispatcher_host.cc:471: bool is_from_prerender = ((load_flags & net::LOAD_PRERENDER) != 0); It ...
9 years, 9 months ago (2011-03-14 14:05:55 UTC) #2
cbentzel
I'm generally of the mindset that I'd prefer to implement the delayed-prerender-instantiation when it becomes ...
9 years, 9 months ago (2011-03-14 14:32:25 UTC) #3
dominich
Right now I expect this to never happen as the likelihood of one link rel ...
9 years, 9 months ago (2011-03-14 17:47:15 UTC) #4
cbentzel
If you are going to add logic for multiple-prefetch-within-prerendered page case, I'd like to see ...
9 years, 9 months ago (2011-03-14 18:06:12 UTC) #5
dominich
Added a test too. http://codereview.chromium.org/6625066/diff/15001/chrome/browser/prerender/prerender_contents.cc File chrome/browser/prerender/prerender_contents.cc (right): http://codereview.chromium.org/6625066/diff/15001/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/14 18:06:13, ...
9 years, 9 months ago (2011-03-14 19:42:34 UTC) #6
cbentzel
+mmenke for the browsertest changes. I'll LGTM after these suggestions, although I'm still going to ...
9 years, 9 months ago (2011-03-15 18:42:24 UTC) #7
cbentzel
On Tue, Mar 15, 2011 at 2:42 PM, <cbentzel@chromium.org> wrote: > +mmenke for the browsertest ...
9 years, 9 months ago (2011-03-15 18:46:13 UTC) #8
dominich.google
On Tue, Mar 15, 2011 at 11:46 AM, Chris Bentzel <cbentzel@chromium.org>wrote: > > > On ...
9 years, 9 months ago (2011-03-15 19:12:51 UTC) #9
mmenke
Unless I'm missing something, it seems like there's a potential leak here. If a prerendered ...
9 years, 9 months ago (2011-03-15 19:20:14 UTC) #10
dominich
On 2011/03/15 19:20:14, Matt Menke wrote: > Unless I'm missing something, it seems like there's ...
9 years, 9 months ago (2011-03-15 19:32:22 UTC) #11
mmenke
On 2011/03/15 19:32:22, dominic wrote: > On 2011/03/15 19:20:14, Matt Menke wrote: > > Unless ...
9 years, 9 months ago (2011-03-15 19:35:08 UTC) #12
dominich
On 2011/03/15 19:35:08, Matt Menke wrote: > On 2011/03/15 19:32:22, dominic wrote: > > On ...
9 years, 9 months ago (2011-03-15 20:13:00 UTC) #13
dominich
http://codereview.chromium.org/6625066/diff/16005/chrome/browser/prerender/prerender_browsertest.cc File chrome/browser/prerender/prerender_browsertest.cc (right): http://codereview.chromium.org/6625066/diff/16005/chrome/browser/prerender/prerender_browsertest.cc#newcode94 chrome/browser/prerender/prerender_browsertest.cc:94: expected_final_status_map_[url] = expected_final_status; On 2011/03/15 18:42:24, cbentzel wrote: > ...
9 years, 9 months ago (2011-03-15 20:41:13 UTC) #14
cbentzel
http://codereview.chromium.org/6625066/diff/23014/chrome/browser/prerender/prerender_browsertest.cc File chrome/browser/prerender/prerender_browsertest.cc (right): http://codereview.chromium.org/6625066/diff/23014/chrome/browser/prerender/prerender_browsertest.cc#newcode238 chrome/browser/prerender/prerender_browsertest.cc:238: bool UrlIsInPrerenderManager(const std::string& html_file) { const http://codereview.chromium.org/6625066/diff/23014/chrome/browser/prerender/prerender_browsertest.cc#newcode244 chrome/browser/prerender/prerender_browsertest.cc:244: bool ...
9 years, 9 months ago (2011-03-16 01:23:28 UTC) #15
dominich
Fixed the leak issue and fixed the nits.
9 years, 9 months ago (2011-03-18 17:29:57 UTC) #16
cbentzel
http://codereview.chromium.org/6625066/diff/17002/chrome/browser/prerender/prerender_browsertest.cc File chrome/browser/prerender/prerender_browsertest.cc (right): http://codereview.chromium.org/6625066/diff/17002/chrome/browser/prerender/prerender_browsertest.cc#newcode244 chrome/browser/prerender/prerender_browsertest.cc:244: bool UrlIsPendingInPrerenderManager(const std::string& html_file){ Nit: space between ) and ...
9 years, 9 months ago (2011-03-18 18:35:43 UTC) #17
dominich
http://codereview.chromium.org/6625066/diff/17002/chrome/browser/prerender/prerender_browsertest.cc File chrome/browser/prerender/prerender_browsertest.cc (right): http://codereview.chromium.org/6625066/diff/17002/chrome/browser/prerender/prerender_browsertest.cc#newcode244 chrome/browser/prerender/prerender_browsertest.cc:244: bool UrlIsPendingInPrerenderManager(const std::string& html_file){ On 2011/03/18 18:35:43, cbentzel wrote: ...
9 years, 9 months ago (2011-03-21 16:36:11 UTC) #18
cbentzel
You are going to want to get rid of the changes I made to PrerenderResourceHandler ...
9 years, 9 months ago (2011-03-21 19:46:04 UTC) #19
dominich
http://codereview.chromium.org/6625066/diff/33002/chrome/browser/prerender/prerender_contents.h File chrome/browser/prerender/prerender_contents.h (right): http://codereview.chromium.org/6625066/diff/33002/chrome/browser/prerender/prerender_contents.h#newcode87 chrome/browser/prerender/prerender_contents.h:87: virtual bool child_id(int* child_id) const; On 2011/03/21 19:46:04, cbentzel ...
9 years, 9 months ago (2011-03-21 20:25:51 UTC) #20
cbentzel
LGTM http://codereview.chromium.org/6625066/diff/37002/chrome/browser/prerender/prerender_resource_handler.cc File chrome/browser/prerender/prerender_resource_handler.cc (right): http://codereview.chromium.org/6625066/diff/37002/chrome/browser/prerender/prerender_resource_handler.cc#newcode209 chrome/browser/prerender/prerender_resource_handler.cc:209: prerender_manager_->AddPreload(url, alias_urls, referrer); Nit: braces go here as ...
9 years, 9 months ago (2011-03-21 21:07:38 UTC) #21
mmenke
LGTM http://codereview.chromium.org/6625066/diff/33002/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/6625066/diff/33002/chrome/browser/prerender/prerender_manager.cc#newcode227 chrome/browser/prerender/prerender_manager.cc:227: CHECK(pc->child_id(&child_id)); On 2011/03/21 20:25:51, dominic wrote: > On ...
9 years, 9 months ago (2011-03-21 21:18:57 UTC) #22
dominich
Everything passed try and is merged with trunk. I figured you might want one more ...
9 years, 9 months ago (2011-03-22 15:54:45 UTC) #23
cbentzel
9 years, 9 months ago (2011-03-22 18:43:40 UTC) #24
LGTM

Powered by Google App Engine
This is Rietveld 408576698