• Mario Sanchez Prada's avatar
    Convert PushMessaging implementation and clients to new Mojo types · 6f5b37f0
    Mario Sanchez Prada authored
    This converts the GetPushMessaging() method from DocumentInterfaceBroker
    along with the relevant parts of the implementation of mojom::PushMessaging
    at chrome::PushMessagingManager, and the two classes that use it from Blink,
    that is, blink::PushProvider and blink::PushMessagingClient.
    
    Note that, for now, this still relies on implicit conversions to get
    a PendingReceiver<T> from InterfaceRequest<T> in PushMessagingManager,
    which should go away once RenderProcessHostImpl has migrated away
    from service_manager::BinderRegistry, to service_manager::BinderMap.
    
    Also, it needs to keep using the InterfaceProvider in PushProvider to bind
    the remote interface to avoid thread-related issues that would happen if
    we tried to use service_manager::Connector now, since that requires being
    in the main thread to run Connect(), and that code usually runs from the
    ServiceWorker thread instead. This should stop being a problem once we
    have a ServiceWorkers-based InterfaceBroker, at which point the code can
    be fully migrated to service_manager::Connector.
    
    Bug: 955171
    Change-Id: I62fb6d8b8e1a5872a14740260ea2bca14daf1a15
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1655536Reviewed-by: default avatarKen Rockot <rockot@google.com>
    Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
    Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
    Reviewed-by: default avatarBo <boliu@chromium.org>
    Commit-Queue: Mario Sanchez Prada <mario@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#669593}
    6f5b37f0
push_messaging_manager.h 6.04 KB