NoStatePrefetch: Move mojo disconnect handler from PrerenderProcessorClient to PrerenderProcessor
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:Robert Ogden <robertogden@chromium.org> Reviewed-by:
Scott Violet <sky@chromium.org> Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org> Cr-Commit-Position: refs/heads/master@{#827590}
Showing
Please register or sign in to comment