Commit 4c6d3365 authored by John Williams's avatar John Williams Committed by Commit Bot

[Media Router] Fixed auto-join for Cast sessions.

The previous code was written using the mistaken assumption that
only mirroring sessions should have a tab ID.  This had the effect
of making it impossible to re-connect to a casting session after
refreshing the tab.

Bug: 1054491
Change-Id: Ic8ec2946af8ad28c8cea8c0698c1644c46ff5a63
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2078795Reviewed-by: default avatarTakumi Fujimoto <takumif@chromium.org>
Commit-Queue: John Williams <jrw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#745628}
parent b3fe7c5a
......@@ -327,13 +327,9 @@ void MediaRouterMojoImpl::CreateRoute(const MediaSource::Id& source_id,
presentation_id, origin, web_contents, timeout,
incognito, std::move(mr_callback)));
} else {
int tab_id = -1;
// A Cast SDK enabled website (e.g. Google Slides) may use the mirroring app
// ID rather than the tab mirroring URN.
if (source.IsTabMirroringSource() ||
source.id().find(kMirroringAppUri) == 0) {
tab_id = sessions::SessionTabHelper::IdForTab(web_contents).id();
}
// Previously the tab ID was set to -1 for non-mirroring sessions, which
// mostly works, but it breaks auto-joining.
const int tab_id = sessions::SessionTabHelper::IdForTab(web_contents).id();
media_route_providers_[provider_id]->CreateRoute(
source_id, sink_id, presentation_id, origin, tab_id, timeout, incognito,
std::move(mr_callback));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment