• Ken Rockot's avatar
    Prepare to support associated interfaces in JS · d07a6983
    Ken Rockot authored
    Lays groundwork for associated interfaces in Mojo JS modules. The
    overall theme here is to introduce a new internal Endpoint abstraction
    to back each remote and receiver. Each Endpoint is in turn backed by a
    new internal Router abstraction which models shared ownership of a
    message pipe handle.
    
    Router multiplexes the pipe by routing incoming messages to a specific
    Endpoint based on the message header's interface ID, and can also
    send messages on each Endpoint's behalf.
    
    JS (lite) bindings are refactored here to be built on these
    abstractions, with no interesting behavioral changes intended.
    
    Bug: 914165, 1004256
    Change-Id: I3c9aef111ccb5a285124d1f94f3c45f40aa8d7ae
    Test: covered by many WebUI browser tests and Blink web tests
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2585549
    Commit-Queue: Ken Rockot <rockot@google.com>
    Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#840258}
    d07a6983
interface_support.js 27.8 KB