Tracking bug for investigations and improvements of the speculative prefetch predictor.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c9c483d3058976b76c1c5b4deb3047db140d89cf commit c9c483d3058976b76c1c5b4deb3047db140d89cf Author: lizeb <lizeb@chromium.org> Date: Wed Jul 27 15:55:56 2016 predictors: Remove the HTTP restriction for speculative prefetch. The prefetcher skips the HTTPS main pages and subresources, which is unfortunate as more and more pages and resources are served over HTTPS. Example from loading the verge with this patch, (from prefetch_predictor_tool.py) on Android: https://cdn0.vox-cdn.com/stylesheets/verge2_all.v7ffc13f1b68c7dbd.css https://cdn0.vox-cdn.com/javascripts/libraries.vc262b07aa2474684.js https://cdn0.vox-cdn.com/javascripts/lib/advertisement.v6fdc11c.js https://optimize-stats.voxmedia.com/loader.min.js?key=efd28c71b5699c36 https://cdn0.vox-cdn.com/javascripts/verge2_head.v43436e3cdcad9833.js http://ad-cdn.technoratimedia.com/smartwrapper/81065/1027/sw.min.js https://www.googletagservices.com/tag/js/gpt.js https://cdn0.vox-cdn.com/javascripts/verge2_body.v9f33e9e87ec93cd8.js Without: http://ad-cdn.technoratimedia.com/smartwrapper/81065/1027/sw.min.js http://partner.googleadservices.com/gpt/pubads_impl_92.js http://cdn.yldbt.com/js/yieldbot.intent.js http://ads.rubiconproject.com/header/7470.js http://sbnationbidder-d.openx.net/w/1.0/jstag?nc=172968584-theverge1 http://cdn.krxd.net/ctjs/controltag.js.726d287890a4d2c520d4a7a450e210ea http://www.google-analytics.com/analytics.js http://pagead2.googlesyndication.com/pagead/osd.js BUG=631966 Review-Url: https://codereview.chromium.org/2186803004 Cr-Commit-Position: refs/heads/master@{#408139} [modify] https://crrev.com/c9c483d3058976b76c1c5b4deb3047db140d89cf/chrome/browser/predictors/resource_prefetch_predictor.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f513f1db12aa282b38f3d2624b792af7626b1f5b commit f513f1db12aa282b38f3d2624b792af7626b1f5b Author: lizeb <lizeb@chromium.org> Date: Fri Jul 29 10:52:19 2016 predictors: Support fonts in resource_prefetch_predictors. BUG=631966 Review-Url: https://codereview.chromium.org/2184323003 Cr-Commit-Position: refs/heads/master@{#408613} [modify] https://crrev.com/f513f1db12aa282b38f3d2624b792af7626b1f5b/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/f513f1db12aa282b38f3d2624b792af7626b1f5b/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/f513f1db12aa282b38f3d2624b792af7626b1f5b/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/f513f1db12aa282b38f3d2624b792af7626b1f5b/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/f513f1db12aa282b38f3d2624b792af7626b1f5b/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/f513f1db12aa282b38f3d2624b792af7626b1f5b/tools/resource_prefetch_predictor/prefetch_predictor_tool.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6e3614acd196b31a68c1f1f1a90804379cae57d1 commit 6e3614acd196b31a68c1f1f1a90804379cae57d1 Author: lizeb <lizeb@chromium.org> Date: Tue Aug 02 13:38:18 2016 predictors: Add the request priority to the resource_prefetch_predictor DB. Request priority is derived from the priority given by Blink. This makes it an important criteria for prioritizing requests in prefetch. This CL stores the request priority in the local database. A forthcoming one will use it for prioritization. BUG=631966 Review-Url: https://codereview.chromium.org/2195503003 Cr-Commit-Position: refs/heads/master@{#409180} [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/chrome/browser/net/resource_prefetch_predictor_observer.cc [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/6e3614acd196b31a68c1f1f1a90804379cae57d1/tools/resource_prefetch_predictor/prefetch_predictor_tool.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cf76d6c6e1ef57c91951028b68735de3beac9d7b commit cf76d6c6e1ef57c91951028b68735de3beac9d7b Author: lizeb <lizeb@chromium.org> Date: Tue Aug 09 16:04:21 2016 predictors: Also track "no-cache" and "must-revalidate" resources. TBR=isherman # Marking a histogram as deprecated. BUG=631966 Review-Url: https://codereview.chromium.org/2227723002 Cr-Commit-Position: refs/heads/master@{#410691} [modify] https://crrev.com/cf76d6c6e1ef57c91951028b68735de3beac9d7b/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/cf76d6c6e1ef57c91951028b68735de3beac9d7b/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/cf76d6c6e1ef57c91951028b68735de3beac9d7b/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/135b7336c5c7f1e38a88c0b89b762d335208cd6f commit 135b7336c5c7f1e38a88c0b89b762d335208cd6f Author: lizeb <lizeb@chromium.org> Date: Wed Aug 17 11:18:28 2016 predictors: Fix duplicate content type detection. Content type mapping is done in two places: in ResourcePrefetchPredictor, and in ResourcePrefetchPredictorObserver. The first one is undesirable, since it overrides the resource type set at URL request time. Remove the duplication, and move the summary creation to ResourcePrefetchPredictor. This will make it easier to add tests as well. BUG=631966 Review-Url: https://codereview.chromium.org/2228003002 Cr-Commit-Position: refs/heads/master@{#412496} [modify] https://crrev.com/135b7336c5c7f1e38a88c0b89b762d335208cd6f/chrome/browser/net/resource_prefetch_predictor_observer.cc [modify] https://crrev.com/135b7336c5c7f1e38a88c0b89b762d335208cd6f/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/135b7336c5c7f1e38a88c0b89b762d335208cd6f/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/135b7336c5c7f1e38a88c0b89b762d335208cd6f/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/135b7336c5c7f1e38a88c0b89b762d335208cd6f/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/135b7336c5c7f1e38a88c0b89b762d335208cd6f/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/135b7336c5c7f1e38a88c0b89b762d335208cd6f/chrome/browser/predictors/resource_prefetcher_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c3833fe89053051ead372b0bd129e0794507c2e7 commit c3833fe89053051ead372b0bd129e0794507c2e7 Author: lizeb <lizeb@chromium.org> Date: Wed Aug 17 13:51:48 2016 predictors: Add tests to ResourcePrefetchPredictor. BUG=631966 Review-Url: https://codereview.chromium.org/2237453002 Cr-Commit-Position: refs/heads/master@{#412514} [modify] https://crrev.com/c3833fe89053051ead372b0bd129e0794507c2e7/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c65a3bf951519f90b6be30a1bded64a7001e59d0 commit c65a3bf951519f90b6be30a1bded64a7001e59d0 Author: lizeb <lizeb@chromium.org> Date: Fri Aug 19 19:03:45 2016 predictors: Track whether resources have validators, and require validation. This adds to the database whether resources have validators, and are never fresh because they require revalidation each time. This will be used later to adjust the priority. Also adds tests for SummarizeResponse, and unifies (and fixes) the content type handling in it. BUG=631966 Review-Url: https://codereview.chromium.org/2260573002 Cr-Commit-Position: refs/heads/master@{#413202} [modify] https://crrev.com/c65a3bf951519f90b6be30a1bded64a7001e59d0/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/c65a3bf951519f90b6be30a1bded64a7001e59d0/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/c65a3bf951519f90b6be30a1bded64a7001e59d0/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/c65a3bf951519f90b6be30a1bded64a7001e59d0/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/c65a3bf951519f90b6be30a1bded64a7001e59d0/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/c65a3bf951519f90b6be30a1bded64a7001e59d0/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/c65a3bf951519f90b6be30a1bded64a7001e59d0/tools/resource_prefetch_predictor/prefetch_predictor_tool.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/60cd6e859b9f557d2312f5bf532f6aec5f284980 commit 60cd6e859b9f557d2312f5bf532f6aec5f284980 Author: lizeb <lizeb@chromium.org> Date: Tue Aug 23 12:04:26 2016 predictors: Store protobufs in the database. This is the first step in the conversion of the database to a protocol buffer based storage format. This introduces a protocol buffer based format for storage. A forthcoming CL will remove ResourceRow. BUG=631966 Review-Url: https://codereview.chromium.org/2263243002 Cr-Commit-Position: refs/heads/master@{#413716} [modify] https://crrev.com/60cd6e859b9f557d2312f5bf532f6aec5f284980/chrome/browser/BUILD.gn [modify] https://crrev.com/60cd6e859b9f557d2312f5bf532f6aec5f284980/chrome/browser/predictors/resource_prefetch_predictor.cc [add] https://crrev.com/60cd6e859b9f557d2312f5bf532f6aec5f284980/chrome/browser/predictors/resource_prefetch_predictor.proto [modify] https://crrev.com/60cd6e859b9f557d2312f5bf532f6aec5f284980/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/60cd6e859b9f557d2312f5bf532f6aec5f284980/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/60cd6e859b9f557d2312f5bf532f6aec5f284980/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/60cd6e859b9f557d2312f5bf532f6aec5f284980/tools/resource_prefetch_predictor/prefetch_predictor_tool.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/83c73f2c78bbdec7b5e335b04c8f1aba2a0a07e5 commit 83c73f2c78bbdec7b5e335b04c8f1aba2a0a07e5 Author: lizeb <lizeb@chromium.org> Date: Mon Aug 29 12:28:07 2016 predictors: Version the resource_prefetch_predictor database. BUG=631966 Review-Url: https://codereview.chromium.org/2285673002 Cr-Commit-Position: refs/heads/master@{#414999} [modify] https://crrev.com/83c73f2c78bbdec7b5e335b04c8f1aba2a0a07e5/chrome/browser/predictors/resource_prefetch_predictor.proto [modify] https://crrev.com/83c73f2c78bbdec7b5e335b04c8f1aba2a0a07e5/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/83c73f2c78bbdec7b5e335b04c8f1aba2a0a07e5/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/83c73f2c78bbdec7b5e335b04c8f1aba2a0a07e5/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/df268d9d43870d8168aa6550837c7bd5d32d399b commit df268d9d43870d8168aa6550837c7bd5d32d399b Author: lizeb <lizeb@chromium.org> Date: Tue Aug 30 09:00:36 2016 predictors: Remove unused field from the resource_prefetch_predictor database. BUG=631966 Review-Url: https://codereview.chromium.org/2287473002 Cr-Commit-Position: refs/heads/master@{#415250} [modify] https://crrev.com/df268d9d43870d8168aa6550837c7bd5d32d399b/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/df268d9d43870d8168aa6550837c7bd5d32d399b/chrome/browser/predictors/resource_prefetch_predictor.proto [modify] https://crrev.com/df268d9d43870d8168aa6550837c7bd5d32d399b/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/df268d9d43870d8168aa6550837c7bd5d32d399b/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/df268d9d43870d8168aa6550837c7bd5d32d399b/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/df268d9d43870d8168aa6550837c7bd5d32d399b/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/997952d9496f57bdc4434d515a50770dd5735715 commit 997952d9496f57bdc4434d515a50770dd5735715 Author: lizeb <lizeb@chromium.org> Date: Fri Sep 02 11:03:13 2016 predictors: Remove unused histograms for speculative_prefetch_predictor. These histograms will no longer be accurate and prevent code refactoring and improvements. Also fixes the presubmit check: cannot assume that the first element of sys.path is '.', and tools/python doesn't contain __init__.py. BUG=631966 Review-Url: https://codereview.chromium.org/2301093002 Cr-Commit-Position: refs/heads/master@{#416232} [modify] https://crrev.com/997952d9496f57bdc4434d515a50770dd5735715/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/997952d9496f57bdc4434d515a50770dd5735715/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/997952d9496f57bdc4434d515a50770dd5735715/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/997952d9496f57bdc4434d515a50770dd5735715/tools/metrics/common/presubmit_util.py [modify] https://crrev.com/997952d9496f57bdc4434d515a50770dd5735715/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba commit 3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba Author: lizeb <lizeb@chromium.org> Date: Thu Sep 22 15:04:06 2016 predictors: Refactor the prefetcher in resource_prefetch_predictor. The status is no longer reported through UMA, removing the plumbing makes it easier to evolve. BUG=631966 Review-Url: https://codereview.chromium.org/2365613002 Cr-Commit-Position: refs/heads/master@{#420340} [modify] https://crrev.com/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba/chrome/browser/predictors/resource_prefetcher.cc [modify] https://crrev.com/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba/chrome/browser/predictors/resource_prefetcher.h [modify] https://crrev.com/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba/chrome/browser/predictors/resource_prefetcher_manager.cc [modify] https://crrev.com/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba/chrome/browser/predictors/resource_prefetcher_manager.h [modify] https://crrev.com/3dfb4a29d8602e3c5dbb09fa8fc50412ad2d2cba/chrome/browser/predictors/resource_prefetcher_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e commit 72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e Author: lizeb <lizeb@chromium.org> Date: Mon Sep 26 16:04:55 2016 predictors: Key the resource prefetcher by URL, not navigation. The resource prefetcher is currently keyed by navigation. It is now keyed by URL, which is the only piece of data used from the navigation. Aside from less coupling, this opens the door to trigger prefetches before a navigation starts. This commit also removes the possibility of having two concurrent prefetches running for the same host. Aside from being rare, this is not desirable as a lot of resources are expected to be shared across two URLs on the same domain. Thus, a prefetch B can unintentionally use a resource prefetched by a prefetch A from the same domain, negating the prefetch (since LOAD_PREFETCH resources can only be used once without revalidation). BUG=631966 Review-Url: https://codereview.chromium.org/2373443002 Cr-Commit-Position: refs/heads/master@{#420898} [modify] https://crrev.com/72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e/chrome/browser/predictors/resource_prefetcher.cc [modify] https://crrev.com/72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e/chrome/browser/predictors/resource_prefetcher.h [modify] https://crrev.com/72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e/chrome/browser/predictors/resource_prefetcher_manager.cc [modify] https://crrev.com/72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e/chrome/browser/predictors/resource_prefetcher_manager.h [modify] https://crrev.com/72fec99e143cd8fa697e04ad32bc6be4dc9c6c8e/chrome/browser/predictors/resource_prefetcher_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f commit 68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f Author: alexilin <alexilin@chromium.org> Date: Mon Sep 26 18:16:15 2016 Refactor the resource_prefetch_predictor. This removes ResourceRow object and uses proto message ResourceData instead of it. It allows to get rid of the boilerplate conversion from the DB to an internal structure. Plus adds lost ResourceData::RESOURCE_TYPE_FONT_RESOURCE case in chrome/browser/ui/webui/predictors/predictors_handler.cc BUG=631966 Review-Url: https://codereview.chromium.org/2357593002 Cr-Commit-Position: refs/heads/master@{#420935} [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [add] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc [add] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor_test_util.h [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/browser/ui/webui/predictors/predictors_handler.cc [modify] https://crrev.com/68ebcad9d6ab7491ee1f2f5c5a28e7eac1c4987f/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/43b2f02a9eb2bc50e849d6120caa1de84abcbe46 commit 43b2f02a9eb2bc50e849d6120caa1de84abcbe46 Author: alexilin <alexilin@chromium.org> Date: Wed Sep 28 15:00:08 2016 Redirect handling in the resource_prefetch_predictor. Collect and save information about enpoints in redirect chains that prefetch predictor can start to prefetch subresources before it reaches last redirect hop. Information about redirects is stored in the database keyed by url (or host) of first hop in redirect chain. One row (RedirectData proto message) contains collection of all previously seen urls (or hosts) appearing as endpoints of redirect chain (RedirectStat proto message). This CL depends on https://codereview.chromium.org/2357593002 BUG=631966 Review-Url: https://codereview.chromium.org/2355273002 Cr-Commit-Position: refs/heads/master@{#421520} [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor.proto [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor_test_util.h [modify] https://crrev.com/43b2f02a9eb2bc50e849d6120caa1de84abcbe46/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/45f44cc790997fbacec14b9b8df9e733cfaca2ca commit 45f44cc790997fbacec14b9b8df9e733cfaca2ca Author: lizeb <lizeb@chromium.org> Date: Mon Oct 03 08:30:22 2016 tools: Log time to first contentful paint in customtabs_benchmark. BUG=631966 Review-Url: https://codereview.chromium.org/2375113002 Cr-Commit-Position: refs/heads/master@{#422391} [modify] https://crrev.com/45f44cc790997fbacec14b9b8df9e733cfaca2ca/tools/android/customtabs_benchmark/java/src/org/chromium/customtabs/test/MainActivity.java [modify] https://crrev.com/45f44cc790997fbacec14b9b8df9e733cfaca2ca/tools/android/customtabs_benchmark/scripts/customtabs_benchmark.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3eb631ab216ff9ea0302a9e89efe33003b11d935 commit 3eb631ab216ff9ea0302a9e89efe33003b11d935 Author: lizeb <lizeb@chromium.org> Date: Tue Oct 04 11:21:21 2016 predictors: Take the priority into account for scoring resources. This changes the way the resource score is computed in the resource_prefetch_predictor. It takes into account the request priority as the most important feature, then resource type, then average position. The rationale is that resource priority surfaces the render-blocking resources, that are the most critical to prefetch. BUG=631966 Review-Url: https://codereview.chromium.org/2385173002 Cr-Commit-Position: refs/heads/master@{#422753} [modify] https://crrev.com/3eb631ab216ff9ea0302a9e89efe33003b11d935/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/3eb631ab216ff9ea0302a9e89efe33003b11d935/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/3eb631ab216ff9ea0302a9e89efe33003b11d935/tools/resource_prefetch_predictor/prefetch_predictor_tool.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a1a02928b8033a7e413930b28ca1dff8af773eb9 commit a1a02928b8033a7e413930b28ca1dff8af773eb9 Author: lizeb <lizeb@chromium.org> Date: Wed Oct 05 09:32:23 2016 predictors: Make the resource_prefetch_predictor accessible from Java. This allows the Android code to start and stop prefetches. Now that the prefetcher is decoupled from navigation, prefetch requests can be issued with just a URL. Also finishes converting the prefetch predictor to start and stop prefetches from a URL. BUG=631966 Review-Url: https://codereview.chromium.org/2377643002 Cr-Commit-Position: refs/heads/master@{#423120} [add] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ResourcePrefetchPredictor.java [modify] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/android/java_sources.gni [modify] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/BUILD.gn [modify] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/android/chrome_jni_registrar.cc [modify] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/predictors/resource_prefetch_predictor.h [add] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/predictors/resource_prefetch_predictor_android.cc [add] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/predictors/resource_prefetch_predictor_android.h [modify] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/predictors/resource_prefetcher_manager.cc [modify] https://crrev.com/a1a02928b8033a7e413930b28ca1dff8af773eb9/chrome/browser/predictors/resource_prefetcher_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e3854397b42e53cdc26e9b5237f4f061522a1c45 commit e3854397b42e53cdc26e9b5237f4f061522a1c45 Author: alexilin <alexilin@chromium.org> Date: Wed Oct 05 15:50:15 2016 predictors: Refactor resource_prefetch_predictor_tables. Replace PrefetchData struct by proto message. It changes sqlite tables structure from 'single resource - single row' to 'single url/host - single row'. Also get rid of {Host,Url}MetadataTable because we don't need it anymore. It allows to get more uniform database structure and reuse the same functions for manipulating data. + 2 little bug fixes: - Sort redirect data while reading from the database. - Check the length of the key in redirect table before adding an entry. BUG=631966 Review-Url: https://codereview.chromium.org/2388783002 Cr-Commit-Position: refs/heads/master@{#423168} [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor.proto [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor_test_util.h [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/chrome/browser/ui/webui/predictors/predictors_handler.cc [modify] https://crrev.com/e3854397b42e53cdc26e9b5237f4f061522a1c45/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a92016445f849baa7dbbfd70de72aaec9bb35086 commit a92016445f849baa7dbbfd70de72aaec9bb35086 Author: lizeb <lizeb@chromium.org> Date: Fri Oct 07 16:10:26 2016 predictors: Update the resource_prefetch_predictor db tool. The database format has changed, this updates the database visualization tool. BUG=631966 Review-Url: https://codereview.chromium.org/2404453002 Cr-Commit-Position: refs/heads/master@{#423871} [modify] https://crrev.com/a92016445f849baa7dbbfd70de72aaec9bb35086/tools/resource_prefetch_predictor/prefetch_predictor_tool.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a5d0b1f24b9e4a3ae59081a33e83a9e9daf0d005 commit a5d0b1f24b9e4a3ae59081a33e83a9e9daf0d005 Author: alexilin <alexilin@chromium.org> Date: Tue Oct 11 16:14:34 2016 predictors: Use redirect data in prefetch. The data about redirects now is used for populate subresource URLs in ResourcePrefetchPredictor::GetPrefetchData when main page doesn't have its own subresources. BUG=631966 Review-Url: https://codereview.chromium.org/2397943004 Cr-Commit-Position: refs/heads/master@{#424447} [modify] https://crrev.com/a5d0b1f24b9e4a3ae59081a33e83a9e9daf0d005/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/a5d0b1f24b9e4a3ae59081a33e83a9e9daf0d005/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/a5d0b1f24b9e4a3ae59081a33e83a9e9daf0d005/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/a5d0b1f24b9e4a3ae59081a33e83a9e9daf0d005/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/a5d0b1f24b9e4a3ae59081a33e83a9e9daf0d005/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/588e88df5847e11703ffdf063f621d38a66a5fa4 commit 588e88df5847e11703ffdf063f621d38a66a5fa4 Author: lizeb <lizeb@chromium.org> Date: Wed Oct 12 15:30:33 2016 customtabs: Add a flag to mayLaunchUrl() to force prefetch. This adds a flag to mayLaunchUrl() to prevent it from doing a prerender, forcing the high confidence version to only issue a prefetch request (using the resource_prefetch_predictor here). This is needed to test and evaluate it, and is intended for testing purposes only, as the "no prerendering" flag is as well. BUG= 650250 ,631966 Review-Url: https://codereview.chromium.org/2403023002 Cr-Commit-Position: refs/heads/master@{#424742} [modify] https://crrev.com/588e88df5847e11703ffdf063f621d38a66a5fa4/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java [modify] https://crrev.com/588e88df5847e11703ffdf063f621d38a66a5fa4/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java [modify] https://crrev.com/588e88df5847e11703ffdf063f621d38a66a5fa4/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionTest.java [modify] https://crrev.com/588e88df5847e11703ffdf063f621d38a66a5fa4/tools/android/customtabs_benchmark/java/src/org/chromium/customtabs/test/MainActivity.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c4dda66f74eba523c3860b4256163f3496c60220 commit c4dda66f74eba523c3860b4256163f3496c60220 Author: lizeb <lizeb@chromium.org> Date: Sun Oct 16 16:28:19 2016 predictors: Add trace events to the resource_prefetch_predictor. BUG=631966 Review-Url: https://codereview.chromium.org/2420933002 Cr-Commit-Position: refs/heads/master@{#425592} [modify] https://crrev.com/c4dda66f74eba523c3860b4256163f3496c60220/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/c4dda66f74eba523c3860b4256163f3496c60220/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/c4dda66f74eba523c3860b4256163f3496c60220/chrome/browser/predictors/resource_prefetcher.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/241eb5ff377402abdd0a322d9cebb7e958967dea commit 241eb5ff377402abdd0a322d9cebb7e958967dea Author: alexilin <alexilin@chromium.org> Date: Mon Oct 17 16:35:45 2016 predictors: Replace deprecated TestBrowserThread by TestBrowserThreadBundle And also use more convenient operator<< instead of PrintTo for tests. BUG=631966,272091 Review-Url: https://codereview.chromium.org/2418413003 Cr-Commit-Position: refs/heads/master@{#425698} [modify] https://crrev.com/241eb5ff377402abdd0a322d9cebb7e958967dea/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc [modify] https://crrev.com/241eb5ff377402abdd0a322d9cebb7e958967dea/chrome/browser/predictors/resource_prefetch_predictor_test_util.h [modify] https://crrev.com/241eb5ff377402abdd0a322d9cebb7e958967dea/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fdf3eb2acfa3444030d3988b664d00325a3e109d commit fdf3eb2acfa3444030d3988b664d00325a3e109d Author: alexilin <alexilin@chromium.org> Date: Wed Oct 26 16:20:25 2016 predictors: Make ResourcePrefetchPredictor observable. This observer is needed for browser tests. + a small refactoring of ResourcePrefetchPredictor nested classes and function parameters. BUG=631966 Review-Url: https://codereview.chromium.org/2440723002 Cr-Commit-Position: refs/heads/master@{#427707} [modify] https://crrev.com/fdf3eb2acfa3444030d3988b664d00325a3e109d/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/fdf3eb2acfa3444030d3988b664d00325a3e109d/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/fdf3eb2acfa3444030d3988b664d00325a3e109d/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc [modify] https://crrev.com/fdf3eb2acfa3444030d3988b664d00325a3e109d/chrome/browser/predictors/resource_prefetch_predictor_test_util.h [modify] https://crrev.com/fdf3eb2acfa3444030d3988b664d00325a3e109d/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
[Automated comment] removing mislabelled merge-merged-2840
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e4bf55e82fa599637f01e3f6de08bc4d32db6450 commit e4bf55e82fa599637f01e3f6de08bc4d32db6450 Author: alexilin <alexilin@chromium.org> Date: Mon Nov 07 10:17:13 2016 predictors: ResourcePrefetchPredictorTables cleanup. Make resource score display in webui correctly. ResourcePrefetchPredictorTables changes: - Organize includes and usings. - Get rid of mocking friend at the cost of moving ctor/dtor from private to protected section. - Make ComputeResourceScore public to use it in webui. BUG=631966 Review-Url: https://codereview.chromium.org/2478823002 Cr-Commit-Position: refs/heads/master@{#430245} [modify] https://crrev.com/e4bf55e82fa599637f01e3f6de08bc4d32db6450/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/e4bf55e82fa599637f01e3f6de08bc4d32db6450/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/e4bf55e82fa599637f01e3f6de08bc4d32db6450/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/e4bf55e82fa599637f01e3f6de08bc4d32db6450/chrome/browser/ui/webui/predictors/predictors_handler.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/88af26a7ceb6bf5a35b12f14d70f761360d98b56 commit 88af26a7ceb6bf5a35b12f14d70f761360d98b56 Author: lizeb <lizeb@chromium.org> Date: Tue Nov 15 17:51:07 2016 predictors: Expose the initialization call to Android. The resource_prefetch_predictor needs to be initialized before issuing prefetches. The initialization is usually triggered by the first page load completion, but this is not suitable for external triggering on Android. This exposes the initialization method to the Java side. BUG= 650250 ,631966 Review-Url: https://codereview.chromium.org/2498983005 Cr-Commit-Position: refs/heads/master@{#432213} [modify] https://crrev.com/88af26a7ceb6bf5a35b12f14d70f761360d98b56/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java [modify] https://crrev.com/88af26a7ceb6bf5a35b12f14d70f761360d98b56/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ResourcePrefetchPredictor.java [modify] https://crrev.com/88af26a7ceb6bf5a35b12f14d70f761360d98b56/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/88af26a7ceb6bf5a35b12f14d70f761360d98b56/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/88af26a7ceb6bf5a35b12f14d70f761360d98b56/chrome/browser/predictors/resource_prefetch_predictor_android.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/47c7372e5364d228656e61e79fb1ed91a4e3a4d3 commit 47c7372e5364d228656e61e79fb1ed91a4e3a4d3 Author: lizeb <lizeb@chromium.org> Date: Mon Nov 28 18:18:04 2016 predictors: Remove unused field trial configuration parsing. The code is unused, will likely not come back in the same form, and forces needless verbosity in forthcoming CLs. BUG=631966 Review-Url: https://codereview.chromium.org/2532933002 Cr-Commit-Position: refs/heads/master@{#434694} [modify] https://crrev.com/47c7372e5364d228656e61e79fb1ed91a4e3a4d3/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/47c7372e5364d228656e61e79fb1ed91a4e3a4d3/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/47c7372e5364d228656e61e79fb1ed91a4e3a4d3/chrome/browser/predictors/resource_prefetch_common_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24 commit f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24 Author: lizeb <lizeb@chromium.org> Date: Wed Nov 30 09:16:07 2016 predictors: Add a origin for prefetch requests, remove the URL/host settings. The speculative_prefetch_predictor can start prefetching either due to an external request, or by observing a navigation. These use cases were not differentiated previously. This CL adds: - A command-line switch to enable external requests only, and - An origin for prefetch requests. In addition, URL and host-based learning could previously be controlled separately. This is unused, as it was only controlled by field trial groups, and the logic has been removed in crrev.com/2532933002. BUG=631966 Review-Url: https://codereview.chromium.org/2538743002 Cr-Commit-Position: refs/heads/master@{#435196} [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/browser/predictors/resource_prefetch_common_unittest.cc [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/browser/predictors/resource_prefetch_predictor_android.cc [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/common/chrome_switches.cc [modify] https://crrev.com/f72ac0d75ba64a1afbbaa052fb3135e1fa78fc24/chrome/common/chrome_switches.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/68b12e34f76bcd64a4764aeada8b962120b4b470 commit 68b12e34f76bcd64a4764aeada8b962120b4b470 Author: alexilin <alexilin@chromium.org> Date: Thu Dec 01 18:23:33 2016 predictors: Take RESOURCE_TYPE_XHR into account. Some useful subresources could be fetched by webpages via XMLHttpRequest. This CL adds support of this type of requests to ResourcePrefetchPredictor. BUG=631966 Review-Url: https://codereview.chromium.org/2539263004 Cr-Commit-Position: refs/heads/master@{#435653} [modify] https://crrev.com/68b12e34f76bcd64a4764aeada8b962120b4b470/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/68b12e34f76bcd64a4764aeada8b962120b4b470/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d38f1d7f0c8d8caf40232f071269b21288b9452e commit d38f1d7f0c8d8caf40232f071269b21288b9452e Author: ahemery <ahemery@chromium.org> Date: Fri Dec 09 13:07:51 2016 Summary ----- With PlzNavigate, main frame navigations don't have a valid (render_process_id, render_frame_id). This CL is a preliminary refactoring to properly support PlzNavigate. Details ----- To be able to do browser navigations to non yet created frames, we use webcontents that will always be available. This is preparation work to be able to use webcontents identification instead of frame ids easily. At the higher level we are passing a WebContentsGetter and run it on a UI thread, leading to new dedicated functions in the observer. We then use a wrapper to initialize the NavigationID part of the request summary. SummarizeResponse is not responsible for filling in NavigationID any more, and the behavior has been updated in unit tests. BUG=631966 Review-Url: https://codereview.chromium.org/2545943003 Cr-Commit-Position: refs/heads/master@{#437524} [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/net/resource_prefetch_predictor_observer.cc [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/net/resource_prefetch_predictor_observer.h [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/d38f1d7f0c8d8caf40232f071269b21288b9452e/chrome/browser/predictors/resource_prefetcher_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e5c15db9908512b44a0a47f6b24098d8daeffeb1 commit e5c15db9908512b44a0a47f6b24098d8daeffeb1 Author: lizeb <lizeb@chromium.org> Date: Mon Dec 19 12:39:25 2016 predictors: Reduce the maximum concurrent prefetches. In the resource_prefetch_predictor, the maximum number of concurrent prefetches is set to 24. This is too high, as: - It defeats the prioritization of resources in the database - It was shown to slow down page loads in some case on slow connections by starving the page load resource fetches. (local testing using WPR and tools in tools/resource_prefetch_predictor) BUG=631966,655980 Review-Url: https://codereview.chromium.org/2589713002 Cr-Commit-Position: refs/heads/master@{#439453} [modify] https://crrev.com/e5c15db9908512b44a0a47f6b24098d8daeffeb1/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/e5c15db9908512b44a0a47f6b24098d8daeffeb1/chrome/browser/predictors/resource_prefetcher_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/37127ecd00687cd497d8ef19067eede1c70dfd76 commit 37127ecd00687cd497d8ef19067eede1c70dfd76 Author: alexilin <alexilin@chromium.org> Date: Wed Jan 11 17:36:38 2017 predictors: db tool workaround to solve sqlite3 compatibility problem. Current version of python sqilte3 library hasn't support of views. But new sqlite3 binary used in chrome implicitly creates MmapStatus view everytime that causes incompatibility problem. This workaround creates a temporary copy of given database and deletes the view through sqlite3 command line tool that has support of views. BUG=631966 Review-Url: https://codereview.chromium.org/2620053002 Cr-Commit-Position: refs/heads/master@{#442945} [modify] https://crrev.com/37127ecd00687cd497d8ef19067eede1c70dfd76/tools/resource_prefetch_predictor/prefetch_predictor_tool.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466 commit f0e87360ae1a1dfae4bf0deb8cacd9db5a785466 Author: lizeb <lizeb@chromium.org> Date: Thu Jan 26 10:46:45 2017 predictors: Move the configuration of speculative prefetch to field trials. BUG=631966 Review-Url: https://codereview.chromium.org/2652313002 Cr-Commit-Position: refs/heads/master@{#446300} [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/chrome/browser/predictors/resource_prefetch_common_unittest.cc [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/chrome/common/chrome_switches.cc [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/chrome/common/chrome_switches.h [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/tools/android/customtabs_benchmark/scripts/customtabs_benchmark.py [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/tools/resource_prefetch_predictor/generate_test_data.py [modify] https://crrev.com/f0e87360ae1a1dfae4bf0deb8cacd9db5a785466/tools/resource_prefetch_predictor/prefetch_benchmark.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/239a309b3ab26db7aaac940b124e03f6461fb8ec commit 239a309b3ab26db7aaac940b124e03f6461fb8ec Author: alexilin <alexilin@chromium.org> Date: Thu Feb 16 17:22:30 2017 predictors: Fix prefetch benchmark. Benchmark code was broken after https://crrev.com/2652313002. This CL removes usage of undecleared variable. BUG=631966 Review-Url: https://codereview.chromium.org/2692993012 Cr-Commit-Position: refs/heads/master@{#451002} [modify] https://crrev.com/239a309b3ab26db7aaac940b124e03f6461fb8ec/tools/resource_prefetch_predictor/prefetch_benchmark.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d8c3159729df90d3b12c71c9ab6e5accd7bdf4aa commit d8c3159729df90d3b12c71c9ab6e5accd7bdf4aa Author: alexilin <alexilin@chromium.org> Date: Fri Feb 24 16:35:01 2017 predictors: Downgrade net priority of prefetch requests. Prefetch predictor currently uses net::LOW priority to fetch resources that is higher than default priority for images, for example. This CL sets net::IDLE level for such requests. It allows to prioritize renderer requests above speculative ones. BUG=631966 Review-Url: https://codereview.chromium.org/2692093006 Cr-Commit-Position: refs/heads/master@{#452847} [modify] https://crrev.com/d8c3159729df90d3b12c71c9ab6e5accd7bdf4aa/chrome/browser/predictors/resource_prefetcher.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1e620aa2262f96a9cad722d7e5a9266a218ae279 commit 1e620aa2262f96a9cad722d7e5a9266a218ae279 Author: alexilin <alexilin@chromium.org> Date: Tue Feb 28 15:28:48 2017 predictors: Call StopPrefetching with an url before redirect. It was wrong to use main_frame_url as a parameter for StopPrefetching because if we have a redirect, StartPrefetching is called with initial_url and prefetcher manager knows nothing about further redirects. The easiest way to fix it is to keep using initial_url in all calls to prefetcher manager. Additionaly, this CL adds a report to prefetch duration histogram in case if we evict inflight prefetch by timeout. BUG=631966 Review-Url: https://codereview.chromium.org/2716373002 Cr-Commit-Position: refs/heads/master@{#453605} [modify] https://crrev.com/1e620aa2262f96a9cad722d7e5a9266a218ae279/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/1e620aa2262f96a9cad722d7e5a9266a218ae279/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/1e620aa2262f96a9cad722d7e5a9266a218ae279/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2684ef71713dde49b5708d3944eb674ca8d4f24f commit 2684ef71713dde49b5708d3944eb674ca8d4f24f Author: alexilin <alexilin@chromium.org> Date: Wed Mar 01 19:26:44 2017 predictors: Disable URL-based learning by default. This CL disables URL-based learning by default and allows to enable it through a finch parameter. BUG=631966 Review-Url: https://codereview.chromium.org/2729563002 Cr-Commit-Position: refs/heads/master@{#453996} [modify] https://crrev.com/2684ef71713dde49b5708d3944eb674ca8d4f24f/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/2684ef71713dde49b5708d3944eb674ca8d4f24f/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/2684ef71713dde49b5708d3944eb674ca8d4f24f/chrome/browser/predictors/resource_prefetch_common_unittest.cc [modify] https://crrev.com/2684ef71713dde49b5708d3944eb674ca8d4f24f/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/2684ef71713dde49b5708d3944eb674ca8d4f24f/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a26deb2c7737b2a06fd7c6b3336cca3d4f0bd76b commit a26deb2c7737b2a06fd7c6b3336cca3d4f0bd76b Author: lizeb <lizeb@chromium.org> Date: Thu Mar 09 18:56:29 2017 predictors: Add an about:flags flag for speculative prefetch. BUG=631966 Review-Url: https://codereview.chromium.org/2711153004 Cr-Commit-Position: refs/heads/master@{#455817} [modify] https://crrev.com/a26deb2c7737b2a06fd7c6b3336cca3d4f0bd76b/chrome/app/generated_resources.grd [modify] https://crrev.com/a26deb2c7737b2a06fd7c6b3336cca3d4f0bd76b/chrome/browser/about_flags.cc [modify] https://crrev.com/a26deb2c7737b2a06fd7c6b3336cca3d4f0bd76b/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/a26deb2c7737b2a06fd7c6b3336cca3d4f0bd76b/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/a26deb2c7737b2a06fd7c6b3336cca3d4f0bd76b/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/37e768daa8579acfc7e046c9decfaa75488b7847 commit 37e768daa8579acfc7e046c9decfaa75488b7847 Author: alexilin <alexilin@chromium.org> Date: Tue Mar 14 17:00:37 2017 predictors: Highlight prefetchable resources in webui. Makes Resource Prefetch Predictor table in webui easier for evaluation. BUG=631966 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2743373002 Cr-Commit-Position: refs/heads/master@{#456737} [modify] https://crrev.com/37e768daa8579acfc7e046c9decfaa75488b7847/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/37e768daa8579acfc7e046c9decfaa75488b7847/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/37e768daa8579acfc7e046c9decfaa75488b7847/chrome/browser/resources/predictors/predictors.css [modify] https://crrev.com/37e768daa8579acfc7e046c9decfaa75488b7847/chrome/browser/resources/predictors/resource_prefetch_predictor.js [modify] https://crrev.com/37e768daa8579acfc7e046c9decfaa75488b7847/chrome/browser/ui/webui/predictors/predictors_handler.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0b6891ca2968c288af67584dd2ce758ef12fd699 commit 0b6891ca2968c288af67584dd2ce758ef12fd699 Author: lizeb <lizeb@chromium.org> Date: Thu Mar 16 12:25:54 2017 predictors: Don't record URLs with a port. BUG=631966 Review-Url: https://codereview.chromium.org/2749583003 Cr-Commit-Position: refs/heads/master@{#457406} [modify] https://crrev.com/0b6891ca2968c288af67584dd2ce758ef12fd699/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/0b6891ca2968c288af67584dd2ce758ef12fd699/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/0b6891ca2968c288af67584dd2ce758ef12fd699/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc [modify] https://crrev.com/0b6891ca2968c288af67584dd2ce758ef12fd699/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/93cb7df1f935461d1b3c5544f0c7efe38097d8d7 commit 93cb7df1f935461d1b3c5544f0c7efe38097d8d7 Author: alexilin <alexilin@chromium.org> Date: Wed Apr 12 19:16:27 2017 predictors: Several improvements for redirects database. This CL aims to improve redirects handling in the ResourcePrefetchPredictor by considering the URL/host itself along with redirect endpoints (1) and handling special case when there is no permanent redirect for a host (2). (1) helps to avoid incorrect predictions in scenario when the URL/host doesn't have a permanent redirect and the predictor mistakenly uses the fallback to fetching based on the first main frame url in the redirect chain. (2) allows to ignore "megamorphic" URLs/hosts. For example, url shorteners. BUG=631966 Review-Url: https://codereview.chromium.org/2800783002 Cr-Commit-Position: refs/heads/master@{#464103} [modify] https://crrev.com/93cb7df1f935461d1b3c5544f0c7efe38097d8d7/chrome/browser/predictors/resource_prefetch_common.cc [modify] https://crrev.com/93cb7df1f935461d1b3c5544f0c7efe38097d8d7/chrome/browser/predictors/resource_prefetch_common.h [modify] https://crrev.com/93cb7df1f935461d1b3c5544f0c7efe38097d8d7/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/93cb7df1f935461d1b3c5544f0c7efe38097d8d7/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/93cb7df1f935461d1b3c5544f0c7efe38097d8d7/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6090964fb7c737742493816401a93ef120535875 commit 6090964fb7c737742493816401a93ef120535875 Author: alexilin <alexilin@chromium.org> Date: Thu Apr 13 06:45:57 2017 predictors: Refactor UpdateData() function. This CL splits UpdateData() function into UpdateResourceData() and UpdateRedirectData() with less number of arguments. ResourcePrefetchPredictor uses UpdateData() to update only one of the tables at the same time so there is no need to pass extra arguments each time. BUG=631966 Review-Url: https://codereview.chromium.org/2804283002 Cr-Commit-Position: refs/heads/master@{#464323} [modify] https://crrev.com/6090964fb7c737742493816401a93ef120535875/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/6090964fb7c737742493816401a93ef120535875/chrome/browser/predictors/resource_prefetch_predictor_tables.cc [modify] https://crrev.com/6090964fb7c737742493816401a93ef120535875/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/6090964fb7c737742493816401a93ef120535875/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc [modify] https://crrev.com/6090964fb7c737742493816401a93ef120535875/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ba9f7b9f476e705395814878d9e2401118384b60 commit ba9f7b9f476e705395814878d9e2401118384b60 Author: trevordixon <trevordixon@chromium.org> Date: Tue May 02 13:41:00 2017 predictors: Mark before_first_contentful_paint for resources fetched before fcp. BUG=631966 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2755093002 Cr-Commit-Position: refs/heads/master@{#468621} [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer.cc [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer.h [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/predictors/resource_prefetch_predictor.cc [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/predictors/resource_prefetch_predictor.h [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/predictors/resource_prefetch_predictor.proto [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/predictors/resource_prefetch_predictor_tables.h [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/resources/predictors/resource_prefetch_predictor.html [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/resources/predictors/resource_prefetch_predictor.js [modify] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/browser/ui/webui/predictors/predictors_handler.cc [add] https://crrev.com/ba9f7b9f476e705395814878d9e2401118384b60/chrome/test/data/predictors/subresource_fcp_order.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/02b1d73344512180911bc5280438b840dd5105c8 commit 02b1d73344512180911bc5280438b840dd5105c8 Author: alexilin <alexilin@chromium.org> Date: Thu May 11 11:33:18 2017 Revert of predictors: Enable SpeculativeResourcePrefetching for fieldtrial testing. (patchset #2 id:20001 of https://codereview.chromium.org/2856893004/ ) Reason for revert: SpeculativePrefetching causes regressions for those tests that are forced to load all resources from the network. Original issue's description: > predictors: Enable SpeculativeResourcePrefetching for fieldtrial testing. > > BUG=631966 > > Review-Url: https://codereview.chromium.org/2856893004 > Cr-Commit-Position: refs/heads/master@{#469317} > Committed: https://chromium.googlesource.com/chromium/src/+/f89e3e140fa7c28737f493a02e7103ab3946a677 TBR=jwd@chromium.org,pasko@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=631966, 718910 Review-Url: https://codereview.chromium.org/2872303004 Cr-Commit-Position: refs/heads/master@{#470918} [modify] https://crrev.com/02b1d73344512180911bc5280438b840dd5105c8/testing/variations/fieldtrial_testing_config.json
Comment 1 by bugdroid1@chromium.org
, Jul 27 2016