Commit 6bc8e421 authored by jdoerrie's avatar jdoerrie Committed by Commit Bot

[WebAuthN] Enable M70 Features By Default

This change enables the WebAuthN M70 Features "WebAuthenticationUI",
"WebAuthenticationTouchId" and "WebAuthenticationCableWin" by default.

Relevant Launch Bugs:
- TouchId: https://crbug.com/837392
- UI and CableWin: https://crbug.com/873195

TBR=jochen@chromium.org

Bug: NONE
Change-Id: I3693fbd28c0b11978a045c7fa9f68c9e4995c1a0
Reviewed-on: https://chromium-review.googlesource.com/c/1288795
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: default avatarKim Paulhamus <kpaulhamus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600862}
parent d92c98e0
...@@ -660,7 +660,7 @@ const base::Feature kShillSandboxing{"ShillSandboxing", ...@@ -660,7 +660,7 @@ const base::Feature kShillSandboxing{"ShillSandboxing",
// Enable showing a tab-modal dialog while a Web Authentication API request is // Enable showing a tab-modal dialog while a Web Authentication API request is
// pending, to help guide the user through the flow of using their security key. // pending, to help guide the user through the flow of using their security key.
const base::Feature kWebAuthenticationUI{"WebAuthenticationUI", const base::Feature kWebAuthenticationUI{"WebAuthenticationUI",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
// Allow capturing of WebRTC event logs, and uploading of those logs to Crash. // Allow capturing of WebRTC event logs, and uploading of those logs to Crash.
......
...@@ -400,6 +400,11 @@ class AuthenticatorImplTest : public content::RenderViewHostTestHarness { ...@@ -400,6 +400,11 @@ class AuthenticatorImplTest : public content::RenderViewHostTestHarness {
scoped_feature_list_->InitAndEnableFeature(feature); scoped_feature_list_->InitAndEnableFeature(feature);
} }
void DisableFeature(const base::Feature& feature) {
scoped_feature_list_.emplace();
scoped_feature_list_->InitAndDisableFeature(feature);
}
protected: protected:
std::unique_ptr<AuthenticatorImpl> authenticator_impl_; std::unique_ptr<AuthenticatorImpl> authenticator_impl_;
service_manager::mojom::ConnectorRequest request_; service_manager::mojom::ConnectorRequest request_;
...@@ -834,22 +839,16 @@ TEST_F(AuthenticatorImplTest, OversizedCredentialId) { ...@@ -834,22 +839,16 @@ TEST_F(AuthenticatorImplTest, OversizedCredentialId) {
TEST_F(AuthenticatorImplTest, TestCableDiscoveryByDefault) { TEST_F(AuthenticatorImplTest, TestCableDiscoveryByDefault) {
auto authenticator = ConnectToAuthenticator(); auto authenticator = ConnectToAuthenticator();
// On Windows caBLE should be disabled by default regardless of version.
#if defined(OS_WIN) // caBLE should be enabled by default if BLE is supported.
EXPECT_FALSE(SupportsTransportProtocol(
device::FidoTransportProtocol::kCloudAssistedBluetoothLowEnergy));
// Otherwise, it should be enabled by default if BLE is supported.
#else
EXPECT_EQ( EXPECT_EQ(
device::BluetoothAdapterFactory::Get().IsLowEnergySupported(), device::BluetoothAdapterFactory::Get().IsLowEnergySupported(),
SupportsTransportProtocol( SupportsTransportProtocol(
device::FidoTransportProtocol::kCloudAssistedBluetoothLowEnergy)); device::FidoTransportProtocol::kCloudAssistedBluetoothLowEnergy));
#endif
} }
TEST_F(AuthenticatorImplTest, TestCableDiscoveryDisabledWithFlag) { TEST_F(AuthenticatorImplTest, TestCableDiscoveryDisabledWithFlag) {
scoped_feature_list_.emplace(); DisableFeature(features::kWebAuthCable);
scoped_feature_list_->InitAndDisableFeature(features::kWebAuthCable);
auto authenticator = ConnectToAuthenticator(); auto authenticator = ConnectToAuthenticator();
EXPECT_FALSE(SupportsTransportProtocol( EXPECT_FALSE(SupportsTransportProtocol(
...@@ -1710,6 +1709,7 @@ TEST_F(AuthenticatorContentBrowserClientTest, ...@@ -1710,6 +1709,7 @@ TEST_F(AuthenticatorContentBrowserClientTest,
TEST_F(AuthenticatorContentBrowserClientTest, IsUVPAAFalseIfFeatureFlagOff) { TEST_F(AuthenticatorContentBrowserClientTest, IsUVPAAFalseIfFeatureFlagOff) {
if (__builtin_available(macOS 10.12.2, *)) { if (__builtin_available(macOS 10.12.2, *)) {
// Touch ID is hardware-supported and embedder-enabled, but the flag is off. // Touch ID is hardware-supported and embedder-enabled, but the flag is off.
DisableFeature(device::kWebAuthTouchId);
device::fido::mac::ScopedTouchIdTestEnvironment touch_id_test_environment; device::fido::mac::ScopedTouchIdTestEnvironment touch_id_test_environment;
touch_id_test_environment.SetTouchIdAvailable(true); touch_id_test_environment.SetTouchIdAvailable(true);
test_client_.supports_touch_id = true; test_client_.supports_touch_id = true;
......
...@@ -500,7 +500,7 @@ const base::Feature kWebAuthCable{"WebAuthenticationCable", ...@@ -500,7 +500,7 @@ const base::Feature kWebAuthCable{"WebAuthenticationCable",
// using pairingless BLE protocol on Windows. // using pairingless BLE protocol on Windows.
// https://w3c.github.io/webauthn // https://w3c.github.io/webauthn
const base::Feature kWebAuthCableWin{"WebAuthenticationCableWin", const base::Feature kWebAuthCableWin{"WebAuthenticationCableWin",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
// Controls whether AuthenticatorAttestationResponse contains a getTransports // Controls whether AuthenticatorAttestationResponse contains a getTransports
// member to return the set of transports supported by an authenticator. // member to return the set of transports supported by an authenticator.
......
...@@ -30,7 +30,7 @@ const base::Feature kUnfilteredBluetoothDevices{ ...@@ -30,7 +30,7 @@ const base::Feature kUnfilteredBluetoothDevices{
// Controls whether the CTAP2 implementation should use a built-in platform // Controls whether the CTAP2 implementation should use a built-in platform
// authenticator, where available. // authenticator, where available.
const base::Feature kWebAuthTouchId{"WebAuthenticationTouchId", const base::Feature kWebAuthTouchId{"WebAuthenticationTouchId",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
#endif // defined(OS_MACOSX) #endif // defined(OS_MACOSX)
const base::Feature kNewCtap2Device{"WebAuthenticationCtap2", const base::Feature kNewCtap2Device{"WebAuthenticationCtap2",
......
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