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 @@ ...@@ -20,6 +20,10 @@
namespace media_router { namespace media_router {
#if !defined(OS_ANDROID) #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. // Controls if browser side Cast device discovery is enabled.
const base::Feature kEnableCastDiscovery{"EnableCastDiscovery", const base::Feature kEnableCastDiscovery{"EnableCastDiscovery",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
...@@ -58,6 +62,11 @@ bool MediaRouterEnabled(content::BrowserContext* context) { ...@@ -58,6 +62,11 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
} }
#if !defined(OS_ANDROID) #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. // Returns true if browser side Cast discovery is enabled.
bool CastDiscoveryEnabled() { bool CastDiscoveryEnabled() {
return base::FeatureList::IsEnabled(kEnableCastDiscovery); return base::FeatureList::IsEnabled(kEnableCastDiscovery);
......
...@@ -18,12 +18,12 @@ bool MediaRouterEnabled(content::BrowserContext* context); ...@@ -18,12 +18,12 @@ bool MediaRouterEnabled(content::BrowserContext* context);
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
extern const base::Feature kEnableDialLocalDiscovery; extern const base::Feature kEnableDialSinkQuery;
extern const base::Feature kEnableCastDiscovery; extern const base::Feature kEnableCastDiscovery;
extern const base::Feature kEnableCastLocalMedia; extern const base::Feature kEnableCastLocalMedia;
// Returns true if browser side DIAL discovery is enabled. // Returns true if browser side DIAL sink query is enabled.
bool DialLocalDiscoveryEnabled(); bool DialSinkQueryEnabled();
// Returns true if browser side Cast discovery is enabled. // Returns true if browser side Cast discovery is enabled.
bool CastDiscoveryEnabled(); bool CastDiscoveryEnabled();
......
...@@ -88,10 +88,12 @@ void MediaRouterDesktop::RegisterMediaRouteProvider( ...@@ -88,10 +88,12 @@ void MediaRouterDesktop::RegisterMediaRouteProvider(
mojom::MediaRouteProviderPtr media_route_provider_ptr, mojom::MediaRouteProviderPtr media_route_provider_ptr,
mojom::MediaRouter::RegisterMediaRouteProviderCallback callback) { mojom::MediaRouter::RegisterMediaRouteProviderCallback callback) {
auto config = mojom::MediaRouteProviderConfig::New(); auto config = mojom::MediaRouteProviderConfig::New();
// Enabling browser side discovery means disabling extension side discovery. // Enabling browser side discovery / sink query means disabling extension side
// We are migrating discovery from the external Media Route Provider to the // discovery / sink query. We are migrating discovery from the external Media
// Media Router (crbug.com/687383), so we need to disable it in the provider. // 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_cast_discovery = !media_router::CastDiscoveryEnabled();
config->enable_dial_sink_query = !media_router::DialSinkQueryEnabled();
std::move(callback).Run(instance_id(), std::move(config)); std::move(callback).Run(instance_id(), std::move(config));
SyncStateToMediaRouteProvider(provider_id); SyncStateToMediaRouteProvider(provider_id);
......
...@@ -219,6 +219,9 @@ struct MediaRouteProviderConfig { ...@@ -219,6 +219,9 @@ struct MediaRouteProviderConfig {
// If the MRP should enable Cast discovery. // If the MRP should enable Cast discovery.
bool 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 // Modeled after the MediaRouter interface defined in
......
...@@ -784,6 +784,7 @@ MediaRouter.prototype.start = function() { ...@@ -784,6 +784,7 @@ MediaRouter.prototype.start = function() {
'config': { 'config': {
'enable_dial_discovery': response.config.enableDialDiscovery, 'enable_dial_discovery': response.config.enableDialDiscovery,
'enable_cast_discovery': response.config.enableCastDiscovery, '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