• Ken Rockot's avatar
    Prepare Cast Shell for InterfaceProvider removal · 48c7b501
    Ken Rockot authored
    Upstream Chromium no longer uses an InterfaceProvider to expose browser
    interfaces to render frames. Cast Shell still does this for a small
    handful of interfaces registered by downstream internal-only logic.
    
    In order to support the transition of the internal repository away from
    this mechanism, this CL introduces a bit of redundancy: interfaces
    registered with CastWebContents through either of its two registration
    mechanisms will now be exposed to *both* InterfaceProvider consumers as
    well as BrowserInterfaceBroker.
    
    Once this lands, internal renderer code can simply be rewritten to use
    RenderFrame::GetBrowserInterfaceBroker instead of
    RenderFrame::GetRemoteInterfaces(), and then upstream Chromium can
    completely remove all its gnarly support for a browser-exposed
    InterfaceProvider.
    
    Bug: 977637
    Change-Id: I21ae1fc31b35b0ca77ab2a00645feafe0ac67a73
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2547054Reviewed-by: default avatarSean Topping <seantopping@chromium.org>
    Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
    Commit-Queue: Ken Rockot <rockot@google.com>
    Cr-Commit-Position: refs/heads/master@{#829858}
    48c7b501
cast_web_contents_impl.cc 33.5 KB