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

Issue 10416002: Seculative resource prefetching for URLs CL. (Closed)

Created:
8 years, 7 months ago by Shishir
Modified:
8 years, 6 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, arv (Not doing code reviews), darin-cc_chromium.org, igrigorik+cr_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Speculative resource prefetching for URLs CL. The learning model and database persistance for speculative resource prefetching based on URLs. The host based learning will come in another CL. Will add tests once the design is approved. BUG= TEST=unit_test Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=144019

Patch Set 1 #

Total comments: 152

Patch Set 2 : Addressing dominich's and willchan's comments. #

Total comments: 40

Patch Set 3 : Moving to WeakPtrs and RVHD. #

Total comments: 55

Patch Set 4 : Addressing Dominich's comments. #

Total comments: 34

Patch Set 5 : Addressing Will's comments and adding a unittest. #

Total comments: 40

Patch Set 6 : Addressing comments, adding test. #

Total comments: 6

Patch Set 7 : Addressing Domnich's comments. #

Total comments: 4

Patch Set 8 : Fixing enum name. #

Total comments: 11

Patch Set 9 : Addressing willchan's comments. #

Patch Set 10 : Rebasing and windows test bug fixes. #

Patch Set 11 : Resolving conflicts. #

Patch Set 12 : Resolving conflicts. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2943 lines, -135 lines) Patch
M chrome/app/generated_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/about_flags.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/browser/browser_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
A chrome/browser/net/resource_prefetch_predictor_observer.h View 1 2 3 4 1 chunk +49 lines, -0 lines 0 comments Download
A chrome/browser/net/resource_prefetch_predictor_observer.cc View 1 2 3 4 5 6 7 8 1 chunk +126 lines, -0 lines 0 comments Download
M chrome/browser/predictors/predictor_database.h View 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/predictors/predictor_database.cc View 1 2 3 4 5 6 7 8 7 chunks +16 lines, -3 lines 0 comments Download
M chrome/browser/predictors/predictor_table_base.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/predictors/predictor_table_base.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_common.h View 1 2 3 4 1 chunk +46 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_common.cc View 1 2 3 4 1 chunk +55 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor.h View 1 2 3 4 5 6 7 8 1 chunk +217 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor.cc View 1 2 3 4 5 6 7 8 9 1 chunk +766 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor_factory.h View 1 2 3 4 5 1 chunk +37 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor_factory.cc View 1 2 3 4 5 1 chunk +46 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor_tables.h View 1 2 3 4 5 1 chunk +81 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor_tables.cc View 1 2 3 4 5 1 chunk +260 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +262 lines, -0 lines 0 comments Download
A chrome/browser/predictors/resource_prefetch_predictor_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +600 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_dependency_manager.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.h View 1 2 3 4 5 6 4 chunks +11 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.cc View 1 2 3 4 5 6 7 8 3 chunks +15 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.h View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -3 lines 0 comments Download
M chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc View 1 2 3 4 5 6 7 8 9 5 chunks +17 lines, -0 lines 0 comments Download
A chrome/browser/resources/predictors/autocomplete_action_predictor.html View 1 chunk +24 lines, -0 lines 0 comments Download
A + chrome/browser/resources/predictors/autocomplete_action_predictor.js View 1 2 4 chunks +7 lines, -8 lines 0 comments Download
M chrome/browser/resources/predictors/predictors.css View 1 2 3 2 chunks +5 lines, -5 lines 0 comments Download
M chrome/browser/resources/predictors/predictors.html View 1 chunk +31 lines, -30 lines 0 comments Download
M chrome/browser/resources/predictors/predictors.js View 1 2 1 chunk +5 lines, -74 lines 0 comments Download
A chrome/browser/resources/predictors/resource_prefetch_predictor.html View 1 chunk +27 lines, -0 lines 0 comments Download
A chrome/browser/resources/predictors/resource_prefetch_predictor.js View 1 2 3 4 5 6 1 chunk +98 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/predictors/predictors_handler.h View 1 2 3 2 chunks +6 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/predictors/predictors_handler.cc View 1 2 3 4 3 chunks +67 lines, -1 line 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/async_resource_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +10 lines, -5 lines 0 comments Download
M content/browser/renderer_host/sync_resource_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +8 lines, -4 lines 0 comments Download
M content/public/browser/resource_dispatcher_host_delegate.h View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M content/public/browser/resource_dispatcher_host_delegate.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 33 (0 generated)
Shishir
Could you please review this CL? willchan: for chrome/browser/net/... dominich, tonyg: All of it.
8 years, 7 months ago (2012-05-21 02:56:24 UTC) #1
dominich
This is disabled by default with no field trial, correct? So you'll add tests first, ...
8 years, 7 months ago (2012-05-21 16:16:52 UTC) #2
willchan no longer on Chromium
https://chromiumcodereview.appspot.com/10416002/diff/1/chrome/browser/net/resource_prefetch_interceptor.h File chrome/browser/net/resource_prefetch_interceptor.h (right): https://chromiumcodereview.appspot.com/10416002/diff/1/chrome/browser/net/resource_prefetch_interceptor.h#newcode21 chrome/browser/net/resource_prefetch_interceptor.h:21: : public net::URLRequestJobFactory::Interceptor { No, do not use this ...
8 years, 7 months ago (2012-05-21 20:20:17 UTC) #3
Shishir
https://chromiumcodereview.appspot.com/10416002/diff/1/chrome/browser/net/resource_prefetch_interceptor.h File chrome/browser/net/resource_prefetch_interceptor.h (right): https://chromiumcodereview.appspot.com/10416002/diff/1/chrome/browser/net/resource_prefetch_interceptor.h#newcode12 chrome/browser/net/resource_prefetch_interceptor.h:12: #include "net/url_request/url_request_job_factory.h" On 2012/05/21 16:16:53, dominich wrote: > nit: ...
8 years, 7 months ago (2012-05-23 01:46:45 UTC) #4
dominich
generally looks good, but i'm confused about the ownership of the Observer vs Predictor. I ...
8 years, 7 months ago (2012-05-24 16:07:52 UTC) #5
willchan no longer on Chromium
https://chromiumcodereview.appspot.com/10416002/diff/2002/chrome/browser/net/resource_prefetch_predictor_observer.cc File chrome/browser/net/resource_prefetch_predictor_observer.cc (right): https://chromiumcodereview.appspot.com/10416002/diff/2002/chrome/browser/net/resource_prefetch_predictor_observer.cc#newcode54 chrome/browser/net/resource_prefetch_predictor_observer.cc:54: void(predictors::ResourcePrefetchPredictor::*recordFunction) recordFunction is not Chromium/Google naming style. Looks like ...
8 years, 7 months ago (2012-05-24 22:28:52 UTC) #6
Shishir
Hi Will, Dominich, I have moved the code to use WeakPtrs instead of being refcounted, ...
8 years, 6 months ago (2012-05-30 01:07:51 UTC) #7
willchan no longer on Chromium
On Tue, May 29, 2012 at 6:07 PM, <shishir@chromium.org> wrote: > Hi Will, Dominich, > ...
8 years, 6 months ago (2012-05-30 01:44:21 UTC) #8
dominich
Getting close I think. The weak pointer is much clearer than the refcounting, but we'll ...
8 years, 6 months ago (2012-05-30 15:35:01 UTC) #9
Shishir
https://chromiumcodereview.appspot.com/10416002/diff/17001/chrome/browser/net/resource_prefetch_predictor_observer.cc File chrome/browser/net/resource_prefetch_predictor_observer.cc (right): https://chromiumcodereview.appspot.com/10416002/diff/17001/chrome/browser/net/resource_prefetch_predictor_observer.cc#newcode33 chrome/browser/net/resource_prefetch_predictor_observer.cc:33: ResourcePrefetchPredictor::URLRequestSummary summary; On 2012/05/30 15:35:01, dominich wrote: > I ...
8 years, 6 months ago (2012-05-30 18:07:15 UTC) #10
willchan no longer on Chromium
I don't see anywhere that ties into BrowsingDataRemover. Are you planning on hooking into that ...
8 years, 6 months ago (2012-05-31 02:08:58 UTC) #11
Shishir
Addressed Will's comments, and also added a unittest. Will add the other unittest soon. Please ...
8 years, 6 months ago (2012-06-02 01:19:28 UTC) #12
jam
lgtm for my files
8 years, 6 months ago (2012-06-04 15:25:13 UTC) #13
willchan no longer on Chromium
I'm mostly fine with this, but I didn't review the implementation in detail. I'm deferring ...
8 years, 6 months ago (2012-06-05 01:34:46 UTC) #14
dominich
http://codereview.chromium.org/10416002/diff/26001/chrome/browser/net/resource_prefetch_predictor_observer.cc File chrome/browser/net/resource_prefetch_predictor_observer.cc (right): http://codereview.chromium.org/10416002/diff/26001/chrome/browser/net/resource_prefetch_predictor_observer.cc#newcode62 chrome/browser/net/resource_prefetch_predictor_observer.cc:62: CHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); Constructed on UI but destroyed on IO? http://codereview.chromium.org/10416002/diff/26001/chrome/browser/predictors/resource_prefetch_predictor.cc ...
8 years, 6 months ago (2012-06-06 17:09:08 UTC) #15
Shishir
Added the last test, please take a look https://chromiumcodereview.appspot.com/10416002/diff/26001/chrome/browser/net/resource_prefetch_predictor_observer.cc File chrome/browser/net/resource_prefetch_predictor_observer.cc (right): https://chromiumcodereview.appspot.com/10416002/diff/26001/chrome/browser/net/resource_prefetch_predictor_observer.cc#newcode18 chrome/browser/net/resource_prefetch_predictor_observer.cc:18: bool ...
8 years, 6 months ago (2012-06-06 23:55:33 UTC) #16
Shishir
Ping.
8 years, 6 months ago (2012-06-12 19:06:06 UTC) #17
dominich
http://codereview.chromium.org/10416002/diff/38001/chrome/browser/predictors/resource_prefetch_predictor.cc File chrome/browser/predictors/resource_prefetch_predictor.cc (right): http://codereview.chromium.org/10416002/diff/38001/chrome/browser/predictors/resource_prefetch_predictor.cc#newcode200 chrome/browser/predictors/resource_prefetch_predictor.cc:200: if (response->first_party_for_cookies().scheme() != chrome::kHttpScheme) I meant something like the ...
8 years, 6 months ago (2012-06-13 18:57:23 UTC) #18
Shishir
http://codereview.chromium.org/10416002/diff/38001/chrome/browser/predictors/resource_prefetch_predictor.cc File chrome/browser/predictors/resource_prefetch_predictor.cc (right): http://codereview.chromium.org/10416002/diff/38001/chrome/browser/predictors/resource_prefetch_predictor.cc#newcode200 chrome/browser/predictors/resource_prefetch_predictor.cc:200: if (response->first_party_for_cookies().scheme() != chrome::kHttpScheme) On 2012/06/13 18:57:23, dominich wrote: ...
8 years, 6 months ago (2012-06-13 20:57:50 UTC) #19
dominich
LGTM modulo fix below. http://codereview.chromium.org/10416002/diff/37008/chrome/browser/predictors/resource_prefetch_predictor.cc File chrome/browser/predictors/resource_prefetch_predictor.cc (right): http://codereview.chromium.org/10416002/diff/37008/chrome/browser/predictors/resource_prefetch_predictor.cc#newcode62 chrome/browser/predictors/resource_prefetch_predictor.cc:62: RESOURCE_STATUS_COUNT = 64, COUNT should ...
8 years, 6 months ago (2012-06-13 21:48:04 UTC) #20
Shishir
Hi Will, Could you LGTM this. http://codereview.chromium.org/10416002/diff/37008/chrome/browser/predictors/resource_prefetch_predictor.cc File chrome/browser/predictors/resource_prefetch_predictor.cc (right): http://codereview.chromium.org/10416002/diff/37008/chrome/browser/predictors/resource_prefetch_predictor.cc#newcode62 chrome/browser/predictors/resource_prefetch_predictor.cc:62: RESOURCE_STATUS_COUNT = 64, ...
8 years, 6 months ago (2012-06-13 21:56:15 UTC) #21
willchan no longer on Chromium
https://chromiumcodereview.appspot.com/10416002/diff/39049/chrome/browser/net/resource_prefetch_predictor_observer.cc File chrome/browser/net/resource_prefetch_predictor_observer.cc (right): https://chromiumcodereview.appspot.com/10416002/diff/39049/chrome/browser/net/resource_prefetch_predictor_observer.cc#newcode51 chrome/browser/net/resource_prefetch_predictor_observer.cc:51: } // namespace you're missing a horizontal whitespace between ...
8 years, 6 months ago (2012-06-18 20:15:12 UTC) #22
Shishir
https://chromiumcodereview.appspot.com/10416002/diff/39049/chrome/browser/net/resource_prefetch_predictor_observer.cc File chrome/browser/net/resource_prefetch_predictor_observer.cc (right): https://chromiumcodereview.appspot.com/10416002/diff/39049/chrome/browser/net/resource_prefetch_predictor_observer.cc#newcode51 chrome/browser/net/resource_prefetch_predictor_observer.cc:51: } // namespace On 2012/06/18 20:15:12, willchan wrote: > ...
8 years, 6 months ago (2012-06-18 20:38:32 UTC) #23
willchan no longer on Chromium
chrome/browser/net/ and chrome/browser/profiles LGTM http://codereview.chromium.org/10416002/diff/39049/chrome/browser/predictors/resource_prefetch_predictor_tables.h File chrome/browser/predictors/resource_prefetch_predictor_tables.h (right): http://codereview.chromium.org/10416002/diff/39049/chrome/browser/predictors/resource_prefetch_predictor_tables.h#newcode66 chrome/browser/predictors/resource_prefetch_predictor_tables.h:66: friend class PredictorDatabaseInternal; On 2012/06/18 ...
8 years, 6 months ago (2012-06-19 00:38:26 UTC) #24
Shishir
On 2012/06/19 00:38:26, willchan wrote: > chrome/browser/net/ and chrome/browser/profiles LGTM > > http://codereview.chromium.org/10416002/diff/39049/chrome/browser/predictors/resource_prefetch_predictor_tables.h > File ...
8 years, 6 months ago (2012-06-20 17:42:50 UTC) #25
dominich
On 2012/06/20 17:42:50, Shishir wrote: > On 2012/06/19 00:38:26, willchan wrote: > > chrome/browser/net/ and ...
8 years, 6 months ago (2012-06-20 17:45:36 UTC) #26
willchan no longer on Chromium
On Wed, Jun 20, 2012 at 10:42 AM, <shishir@chromium.org> wrote: > On 2012/06/19 00:38:26, willchan ...
8 years, 6 months ago (2012-06-20 23:33:45 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/shishir@chromium.org/10416002/80002
8 years, 6 months ago (2012-06-22 18:16:34 UTC) #28
commit-bot: I haz the power
Failed to apply patch for content/browser/renderer_host/async_resource_handler.cc: While running patch -p1 --forward --force; patching file content/browser/renderer_host/async_resource_handler.cc ...
8 years, 6 months ago (2012-06-22 18:16:48 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/shishir@chromium.org/10416002/88001
8 years, 6 months ago (2012-06-22 21:45:37 UTC) #30
commit-bot: I haz the power
Failed to apply patch for content/browser/renderer_host/async_resource_handler.cc: While running patch -p1 --forward --force; patching file content/browser/renderer_host/async_resource_handler.cc ...
8 years, 6 months ago (2012-06-22 21:45:50 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/shishir@chromium.org/10416002/94002
8 years, 6 months ago (2012-06-25 20:27:21 UTC) #32
commit-bot: I haz the power
8 years, 6 months ago (2012-06-25 21:36:40 UTC) #33
Change committed as 144019

Powered by Google App Engine
This is Rietveld 408576698