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

Issue 669580 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue 670196



Sign in to add a comment

VALIDATE_CACHE request for subresources on network error

Reported by bmau...@fb.com, Nov 29 2016

Issue description

Version: Chrome 54
OS: mac

I was on a flakey internet connection trying to load Facebook. The page timed out loading after 30 seconds. A little bit later the page reloaded itself (maybe because chrome detected I had internet connectivity) and I noticed that both the page and all subresoruces used VALIDATE_CACHE. I've attached a net-internals log of this. I believe this is the NetErrorHelper discussed in the reload reloaded doc.

Kenji -- It'd be great if we could fully kill any reasons why subresources might be revalidated (eg this, location.reload
 
Labels: M-54
Labels: -M-54
Owner: toyoshim@chromium.org
Toyoshima-san, is this something you can work on? If not, could you assign to the owner of the network error reloading code and provide guidance?

Thanks.
Components: Blink>Loader
Labels: Hotlist-Loading
Status: Assigned (was: Untriaged)
Labels: Reload OS-All
Thanks. Let me investigate this.
Status: Started (was: Assigned)
OK, I have a fix now.
NetErrorHelper directly calls WebFrame::reload() interface, instead of asking NavigationController to reload. Thus, its behavior wasn't changed when I modified the NavigationController.

I checked other use cases, but this seems to be only the case that calls WebFrame::reload() directory outside Blink.

I will send a patch for review soon.
> but this seems to be only the case
this isn't true. I'd file another meta bug to track other use cases.
Blocking: 670196
Project Member

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

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

commit e702f8d9772ebd56c5a75186841d98222861dae3
Author: toyoshim <toyoshim@chromium.org>
Date: Fri Dec 02 08:23:32 2016

Reload Reloaded: Use ReloadMainResource even on recovering from offline

blink::WebFrameLoadType::Reload re-validates all resources, but
blink::WebFrameLoadType::ReloadMainResource only re-validates
the main document. Recently NavigationController was modified
to use ReloadMainResource instead of Reload.

When chrome is offline, NetErrorHelper monitors network state,
and reload a page when it gets online.
Since NetErrorHelper does not use NavigationController, but calls
WebFrame::reload() interface, it still uses traditional reload type,
Reload. Let replace it with ReloadMainResource as we did for reloads
through the NavigationController.

BUG= 669580 

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

[modify] https://crrev.com/e702f8d9772ebd56c5a75186841d98222861dae3/chrome/renderer/net/net_error_helper.cc
[modify] https://crrev.com/e702f8d9772ebd56c5a75186841d98222861dae3/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Labels: M-57
Status: Fixed (was: Started)
OK, this is fixed on the trunk.
Will reach to stable at version 57.

Sign in to add a comment