• Hiroki Nakagawa's avatar
    NoStatePrefetch: Move mojo disconnect handler from PrerenderProcessorClient to PrerenderProcessor · 78ddb4f7
    Hiroki Nakagawa authored
    This is a preparation for removing webkit-prefixed prerendering events
    (see https://crbug.com/839030). mojom::PrerepderProcessorClient is used
    for dispatching the events and will be removed along with the events, so
    it won't be available for monitoring the connection.
    
    After this CL, mojom::PrerenderProcessor is used for monitoring the
    connection instead of mojom::PrerenderProcessorClient so that follow-up
    CLs can remove it. The renderer-side endpoints of
    mojom::PrerenderProcessor and mojom::PrerenderProcessorClient have the
    same lifetime, so the timing of disconnection is not changed
    before/after this CL.
    
    Another notable point in this CL is to change the ownership of
    PrerenderProcessorImpl in the browser process. Before this CL,
    PrerenderProcessorImpl is owned by mojo::MakeSelfOwnedReceiver. After
    this CL, the processor destroys itself on the disconnect handler. This
    change is necessary for monitoring the disconnection because
    mojo::MakeSelfOwnedReceiver doesn't provide any hook point to register
    the discconnect handler.
    
    Bug: 839030
    Change-Id: I36a094466690d352e1c149792a345ebdaf8a32d2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2522725Reviewed-by: default avatarRobert Ogden <robertogden@chromium.org>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#827590}
    78ddb4f7
DEPS 456 Bytes