Re-add resource speculative prefetching code
commit9f71822da5a865c09675be7a7ac37f5089317fec
authorzhenw <zhenw@chromium.org>
Fri, 19 Sep 2014 00:41:03 +0000 (18 17:41 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 19 Sep 2014 00:41:21 +0000 (19 00:41 +0000)
treebdb23c1ad4b9285e31b3e0f2be85888eca7e0c79
parent41a9426745a734139f7d8442a83efe2153e63516
Re-add resource speculative prefetching code

This CL fixes the memory leak bug in CL 462423004.
See https://codereview.chromium.org/462423004/ for previous code reviews.

-------------------------
 Original CL description
-------------------------

Revert CL 117933003. Re-add speculative resource prefetching code.
https://codereview.chromium.org/117933003/

The speculative resource prefetching code was experimental code developed by
shishir@. He found that it has little improvement on desktop Chrome (win). We
though this should be beneficial to mobile browsers. After discussing with
tburkard@ and kenjibaheux@, we decided to bring the code back and do more
analysis on mobile devices. Reverting the patchset to re-add the code is the
first step.

The following design doc has discussed all related approaches and action items.
https://docs.google.com/a/google.com/document/d/1ie3hu-zNNXvmTXm3aJAtKUGOh6nZfbNjA0aZE1bzzIg/edit?usp=sharing

BUG=408399, 405690

Review URL: https://codereview.chromium.org/576313002

Cr-Commit-Position: refs/heads/master@{#295626}
37 files changed:
chrome/browser/net/resource_prefetch_predictor_observer.cc [new file with mode: 0644]
chrome/browser/net/resource_prefetch_predictor_observer.h [new file with mode: 0644]
chrome/browser/predictors/predictor_database.cc
chrome/browser/predictors/predictor_database.h
chrome/browser/predictors/resource_prefetch_common.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_common.h [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor.h [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_factory.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_factory.h [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_tab_helper.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_tab_helper.h [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_tables.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_tables.h [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetcher.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetcher.h [new file with mode: 0644]
chrome/browser/predictors/resource_prefetcher_manager.cc [new file with mode: 0644]
chrome/browser/predictors/resource_prefetcher_manager.h [new file with mode: 0644]
chrome/browser/predictors/resource_prefetcher_unittest.cc [new file with mode: 0644]
chrome/browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc
chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
chrome/browser/profiles/profile_io_data.cc
chrome/browser/profiles/profile_io_data.h
chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
chrome/browser/resources/predictors/predictors.html
chrome/browser/resources/predictors/predictors.js
chrome/browser/resources/predictors/resource_prefetch_predictor.html [new file with mode: 0644]
chrome/browser/resources/predictors/resource_prefetch_predictor.js [new file with mode: 0644]
chrome/browser/ui/tab_helpers.cc
chrome/browser/ui/webui/predictors/predictors_handler.cc
chrome/browser/ui/webui/predictors/predictors_handler.h
chrome/chrome_browser.gypi
chrome/chrome_tests_unit.gypi
chrome/common/chrome_switches.cc
chrome/common/chrome_switches.h