Commit 2459d2cd authored by Bin Zhao's avatar Bin Zhao Committed by Commit Bot

[Media Router] Added EnableDialSinkQuery feature to enable/disable in-browser DIAL sink query

We are moving DIAL sink query logic from extension side to browser side.
Added a feature to enable/disable in-browser sink query.

- Added EnableDialSinkQuery feature
- Added enable_dial_sink_query field to MediaRouteProviderConfig in media_router.mojom

Bug: 779892
Change-Id: Ib05013b1124f22a45a3647765f026f20614e8d4f
Reviewed-on: https://chromium-review.googlesource.com/896265Reviewed-by: default avatarDerek Cheng <imcheng@chromium.org>
Reviewed-by: default avatarmark a. foltz <mfoltz@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Commit-Queue: Bin Zhao <zhaobin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534213}
parent 6819ba05
......@@ -20,6 +20,10 @@
namespace media_router {
#if !defined(OS_ANDROID)
// Controls if browser side DIAL sink query is enabled.
const base::Feature kEnableDialSinkQuery{"EnableDialSinkQuery",
base::FEATURE_DISABLED_BY_DEFAULT};
// Controls if browser side Cast device discovery is enabled.
const base::Feature kEnableCastDiscovery{"EnableCastDiscovery",
base::FEATURE_ENABLED_BY_DEFAULT};
......@@ -58,6 +62,11 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
}
#if !defined(OS_ANDROID)
// Returns true if browser side DIAL sink query is enabled.
bool DialSinkQueryEnabled() {
return base::FeatureList::IsEnabled(kEnableDialSinkQuery);
}
// Returns true if browser side Cast discovery is enabled.
bool CastDiscoveryEnabled() {
return base::FeatureList::IsEnabled(kEnableCastDiscovery);
......
......@@ -18,12 +18,12 @@ bool MediaRouterEnabled(content::BrowserContext* context);
#if !defined(OS_ANDROID)
extern const base::Feature kEnableDialLocalDiscovery;
extern const base::Feature kEnableDialSinkQuery;
extern const base::Feature kEnableCastDiscovery;
extern const base::Feature kEnableCastLocalMedia;
// Returns true if browser side DIAL discovery is enabled.
bool DialLocalDiscoveryEnabled();
// Returns true if browser side DIAL sink query is enabled.
bool DialSinkQueryEnabled();
// Returns true if browser side Cast discovery is enabled.
bool CastDiscoveryEnabled();
......
......@@ -88,10 +88,12 @@ void MediaRouterDesktop::RegisterMediaRouteProvider(
mojom::MediaRouteProviderPtr media_route_provider_ptr,
mojom::MediaRouter::RegisterMediaRouteProviderCallback callback) {
auto config = mojom::MediaRouteProviderConfig::New();
// Enabling browser side discovery means disabling extension side discovery.
// We are migrating discovery from the external Media Route Provider to the
// Media Router (crbug.com/687383), so we need to disable it in the provider.
// Enabling browser side discovery / sink query means disabling extension side
// discovery / sink query. We are migrating discovery from the external Media
// Route Provider to the Media Router (https://crbug.com/687383), so we need
// to disable it in the provider.
config->enable_cast_discovery = !media_router::CastDiscoveryEnabled();
config->enable_dial_sink_query = !media_router::DialSinkQueryEnabled();
std::move(callback).Run(instance_id(), std::move(config));
SyncStateToMediaRouteProvider(provider_id);
......
......@@ -219,6 +219,9 @@ struct MediaRouteProviderConfig {
// If the MRP should enable Cast discovery.
bool enable_cast_discovery;
// If the MRP should enable DIAL sink query.
bool enable_dial_sink_query;
};
// Modeled after the MediaRouter interface defined in
......
......@@ -784,6 +784,7 @@ MediaRouter.prototype.start = function() {
'config': {
'enable_dial_discovery': response.config.enableDialDiscovery,
'enable_cast_discovery': response.config.enableCastDiscovery,
'enable_dial_sink_query': response.config.enableDialSinkQuery,
}
};
});
......
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