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

Issue 6171007: For prerendering, keep track of all the intermediate redirects, and hook into... (Closed)

Created:
9 years, 11 months ago by tburkard
Modified:
9 years, 7 months ago
Reviewers:
cbentzel, brettw
CC:
chromium-reviews
Visibility:
Public.

Description

For prerendering, keep track of all the intermediate redirects, and hook into the provisional load messages to catch an earlier time to substitute in the prerendered page. BUG=none TEST=search for techcrunch and notice how the preloaded techcrunch.com is used despite the redirect Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=71721

Patch Set 1 #

Total comments: 6

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 24

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Total comments: 8

Patch Set 8 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+172 lines, -33 lines) Patch
M chrome/browser/prerender/prerender_contents.h View 1 2 3 4 5 6 7 4 chunks +24 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_contents.cc View 1 2 3 4 5 6 7 3 chunks +47 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_manager.h View 1 2 3 4 5 6 7 3 chunks +7 lines, -3 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.cc View 1 2 3 4 5 6 7 4 chunks +9 lines, -5 lines 0 comments Download
M chrome/browser/prerender/prerender_manager_unittest.cc View 1 2 3 4 5 6 7 9 chunks +48 lines, -11 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_handler.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -3 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_handler.cc View 1 2 3 4 5 6 7 4 chunks +16 lines, -7 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_handler_unittest.cc View 1 2 3 4 5 6 7 4 chunks +12 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
tburkard
I created the change to keep track of all the redirects for prerendered URLs, both ...
9 years, 11 months ago (2011-01-12 17:40:02 UTC) #1
cbentzel
I'll do a longer look later today. Please add unit tests. Also, you'll want to ...
9 years, 11 months ago (2011-01-12 18:04:14 UTC) #2
tburkard
http://codereview.chromium.org/6171007/diff/1/chrome/browser/prerender/prerender_contents.cc File chrome/browser/prerender/prerender_contents.cc (right): http://codereview.chromium.org/6171007/diff/1/chrome/browser/prerender/prerender_contents.cc#newcode251 chrome/browser/prerender/prerender_contents.cc:251: printf("\n\n*** new matching URL: %s\n\n", url.spec().c_str()); On 2011/01/12 18:04:14, ...
9 years, 11 months ago (2011-01-12 21:32:10 UTC) #3
tburkard
Chris, i just added the change we discussed to keep a list of all the ...
9 years, 11 months ago (2011-01-12 22:18:04 UTC) #4
cbentzel
Quick question: who calls OnReceivedMessage? I'd like to get a browser test going for this ...
9 years, 11 months ago (2011-01-12 23:49:53 UTC) #5
cbentzel
Oh, and definitely make sure to run against trybots: I think the current version won't ...
9 years, 11 months ago (2011-01-12 23:50:35 UTC) #6
tburkard
OnReceivedMessage is called for every IPC message received from the renderer. http://codereview.chromium.org/6171007/diff/21001/chrome/browser/prerender/prerender_contents.cc File chrome/browser/prerender/prerender_contents.cc (right): ...
9 years, 11 months ago (2011-01-13 19:14:16 UTC) #7
tburkard
Running trybots now.. On Thu, Jan 13, 2011 at 11:14 AM, <tburkard@chromium.org> wrote: > OnReceivedMessage ...
9 years, 11 months ago (2011-01-13 19:17:42 UTC) #8
brettw
http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/prerender_contents.cc File chrome/browser/prerender/prerender_contents.cc (right): http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/prerender_contents.cc#newcode257 chrome/browser/prerender/prerender_contents.cc:257: alias_urls_.push_back(url); Would alos_urls_ be better as a std::set?
9 years, 11 months ago (2011-01-14 01:34:08 UTC) #9
cbentzel
LGTM, assuming you add the unit test cases described below. Also, my question about OnMessageReceived ...
9 years, 11 months ago (2011-01-14 02:01:13 UTC) #10
brettw
I didn't really check this in detail, but I didn't see any obvious problem, so ...
9 years, 11 months ago (2011-01-14 02:09:33 UTC) #11
tburkard
9 years, 11 months ago (2011-01-18 22:29:18 UTC) #12
Addressed all comments, and did a gclient sync.  I will run trybots again and
then land.

Thanks.

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
File chrome/browser/prerender/prerender_contents.cc (right):

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
chrome/browser/prerender/prerender_contents.cc:257: alias_urls_.push_back(url);
On 2011/01/14 01:34:13, brettw wrote:
> Would alos_urls_ be better as a std::set?

Since it's just 1-3 elements, I thought a vector would be sufficient rather than
using a set with hashing.

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
File chrome/browser/prerender/prerender_contents.h (right):

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
chrome/browser/prerender/prerender_contents.h:141: // from
renderViewHostDelegate.
On 2011/01/14 02:01:13, cbentzel wrote:
> Nit: RenderViewHostDelegate [capitalized]

Done.

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
File chrome/browser/prerender/prerender_manager_unittest.cc (right):

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
chrome/browser/prerender/prerender_manager_unittest.cc:48: void
AddSimplePreload(const GURL& url) {
On 2011/01/14 02:01:13, cbentzel wrote:
> Should you add a unit test for the multiple alias_urls case, and make sure
that
> the find mechanism works correctly?

Done.

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
File chrome/browser/prerender/prerender_resource_handler_unittest.cc (right):

http://codereview.chromium.org/6171007/diff/52001/chrome/browser/prerender/pr...
chrome/browser/prerender/prerender_resource_handler_unittest.cc:103: void
SetLastHandledURL(const GURL& url, const std::vector<GURL>& alias_url) {
On 2011/01/14 02:01:13, cbentzel wrote:
> I recommend copying alias_urls into a member variable here, and validating.
> Particularly in the PrerenderRedirect case.

Done.

Powered by Google App Engine
This is Rietveld 408576698