• Arthur Hemery's avatar
    Navigation: Implement NavigationClient commit callback. · 1f46de0d
    Arthur Hemery authored
    In the model of the NavigationClient navigation interface, the renderer
    does not send a message notifying the browser that it committed. Instead,
    it runs the mojo callback that was passed to it at commit.
    
    In practice, this means that both SimulateCommitProcessed and
    DidCommitProvisionalLoad are part of the callback, instead of just the
    former.
    
    Because changing the callback means changing signatures, significant
    work has to be done to both be able to pass around the new callback and
    maintain a sane architecture that avoids code duplication.
    
    This patch only implements the callback change for SUCCESSFUL commits.
    CommitFailedNavigation will be handled in a second patch.
    The architecture should be the exact same, this is simply to keep test
    failures to a manageable level while debugging/landing.
    
    Note: This patch is fully behind the PerNavigationMojoInterface flag.
    
    Please see
    https://chromium-review.googlesource.com/c/chromium/src/+/1344107/
    for the trybot runs with the PerNavigationMojoInterface flag on.
    
    Please see
    https://docs.google.com/document/d/1mXjxYJptb_bZ_EqGMF-c4LTSnhjt6Gn_WVvSrsinpq8/edit
    for the design doc.
    
    Bug: 784904
    Change-Id: I9efdd25bfd289a2e76c5bf43e32e2dc0c589ad25
    Reviewed-on: https://chromium-review.googlesource.com/c/1344091
    Commit-Queue: Arthur Hemery <ahemery@chromium.org>
    Reviewed-by: default avatarNasko Oskov <nasko@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#627978}
    1f46de0d
frame_messages.mojom 683 Bytes