• Arthur Hemery's avatar
    Navigation: Fix edge case cancel with NavigationClient on. · adbc74f7
    Arthur Hemery authored
    AbortClientNavigation() seems to always be coupled with a "stop all
    document loaders". Stopping all document loaders has the effect to
    cancel the client side navigation for PerMojoNavigationInterface
    feature on.
    Therefore it seemed to work to simply make AbortClientNavigation a
    no-op for the NavigationClient path.
    
    A certain race condition could cause the RenderFrameImpl to run
    AbortClientNavigation() while the NavigationClient interface is not
    yet held by the DocumentLoader. In this case, the no-op is not
    sufficient and we need to do a manual reset.
    
    This is done in this patch.
    
    Bug: 784904
    Change-Id: I0a07127f72f9cc222392c64478c743153b63f964
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1608743Reviewed-by: default avatarCamille Lamy <clamy@chromium.org>
    Commit-Queue: Arthur Hemery <ahemery@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#659012}
    adbc74f7
render_frame_impl.cc 303 KB