The predictor uses DidStartNavigationToPendingEntry, which isn't called for all renderer initiated navigations. Moving to the new API will improve performance and will guarantee dns/preconnect prediction occurs for all navigations.
Note this will include subframes, I'll finch this to see if we see a performance improvement (I suspect we will).
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/778dddc6edcfbc8e420e0ed019acf506b7bdd864 commit 778dddc6edcfbc8e420e0ed019acf506b7bdd864 Author: csharrison <csharrison@chromium.org> Date: Tue Mar 29 13:51:17 2016 Change net's predictor_tab_helper to use the new content Navigation API This change moves the trigger for preconnects/preresolves from DidStartNavigationToPendingEntry to DidStartNavigation, broadening the navigations that we can predict from. BUG= 595730 Review URL: https://codereview.chromium.org/1813553004 Cr-Commit-Position: refs/heads/master@{#383714} [modify] https://crrev.com/778dddc6edcfbc8e420e0ed019acf506b7bdd864/chrome/browser/net/predictor_tab_helper.cc [modify] https://crrev.com/778dddc6edcfbc8e420e0ed019acf506b7bdd864/chrome/browser/net/predictor_tab_helper.h [modify] https://crrev.com/778dddc6edcfbc8e420e0ed019acf506b7bdd864/testing/variations/fieldtrial_testing_config_android.json [modify] https://crrev.com/778dddc6edcfbc8e420e0ed019acf506b7bdd864/testing/variations/fieldtrial_testing_config_linux.json [modify] https://crrev.com/778dddc6edcfbc8e420e0ed019acf506b7bdd864/testing/variations/fieldtrial_testing_config_mac.json [modify] https://crrev.com/778dddc6edcfbc8e420e0ed019acf506b7bdd864/testing/variations/fieldtrial_testing_config_win.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/57e4eb88b6db415149784a75f600623e21f325b3 commit 57e4eb88b6db415149784a75f600623e21f325b3 Author: csharrison <csharrison@chromium.org> Date: Fri Apr 01 16:20:42 2016 Revert of Change net's predictor_tab_helper to use the new content Navigation API (patchset #6 id:100001 of https://codereview.chromium.org/1813553004/ ) Reason for revert: This caused regressions in Android page_cycler perf bots of ~150-200ms. See crbug.com/599502 . Original issue's description: > Change net's predictor_tab_helper to use the new content Navigation API > > This change moves the trigger for preconnects/preresolves from > DidStartNavigationToPendingEntry to DidStartNavigation, broadening the > navigations that we can predict from. > > BUG= 595730 > > Committed: https://crrev.com/778dddc6edcfbc8e420e0ed019acf506b7bdd864 > Cr-Commit-Position: refs/heads/master@{#383714} TBR=asvitkine@chromium.org,mmenke@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 595730 Review URL: https://codereview.chromium.org/1851093003 Cr-Commit-Position: refs/heads/master@{#384600} [modify] https://crrev.com/57e4eb88b6db415149784a75f600623e21f325b3/chrome/browser/net/predictor_tab_helper.cc [modify] https://crrev.com/57e4eb88b6db415149784a75f600623e21f325b3/chrome/browser/net/predictor_tab_helper.h [modify] https://crrev.com/57e4eb88b6db415149784a75f600623e21f325b3/testing/variations/fieldtrial_testing_config_android.json [modify] https://crrev.com/57e4eb88b6db415149784a75f600623e21f325b3/testing/variations/fieldtrial_testing_config_linux.json [modify] https://crrev.com/57e4eb88b6db415149784a75f600623e21f325b3/testing/variations/fieldtrial_testing_config_mac.json [modify] https://crrev.com/57e4eb88b6db415149784a75f600623e21f325b3/testing/variations/fieldtrial_testing_config_win.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6 commit f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6 Author: csharrison <csharrison@chromium.org> Date: Sat May 14 20:54:20 2016 [reland] Change net's predictor_tab_helper to use the new content Navigation API The original CL had issues due to slow process spawn on Android, where the DidStartNavigation call could be delayed, stalling preconnects. This patch keeps the old code while adding a path for renderer initiated navigations to issue preconnects. Previous CL: https://codereview.chromium.org/1813553004/ This change moves the trigger for preconnects/preresolves from DidStartNavigationToPendingEntry to DidStartNavigation, broadening the navigations that we can predict from. BUG= 595730 Review-Url: https://codereview.chromium.org/1857573002 Cr-Commit-Position: refs/heads/master@{#393754} [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/chrome/browser/net/predictor_browsertest.cc [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/chrome/browser/net/predictor_tab_helper.cc [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/chrome/browser/net/predictor_tab_helper.h [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/testing/variations/fieldtrial_testing_config_android.json [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/testing/variations/fieldtrial_testing_config_chromeos.json [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/testing/variations/fieldtrial_testing_config_linux.json [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/testing/variations/fieldtrial_testing_config_mac.json [modify] https://crrev.com/f6e401951f8feb8bfc19fbfc9cafbc9fab60a1f6/testing/variations/fieldtrial_testing_config_win.json
Comment 1 by csharrison@chromium.org
, Mar 17 2016