• Guohui Deng's avatar
    Pass ApplicationSessionId to CastRenderer · 9360e3ca
    Guohui Deng authored
    Chromecast needs to know which application session
    certain CastRenderer/CmaBackend is created for
    (see b/79265398). In order to establish the association
    between the application session and the CastRenderer,
    we need to pass a std::string type |application_session_id|
    into the CastRenderer initialization process.
    
    This CL adds a |host_interfaces_| member in CastRenderer
    and an ApplicationSessionIdManager service that's
    attached to RenderFrameHost. During Initialization process,
    the CastRenderer uses |host_interfaces_| to obtain the
    ApplicationSessionIdManager service and then retrives
    the corresponding |applicationSessionId| from such service.
    
    Bug:internal b/79265398
    Test:
    
    1. verified a special case (LocalAudioRenderer) is not broken.
    2. cherry-picked into internal Chromecast and verified real
    ID arrived at CastRenderer.
    
    Change-Id: Ief94a532dbdc346516333e981c8f445efb3a4333
    Reviewed-on: https://chromium-review.googlesource.com/1117840
    Commit-Queue: Guohui Deng <guohuideng@chromium.org>
    Reviewed-by: default avatarYuchen Liu <yucliu@chromium.org>
    Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
    Reviewed-by: default avatarKenneth MacKay <kmackay@chromium.org>
    Reviewed-by: default avatarSergey Volk <servolk@chromium.org>
    Reviewed-by: default avatarXiaohan Wang <xhwang@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#572211}
    9360e3ca
application_session_id_manager.cc 1.42 KB