Skip to content
  • rockot's avatar
    Mojo C++ Bindings: Eliminiate unbound ThreadSafeInterfacePtr · a628d0b4
    rockot authored
    Changes ThreadSafeInterfacePtr such that it is no longer possible
    to create one which is unbound. Instead, it is now possible to
    create one which will imminently be bound on a specific TaskRunner
    but which is usable immediately.
    
    Also introduces ThreadSafeForwarder as a reduced encapsulation of
    thread-safe serialization and forwarding logic. This is used
    to implement ThreadSafeInterfacePtrBase, as well as to support
    immediate associated request forwarding on IPC::ChannelProxy in
    a thread-safe manner, where the underlying AssociatedInterfacePtr
    must remain owned by the channel's IPC::MessagePipeReader.
    
    Finally, in order to facilitate IPC::Channel exposing ipc.mojom
    types through its public interface, the //ipc:mojom target has
    been folded into //ipc's component exports. Any prior dependents
    on //ipc:mojom have been updated accordingly.
    
    BUG=682334
    R=yzshen@chromium.org
    TEST=ipc_tests, mojo_public_bindings_unittests
    
    Review-Url: https://codereview.chromium.org/2668153003
    Cr-Commit-Position: refs/heads/master@{#449239}
    a628d0b4