PlzNavigate: Pattern of WebFrameClient callbacks for renderer-initiated failed navigations does not match non-PlzNavigate behavior |
|||
Issue descriptionFor renderer-side failed navigations, the current behavior results in WebFrameClient receiving a callback to didStartProvisionalLoad() followed by a callback to didFailProvisionalLoad(). However, in PlzNavigate the navigation failure is detected in the browser, not in the renderer. Neither of the above callbacks occur. Instead, in some cases the didFailLoad() callback occurs instead as a result of FrameTreeNode::ResetNavigationRequest() sending the FrameMsg_Stop IPC. This difference in behavior has the concrete impact of causing layout tests that have renderer-initiated failed navigations to fail because the sequence of output produced by WebFrameTestClient doesn't match expectations. It's possible that it also has effects on production code.
,
Feb 4 2017
,
Feb 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a85730c84d15b89b04bf58ed6efda2050c9de619 commit a85730c84d15b89b04bf58ed6efda2050c9de619 Author: ananta <ananta@chromium.org> Date: Thu Feb 09 21:23:10 2017 PlzNavigate: Invoke didFailProvisionalLoad() in the renderer when a navigation request is cancelled or fails Navigation requests can be cancelled or they could fail. In the latter case we do send an IPC FrameMsg_FailedNavigation to the renderer where we display error pages etc. However we don't invoke didFailProvisionalLoad() which causes a number of blink layout tests to fail. In any case we send out a didStartProvisionalLoad() notification in blink when plznavigate handles navigation requests. We can safely call didFailProvisionalLoad() notification when the navigation fails. For cancelled navigations like external URLs etc we invoke the didFailProvisionalLoad() handler for client side navigations in FrameLoader::stopAllLoaders() BUG= 640631 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2687593002 Cr-Commit-Position: refs/heads/master@{#449412} [modify] https://crrev.com/a85730c84d15b89b04bf58ed6efda2050c9de619/content/renderer/render_frame_impl.cc [modify] https://crrev.com/a85730c84d15b89b04bf58ed6efda2050c9de619/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation [modify] https://crrev.com/a85730c84d15b89b04bf58ed6efda2050c9de619/third_party/WebKit/Source/core/loader/FrameLoader.cpp
,
Feb 9 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by bugdroid1@chromium.org
, Aug 25 2016