New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 650246 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 631966



Sign in to add a comment

Make the resource_prefetch_predictor work with PlzNavigate

Project Member Reported by lizeb@chromium.org, Sep 26 2016

Issue description

The resource_prefetch_predictor tracks navigation through {child_id, frame_id}. This is not the correct way to do it.

In addition, there is logic to track whether the same tab has navigated somewhere else, to discard abandonned navigations. This is a bit brittle, and should be tracked in a different way.

The stable ID to use is frame_tree_node_id.
 

Comment 1 by jam@chromium.org, Dec 5 2016

Hi, what's the status of this bug?

Comment 2 by lizeb@chromium.org, Dec 5 2016

Cc: lizeb@chromium.org
Owner: ahemery@chromium.org
Status: Started (was: Assigned)
Hi,

It is in progress, ahemery@ is handling it, there is a preliminary draft CL adding plumbing in review (https://codereview.chromium.org/2545943003/), and the actual support is not far away.

Comment 3 by jam@chromium.org, Dec 6 2016

Great, thanks.

If this issue can be fixed this week, that'd be awesome. Our goal is to go to canary this month, so we're trying to fix any remaining blockers.

Comment 4 by lizeb@chromium.org, Dec 6 2016

For canary, this is probably not a blocker, as the predictor is currently only enabled through command-line flags.

Comment 5 by jam@chromium.org, Dec 6 2016

ah, yes you're right in that case it's not blocking :)

Comment 6 by lizeb@chromium.org, Dec 21 2016

Cc: clamy@chromium.org
Working on the final CL for this bug. You can find it at https://codereview.chromium.org/2587443002. To solve the problem we have used the session ids linked to tabs. We added tests that cover potential problematic cases such as cross process navigation and navigating to new windows.
If no further problem arises, this should be landed very soon.
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628

commit 62729f8a7e996d8f6b0451e8bcfcd3a124fd2628
Author: ahemery <ahemery@chromium.org>
Date: Fri Dec 23 10:32:47 2016

predictors: Make speculative_prefetch_predictor work with PlzNavigate
Summary
--------
We are now tracking navigations for the ResourcePrefetchPredictor
using the tab ids instead of render process and host. Added browser
tests to test edge cases that could break the tab_id usage.

Details
--------
- WebContents is now used to extract the session_id with help from
SessionTabHelper::IdForTab() instead of render_frame_host_id +
render_process_id
- Reworked unit_tests to use this session_id instead
- Reworked browser_tests to test for the following cases : Cross Domain
Navigation inducing cross process behavior and Navigating to new
tabs/window/popup.

BUG= 650246 

Review-Url: https://codereview.chromium.org/2587443002
Cr-Commit-Position: refs/heads/master@{#440615}

[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/net/resource_prefetch_predictor_observer.cc
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetch_common.cc
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetch_common.h
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetch_predictor.cc
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetch_predictor_test_util.h
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/chrome/browser/predictors/resource_prefetcher_unittest.cc
[modify] https://crrev.com/62729f8a7e996d8f6b0451e8bcfcd3a124fd2628/testing/buildbot/filters/browser-side-navigation.linux.browser_tests.filter

Comment 9 by pasko@chromium.org, Dec 26 2016

is this fixed now?
Status: Fixed (was: Started)
Fix has been committed. Marking this as fixed.

Sign in to add a comment