Implement logic for handing WebAuthN UI for requests with BLE devices.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/02f8dd739dd652a7a82134c0d11690422572cd2c commit 02f8dd739dd652a7a82134c0d11690422572cd2c Author: Jun Choi <hongjunchoi@chromium.org> Date: Wed Aug 29 09:00:10 2018 Make Cable/Ble available even when BluetoothAdapter is powered off Currently, Cable/Ble transports are removed from available transport list when BluetoothAdapter::SetPowered() invokes failure callback. Change this so that Cable/Ble is only removed from available transport if BluetoothAdapter is not present. Bug: 877344 Change-Id: I4f736154824cceeb6be08d9ca0390f7d9dc20766 Reviewed-on: https://chromium-review.googlesource.com/1192135 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#587043} [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/ble/fido_ble_discovery_base.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/ble/fido_ble_discovery_unittest.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fake_fido_discovery.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fake_fido_discovery.h [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fido_discovery.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fido_discovery.h [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fido_discovery_unittest.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fido_request_handler_base.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fido_request_handler_base.h [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/fido_request_handler_unittest.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/hid/fido_hid_discovery.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/hid/fido_hid_discovery_unittest.cc [modify] https://crrev.com/02f8dd739dd652a7a82134c0d11690422572cd2c/device/fido/mock_fido_discovery_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aa47408b52bfb4dc8a164502a2649fef78838dbd commit aa47408b52bfb4dc8a164502a2649fef78838dbd Author: Jun Choi <hongjunchoi@chromium.org> Date: Wed Aug 29 10:35:16 2018 Resume Cable/BLE scanning once BluetoothAdapter is powered on When BluetoothAdapter is powered on either manually or programmatically, continue scanning for nearby FIDO devices if scanning is not already in process. Note that while this change ultimately prepares for WebAuthN Cable/BLE UI flow, the expected change is also preferred for WebAuthN request without UI. That is, WebAuthN request using Cable/BLE security keys should work even when the request is received with BLE adapter powered off initially and user turns on the Bluetooth adapter afterwards. Bug: 877344 Change-Id: Icca842082aa7e22a4383c3abc4426c60bd569d30 Reviewed-on: https://chromium-review.googlesource.com/1187892 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Cr-Commit-Position: refs/heads/master@{#587064} [modify] https://crrev.com/aa47408b52bfb4dc8a164502a2649fef78838dbd/device/fido/ble/fido_ble_discovery.cc [modify] https://crrev.com/aa47408b52bfb4dc8a164502a2649fef78838dbd/device/fido/ble/fido_ble_discovery_unittest.cc [modify] https://crrev.com/aa47408b52bfb4dc8a164502a2649fef78838dbd/device/fido/cable/fido_cable_discovery.cc [modify] https://crrev.com/aa47408b52bfb4dc8a164502a2649fef78838dbd/device/fido/cable/fido_cable_discovery.h [modify] https://crrev.com/aa47408b52bfb4dc8a164502a2649fef78838dbd/device/fido/cable/fido_cable_discovery_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c87a710cff78be4ebd3d10fad1ed80bc747a6ba commit 1c87a710cff78be4ebd3d10fad1ed80bc747a6ba Author: Jun Choi <hongjunchoi@chromium.org> Date: Wed Aug 29 19:51:35 2018 Fix transport type for FidoCableDiscovery Currently FidoCableDiscovery::transport() returns FidoTransportProtocol::kBluetoothLowEnergy. Fix this so that it returns FidoTransportProtocol::kCloudAssistedBluetoothLowEnergy instead. Bug: 877344 Change-Id: I870e57b747738b5a2608e3c18b71ca46c22818f6 Reviewed-on: https://chromium-review.googlesource.com/1195120 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Cr-Commit-Position: refs/heads/master@{#587257} [modify] https://crrev.com/1c87a710cff78be4ebd3d10fad1ed80bc747a6ba/device/fido/ble/fido_ble_discovery.cc [modify] https://crrev.com/1c87a710cff78be4ebd3d10fad1ed80bc747a6ba/device/fido/ble/fido_ble_discovery_base.cc [modify] https://crrev.com/1c87a710cff78be4ebd3d10fad1ed80bc747a6ba/device/fido/ble/fido_ble_discovery_base.h [modify] https://crrev.com/1c87a710cff78be4ebd3d10fad1ed80bc747a6ba/device/fido/cable/fido_cable_discovery.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1f8622f8be72178b7a846c3168714ada6479caf3 commit 1f8622f8be72178b7a846c3168714ada6479caf3 Author: Jun Choi <hongjunchoi@chromium.org> Date: Wed Aug 29 20:43:14 2018 Plumb BlueAdapter power state to embedder Observe Bluetooth adapter for power change and notify embedder when BluetoothAdapter is powered on/off and when BluetoothAdapter::SetPower() invokes success callback. Bug: 877344 Change-Id: Id437050028929d76a72a9412d26213dc38a1b6ef Reviewed-on: https://chromium-review.googlesource.com/1192420 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#587288} [modify] https://crrev.com/1f8622f8be72178b7a846c3168714ada6479caf3/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/1f8622f8be72178b7a846c3168714ada6479caf3/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/1f8622f8be72178b7a846c3168714ada6479caf3/device/fido/ble/fido_ble_discovery.cc [modify] https://crrev.com/1f8622f8be72178b7a846c3168714ada6479caf3/device/fido/ble/fido_ble_discovery_base.cc [modify] https://crrev.com/1f8622f8be72178b7a846c3168714ada6479caf3/device/fido/ble/fido_ble_discovery_base.h [modify] https://crrev.com/1f8622f8be72178b7a846c3168714ada6479caf3/device/fido/cable/fido_cable_discovery.cc [modify] https://crrev.com/1f8622f8be72178b7a846c3168714ada6479caf3/device/fido/fido_request_handler_base.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0 commit fe176681cf42ba7b6ef3e85a898a3ad417cee2a0 Author: Jun Choi <hongjunchoi@chromium.org> Date: Thu Aug 30 07:49:14 2018 Introduce BleAdapterPowerManager Implement BleAdapterPowerManager that handles 1) Observing BluetoothAdapter for power state change and notifying FidoRequestHandlerBase::TransportAvailabilityObserver. 2) If BluetoothAdapter has been powered on programmatically, turning off bluetooth adapter power on destructor. 3) Exposing API to FidoRequestHandlerBase to power on bluetooth adapter. TBR: jam@chromium.org Bug: 877344 Change-Id: I3a99782186e232f1242937867c5091a4ee1ec338 Reviewed-on: https://chromium-review.googlesource.com/1195150 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#587475} [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/content/browser/webauth/authenticator_impl.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/content/browser/webauth/authenticator_impl_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/content/public/browser/authenticator_request_client_delegate.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/content/public/browser/authenticator_request_client_delegate.h [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/BUILD.gn [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/BUILD.gn [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/ble/fido_ble_discovery.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/ble/fido_ble_discovery_base.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/ble/fido_ble_discovery_base.h [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/ble/fido_ble_discovery_unittest.cc [add] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/ble_adapter_power_manager.cc [add] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/ble_adapter_power_manager.h [add] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/ble_adapter_power_manager_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/cable/fido_cable_discovery_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fake_fido_discovery.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fake_fido_discovery.h [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fido_discovery.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fido_discovery.h [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fido_discovery_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fido_request_handler_base.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fido_request_handler_base.h [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/fido_request_handler_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/get_assertion_handler_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/hid/fido_hid_discovery.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/hid/fido_hid_discovery_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/make_credential_handler_unittest.cc [modify] https://crrev.com/fe176681cf42ba7b6ef3e85a898a3ad417cee2a0/device/fido/mock_fido_discovery_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/75ec41c4e1b60cf1a1ef230fd751295379435f8f commit 75ec41c4e1b60cf1a1ef230fd751295379435f8f Author: Jun Choi <hongjunchoi@chromium.org> Date: Thu Aug 30 09:56:34 2018 Implement AuthenticatorRequestDialogModel::PowerOnBleAdapter() Add logic to power on BLE adapter from WebAuthN UI. Bug: 877344 Change-Id: I39a9bb563a268654d15586c4a6b8226fd07ff5f5 Reviewed-on: https://chromium-review.googlesource.com/1196229 Commit-Queue: Balazs Engedy <engedy@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#587502} [modify] https://crrev.com/75ec41c4e1b60cf1a1ef230fd751295379435f8f/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/75ec41c4e1b60cf1a1ef230fd751295379435f8f/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/75ec41c4e1b60cf1a1ef230fd751295379435f8f/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9b51725711190b9c519444fd5ac5c2705295918 commit a9b51725711190b9c519444fd5ac5c2705295918 Author: Jun Choi <hongjunchoi@chromium.org> Date: Thu Aug 30 09:57:09 2018 Do not power on BluetoothAdapter by default Currently Chrome browser attempts to power on Bluetooth adapter if adapter is present and not powered on. Disable this feature so that Bluetooth adapter is powered only when user consent is received from UI. Bug: 877344 Change-Id: Ia81cef9cbdf13a72cbd3ab5fa02c412aded4d41a Reviewed-on: https://chromium-review.googlesource.com/1195736 Commit-Queue: Balazs Engedy <engedy@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#587503} [modify] https://crrev.com/a9b51725711190b9c519444fd5ac5c2705295918/device/fido/ble/fido_ble_discovery_base.cc [modify] https://crrev.com/a9b51725711190b9c519444fd5ac5c2705295918/device/fido/ble/fido_ble_discovery_unittest.cc [modify] https://crrev.com/a9b51725711190b9c519444fd5ac5c2705295918/device/fido/cable/fido_cable_discovery.cc [modify] https://crrev.com/a9b51725711190b9c519444fd5ac5c2705295918/device/fido/cable/fido_cable_discovery_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/123d6c2527a5f60e1fac9864eaa6e89901bd1f14 commit 123d6c2527a5f60e1fac9864eaa6e89901bd1f14 Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Sep 21 00:48:28 2018 Introduce FidoBlePairingDelegate Implement FidoBlePairingDelegate which handles a) Caching BLE Pin code when user inputs the pin code via WebAuthN UI. b) Handling logic of BluetoothDevice::RequestPinCode() and BluetoothDevice::RequestPasskey(). Bug: 877344 Change-Id: I10585c98ad9517b168824119ff2f50a67ff8f0c6 Reviewed-on: https://chromium-review.googlesource.com/1228777 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Cr-Commit-Position: refs/heads/master@{#593028} [modify] https://crrev.com/123d6c2527a5f60e1fac9864eaa6e89901bd1f14/device/BUILD.gn [modify] https://crrev.com/123d6c2527a5f60e1fac9864eaa6e89901bd1f14/device/fido/BUILD.gn [add] https://crrev.com/123d6c2527a5f60e1fac9864eaa6e89901bd1f14/device/fido/ble/fido_ble_pairing_delegate.cc [add] https://crrev.com/123d6c2527a5f60e1fac9864eaa6e89901bd1f14/device/fido/ble/fido_ble_pairing_delegate.h [add] https://crrev.com/123d6c2527a5f60e1fac9864eaa6e89901bd1f14/device/fido/ble/fido_ble_pairing_delegate_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/071e5135a6e2f00a2247a18bb63e54dadd22a897 commit 071e5135a6e2f00a2247a18bb63e54dadd22a897 Author: Jun Choi <hongjunchoi@chromium.org> Date: Mon Oct 01 23:10:48 2018 Plumb Bluetooth authenticator display name to WebAuthN UI Currently, the only identifier for showing Bluetooth authenticators on WebAuthN UI modals is the authenticator ID which represents the MAC id of the device. As this is not user friendly, add human-readable authenticator_display_name to AuthenticatorReference. Bug: 877344 Change-Id: I2d3b35db669d8f8f61e9989870122a211d80e80f Reviewed-on: https://chromium-review.googlesource.com/1247681 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#595626} [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/ble/fido_ble_device.cc [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/ble/fido_ble_device.h [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/fido_authenticator.h [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/fido_device.cc [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/fido_device.h [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/fido_device_authenticator.cc [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/fido_device_authenticator.h [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/mac/authenticator.h [modify] https://crrev.com/071e5135a6e2f00a2247a18bb63e54dadd22a897/device/fido/mac/authenticator.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/48c2b79947728323cbe308922ba35fe1b65f2666 commit 48c2b79947728323cbe308922ba35fe1b65f2666 Author: Jun Choi <hongjunchoi@chromium.org> Date: Tue Oct 02 21:10:33 2018 Handle Bluetooth device address change BluetoothAdapter randomizes device address for unpaired devices while pairing. As so, handle BluetoothDevice address change so that FidoBleDevice advertising on a different address on pairing mode is not recognized as a new FidoBleDevice. Bug: 877344 Change-Id: Ie1dca3d01bbe4c0ca751062b1fa6f446e7055aaa Reviewed-on: https://chromium-review.googlesource.com/c/1239202 Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Cr-Commit-Position: refs/heads/master@{#595981} [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/content/public/browser/authenticator_request_client_delegate.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/content/public/browser/authenticator_request_client_delegate.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_connection.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_connection.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_connection_unittest.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_discovery.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_discovery.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_discovery_unittest.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_pairing_delegate.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_pairing_delegate.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble/fido_ble_pairing_delegate_unittest.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/ble_adapter_power_manager_unittest.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/fido_discovery.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/fido_request_handler_base.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/fido_request_handler_base.h [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/fido_request_handler_unittest.cc [modify] https://crrev.com/48c2b79947728323cbe308922ba35fe1b65f2666/device/fido/mock_fido_discovery_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/930dfaff6d95984bee0b33abcb1e4582835638f7 commit 930dfaff6d95984bee0b33abcb1e4582835638f7 Author: Jun Choi <hongjunchoi@chromium.org> Date: Tue Oct 02 22:55:53 2018 Rename BleAdapterPowerManager to BleAdapterManager This prepares for https://crrev.com/c/1239621 Bug: 877344 Change-Id: Id857841551cf659c14747da36f91b9e848ae9c3e Reviewed-on: https://chromium-review.googlesource.com/c/1247142 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#596024} [modify] https://crrev.com/930dfaff6d95984bee0b33abcb1e4582835638f7/device/BUILD.gn [modify] https://crrev.com/930dfaff6d95984bee0b33abcb1e4582835638f7/device/fido/BUILD.gn [rename] https://crrev.com/930dfaff6d95984bee0b33abcb1e4582835638f7/device/fido/ble_adapter_manager.cc [rename] https://crrev.com/930dfaff6d95984bee0b33abcb1e4582835638f7/device/fido/ble_adapter_manager.h [rename] https://crrev.com/930dfaff6d95984bee0b33abcb1e4582835638f7/device/fido/ble_adapter_manager_unittest.cc [modify] https://crrev.com/930dfaff6d95984bee0b33abcb1e4582835638f7/device/fido/fido_request_handler_base.cc [modify] https://crrev.com/930dfaff6d95984bee0b33abcb1e4582835638f7/device/fido/fido_request_handler_base.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a457f5ca29731a7c8242953f56cf633ade5b63cc commit a457f5ca29731a7c8242953f56cf633ade5b63cc Author: Jun Choi <hongjunchoi@chromium.org> Date: Thu Oct 04 00:02:42 2018 Add preference to store address of paired FIDO BLE device WebAuthN BLE UI flow should guide the user through pairing UX if no FIDO BLE devices have been paired with the system previously. If there is at least one FIDO BLE device that is paired beforehand, we should default to "activate BLE security key" flow. As so, implement logic to store address of BLE security keys. Bug: 877344 Change-Id: I5d376311fc2dc4b73ceab0ed43ef5b8fbd0ffdbc Reviewed-on: https://chromium-review.googlesource.com/c/1253065 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#596433} [modify] https://crrev.com/a457f5ca29731a7c8242953f56cf633ade5b63cc/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/a457f5ca29731a7c8242953f56cf633ade5b63cc/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/a457f5ca29731a7c8242953f56cf633ade5b63cc/chrome/browser/webauthn/chrome_authenticator_request_delegate_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ed2da020dff17e213197769a9a603127fc4c1b49 commit ed2da020dff17e213197769a9a603127fc4c1b49 Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Oct 05 06:00:58 2018 Fix strings for BlePinEntry sheet Currently relying party ID is injected to the title of AuthenticatorBlePinEntrySheetModel. This should be fixed to device display name. Bug: 877344 Change-Id: Ia2126c401881df9b70a4867711886f50ae53fdf6 Reviewed-on: https://chromium-review.googlesource.com/c/1260013 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#597007} [modify] https://crrev.com/ed2da020dff17e213197769a9a603127fc4c1b49/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc [modify] https://crrev.com/ed2da020dff17e213197769a9a603127fc4c1b49/chrome/browser/ui/webauthn/sheet_models.cc [modify] https://crrev.com/ed2da020dff17e213197769a9a603127fc4c1b49/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/ed2da020dff17e213197769a9a603127fc4c1b49/chrome/browser/webauthn/authenticator_request_dialog_model.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/022e06fe09c29e3fd5602067c4554f50e6259d4c commit 022e06fe09c29e3fd5602067c4554f50e6259d4c Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Oct 05 19:42:42 2018 Plumb Bluetooth pairing API to WebAuthN embedder Expose BluetoothDevice::Pair() function to WebAuthN embedder layer via BleAdapterManager. Previously named BleAdapterPowerManager(which only handled notifying BluetoothAdapter power changes to the embedder) is now renamed to BleAdapterManager and it handles both a) Handling pairing events received from the UI layer. b) Handling events related to triggering/notifying BluetoothAdapter changes. Bug: 877344 TBR: ortuno@chromium.org Change-Id: I078f60cd4b0d491973276a3279503642c94d8d9d Reviewed-on: https://chromium-review.googlesource.com/c/1239621 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#597251} [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/content/browser/webauth/authenticator_impl.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/content/browser/webauth/authenticator_impl_unittest.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/content/public/browser/authenticator_request_client_delegate.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/content/public/browser/authenticator_request_client_delegate.h [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/device/fido/ble/fido_ble_pairing_delegate.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/device/fido/ble/fido_ble_pairing_delegate.h [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/device/fido/ble_adapter_manager.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/device/fido/ble_adapter_manager.h [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/device/fido/ble_adapter_manager_unittest.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/device/fido/fido_request_handler_base.cc [modify] https://crrev.com/022e06fe09c29e3fd5602067c4554f50e6259d4c/device/fido/fido_request_handler_base.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c commit c27cbe987bc6471512e4bb6288e43ec6b02e0d5c Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Oct 05 20:03:16 2018 Notify FidoDevice::is_in_pairing_mode to WebAuthN UI embedder Connected Bluetooth FidoAuthenticator can be in pairing mode when discovered by the browser, or device can change to pairing mode anytime during the lifetime of FidoDiscovery. As so add function to notify embedder when connected FidoAuthenticator changes its state to pairing mode. Bug: 877344 Change-Id: I3dc46e67064fdf7361b6cf2ef144d7daa907e92a Reviewed-on: https://chromium-review.googlesource.com/c/1246596 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#597261} [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/content/public/browser/authenticator_request_client_delegate.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/content/public/browser/authenticator_request_client_delegate.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/ble/fido_ble_device.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/ble/fido_ble_discovery.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/ble/fido_ble_discovery_unittest.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/ble_adapter_manager_unittest.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_authenticator.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_device.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_device.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_device_authenticator.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_device_authenticator.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_discovery_base.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_request_handler_base.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_request_handler_base.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/fido_request_handler_unittest.cc [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/mac/authenticator.h [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/mac/authenticator.mm [modify] https://crrev.com/c27cbe987bc6471512e4bb6288e43ec6b02e0d5c/device/fido/mock_fido_discovery_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16dae6ea6287ed198bfb0e8be2abcb56d4031710 commit 16dae6ea6287ed198bfb0e8be2abcb56d4031710 Author: Jun Choi <hongjunchoi@chromium.org> Date: Thu Oct 11 23:35:50 2018 Refactor AuthenticatorReference to its own class As BLE pin entry model and BLE device selection model will be added to WebAuthN UI. AuthenticatorReference -- which is currently defined in AuthenticatorRequestDialogModel -- will be referenced in both of these models. To simplify dependency relation between these UI models and AuthenticatorRequestDialogModel, factor out AuthenticatorReference to its own class. More specifically this CL does the following: a) Refactor AuthenticatorReference to its own class. b) Make AuthenticatorRequestDialogModel own unique_ptr of AuthenticatorReference to make ownership explicit. c) Delegate logic of creating/removing AuthenticatorReference objects to AuthenticatorRequestDialogModel as UI models likely needs to be notified of this event in following CL's implementations. Bug: 877344 Change-Id: I8cb8dfe634216385c2f09e19ed5dce7bbd592f78 Reviewed-on: https://chromium-review.googlesource.com/c/1262639 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#599009} [modify] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/BUILD.gn [modify] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc [modify] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/ui/webauthn/sheet_models.cc [add] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/webauthn/authenticator_reference.cc [add] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/webauthn/authenticator_reference.h [modify] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc [modify] https://crrev.com/16dae6ea6287ed198bfb0e8be2abcb56d4031710/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/501b1a0e29b3819c374d515f096de5ca1d8a6665 commit 501b1a0e29b3819c374d515f096de5ca1d8a6665 Author: Jun Choi <hongjunchoi@chromium.org> Date: Wed Oct 17 03:42:35 2018 Consolidate to WebAuthN list UI to HoverListView For WebAuthN UI, modal for showing transport selection list and modal for showing available BLE devices share common style list views. As so, create a shared HoverListView class that represents list view for both BLE device selection modal and transport selection model. The icon and text in views will be controlled by subclasses of HoverListModel. Bug: 877344 Change-Id: Ibfcddc1e5a85ddea3ef8b097c420892d1814f871 Reviewed-on: https://chromium-review.googlesource.com/c/1259783 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#600266} [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/BUILD.gn [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/views/webauthn/authenticator_transport_selector_sheet_view.cc [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/views/webauthn/authenticator_transport_selector_sheet_view.h [add] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/views/webauthn/hover_list_view.cc [add] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/views/webauthn/hover_list_view.h [delete] https://crrev.com/0faed38d6b49ae2bd4965d594a3e1afa61a68029/chrome/browser/ui/views/webauthn/transport_list_view.cc [delete] https://crrev.com/0faed38d6b49ae2bd4965d594a3e1afa61a68029/chrome/browser/ui/views/webauthn/transport_list_view.h [add] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/webauthn/hover_list_model.h [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/webauthn/sheet_models.h [add] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/webauthn/transport_hover_list_model.cc [add] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/ui/webauthn/transport_hover_list_model.h [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/501b1a0e29b3819c374d515f096de5ca1d8a6665/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc [delete] https://crrev.com/0faed38d6b49ae2bd4965d594a3e1afa61a68029/chrome/browser/webauthn/transport_list_model.cc [delete] https://crrev.com/0faed38d6b49ae2bd4965d594a3e1afa61a68029/chrome/browser/webauthn/transport_list_model.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/34f5031abc5122b7792130ce09bce400f10bdc14 commit 34f5031abc5122b7792130ce09bce400f10bdc14 Author: Jun Choi <hongjunchoi@chromium.org> Date: Thu Oct 25 02:57:33 2018 Implement view and model for WebAuthN BLE pin entry Implement UI element to show modal where users can put BLE pin code for pairing as well as add logic for model so that when user clicks "accept" button, Bluetooth pairing is attempted using PIN received from the user. Bug: 877344 Change-Id: I3b41da4c45d911a354bd7103a3891143c48161a1 Reviewed-on: https://chromium-review.googlesource.com/c/1266595 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#602591} [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/BUILD.gn [add] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/views/webauthn/authenticator_ble_pin_entry_sheet_view.cc [add] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/views/webauthn/authenticator_ble_pin_entry_sheet_view.h [add] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/views/webauthn/ble_pin_entry_view.cc [add] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/views/webauthn/ble_pin_entry_view.h [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/views/webauthn/sheet_view_factory.cc [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/webauthn/sheet_models.cc [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/ui/webauthn/sheet_models.h [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/34f5031abc5122b7792130ce09bce400f10bdc14/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/914f72df32be150cfc4789b062200a6fbdab3a31 commit 914f72df32be150cfc4789b062200a6fbdab3a31 Author: Jun Choi <hongjunchoi@chromium.org> Date: Thu Oct 25 18:31:21 2018 Implement timer to record devices in pairing mode Current logic in FidoBleDiscovery assumes BluetoothAdapter will invoke DeviceRemoved() once BLE device goes from pairing mode to non-pairing mode. However, this is not the case for most BLE devices. Thus, add a logic to keep a timer for each discovered pairable BLE devices. Once maximum threshold interval(3 seconds) passes without receiving advertisement packet from the device, then reset state of device as non-pairable and notifiy UI observer components. Bug: 877344 Change-Id: I9debd4354f30a41d5754074209cc4297b90e9e88 Reviewed-on: https://chromium-review.googlesource.com/c/1288079 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#602803} [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/content/public/browser/authenticator_request_client_delegate.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/content/public/browser/authenticator_request_client_delegate.h [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/ble/fido_ble_discovery.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/ble/fido_ble_discovery.h [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/ble/fido_ble_discovery_unittest.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/ble_adapter_manager_unittest.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/fido_constants.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/fido_constants.h [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/fido_discovery_base.h [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/fido_request_handler_base.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/fido_request_handler_base.h [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/fido_request_handler_unittest.cc [modify] https://crrev.com/914f72df32be150cfc4789b062200a6fbdab3a31/device/fido/mock_fido_discovery_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0ce1440058be33c9af18db1478ae0c3955158eb4 commit 0ce1440058be33c9af18db1478ae0c3955158eb4 Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Oct 26 22:36:25 2018 Implement BleDeviceSelectionView and model Implement UI view and model that renders available BLE security keys to the WebAuthN UI. Bug: 877344 Change-Id: Ie44c848799cf5a637f9c048d2e9ec292ddf845fc Reviewed-on: https://chromium-review.googlesource.com/c/1257789 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#603226} [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/BUILD.gn [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc [add] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/views/webauthn/ble_device_selection_sheet_view.cc [add] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/views/webauthn/ble_device_selection_sheet_view.h [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/views/webauthn/hover_list_view.cc [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/views/webauthn/sheet_view_factory.cc [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc [add] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/webauthn/ble_device_hover_list_model.cc [add] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/webauthn/ble_device_hover_list_model.h [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/webauthn/hover_list_model.h [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/webauthn/sheet_models.cc [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/webauthn/transport_hover_list_model.cc [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/ui/webauthn/transport_hover_list_model.h [add] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/webauthn/authenticator_list_observer.h [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc [add] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/webauthn/observable_authenticator_list.cc [add] https://crrev.com/0ce1440058be33c9af18db1478ae0c3955158eb4/chrome/browser/webauthn/observable_authenticator_list.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe commit 24f73a14ab4809ebed2d31a4bf85303e4ddba6fe Author: Jun Choi <hongjunchoi@chromium.org> Date: Mon Oct 29 12:55:29 2018 Add logic to remove unpairable devices from view Currently, WebAuthN BLE device selection view only handles the case when a Bluetooth authenticator changes from non-pairable mode to pairable mode. Add logic to remove devices in non-pairable mode from the list view ui. Bug: 877344 Change-Id: If093940cf63533520d6377e4a4fc971122ab0a8d Reviewed-on: https://chromium-review.googlesource.com/c/1292869 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Cr-Commit-Position: refs/heads/master@{#603473} [modify] https://crrev.com/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe/chrome/browser/ui/views/webauthn/hover_list_view.cc [modify] https://crrev.com/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe/chrome/browser/ui/views/webauthn/hover_list_view.h [modify] https://crrev.com/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe/chrome/browser/ui/webauthn/ble_device_hover_list_model.cc [modify] https://crrev.com/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe/chrome/browser/ui/webauthn/ble_device_hover_list_model.h [modify] https://crrev.com/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe/chrome/browser/ui/webauthn/hover_list_model.h [modify] https://crrev.com/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe/chrome/browser/webauthn/authenticator_list_observer.h [modify] https://crrev.com/24f73a14ab4809ebed2d31a4bf85303e4ddba6fe/chrome/browser/webauthn/observable_authenticator_list.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0ac254b33b26cbc3164873a9dc160e127f49c476 commit 0ac254b33b26cbc3164873a9dc160e127f49c476 Author: Jun Choi <hongjunchoi@chromium.org> Date: Tue Oct 30 10:36:43 2018 Remove first_list_item_view_ in HoverListView In order to add keyboard focus, HoverListView contains |first_list_item_view_| which points to the first item in the list. However, this is not necessary as HoverListView already has map of views stored in |tags_to_list_item_views_|. Since elements in this map is sorted by tags --which are always incremented-- the first iterator pointer of this map always points to the top element of the list. Bug: 877344 Change-Id: Iad23a32b7a211630d46e625310b8c2b4c9a36481 Reviewed-on: https://chromium-review.googlesource.com/c/1304439 Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Cr-Commit-Position: refs/heads/master@{#603857} [modify] https://crrev.com/0ac254b33b26cbc3164873a9dc160e127f49c476/chrome/browser/ui/views/webauthn/hover_list_view.cc [modify] https://crrev.com/0ac254b33b26cbc3164873a9dc160e127f49c476/chrome/browser/ui/views/webauthn/hover_list_view.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b47af5d51914a7e290cab7f52ce4a629dc437797 commit b47af5d51914a7e290cab7f52ce4a629dc437797 Author: Jun Choi <hongjunchoi@chromium.org> Date: Wed Nov 07 19:15:03 2018 Introduce OnAuthenticatorIdChanged() to WebAuthN UI models When Bluetooth security keys change state from non-pairing mode to pairing mode, Bluetooth device ID (and corresponding authenticator id) is changed for security reasons. Currently this is handled by the UI by removing the authenticator from the UI list and re-adding a authenticator with an updated id. This is not ideal, as this may cause UI to flicker. Introduce OnAuthenticatorIdChanged() to AuthenticatorListObserver so that authenticator id can be changed without invoking unnecessary UI changes. Bug: 877344 Change-Id: I9f3328c4b7121864e4e9adfe4567c4e134e3b5a4 Reviewed-on: https://chromium-review.googlesource.com/c/1319673 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Cr-Commit-Position: refs/heads/master@{#606109} [modify] https://crrev.com/b47af5d51914a7e290cab7f52ce4a629dc437797/chrome/browser/ui/webauthn/ble_device_hover_list_model.cc [modify] https://crrev.com/b47af5d51914a7e290cab7f52ce4a629dc437797/chrome/browser/ui/webauthn/ble_device_hover_list_model.h [modify] https://crrev.com/b47af5d51914a7e290cab7f52ce4a629dc437797/chrome/browser/webauthn/authenticator_list_observer.h [modify] https://crrev.com/b47af5d51914a7e290cab7f52ce4a629dc437797/chrome/browser/webauthn/observable_authenticator_list.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f6ffe497f8d9bea7c1809fafe9610746c3d06f1f commit f6ffe497f8d9bea7c1809fafe9610746c3d06f1f Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Nov 09 23:02:44 2018 Add UI flag to enable UI support for Bluetooth pairing in WebAuthN API This CL adds UI flag to add WebAuthN UI that guides users through the pairing process when using Bluetooth authenticators. Bug: 877344 Change-Id: I12a109fc34f947e64db0ad99089f83fb39ccf6d0 Reviewed-on: https://chromium-review.googlesource.com/c/1329926 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Cr-Commit-Position: refs/heads/master@{#607015} [modify] https://crrev.com/f6ffe497f8d9bea7c1809fafe9610746c3d06f1f/chrome/browser/about_flags.cc [modify] https://crrev.com/f6ffe497f8d9bea7c1809fafe9610746c3d06f1f/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/f6ffe497f8d9bea7c1809fafe9610746c3d06f1f/chrome/browser/flag_descriptions.h [modify] https://crrev.com/f6ffe497f8d9bea7c1809fafe9610746c3d06f1f/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4d10954fed4d07ea841998e59c4c62efb8ff456f commit 4d10954fed4d07ea841998e59c4c62efb8ff456f Author: Jun Choi <hongjunchoi@chromium.org> Date: Tue Nov 13 16:21:38 2018 Plumb FidoAuthenticator::IsPaired() to embedder WebAuthN UI modal should only show Bluetooth security keys in device selection modal if the security key is in pairing mode and not already paired. As so, plumb FidoAuthenticator::IsPaired() to WebAuthN Chrome embedder layer. Bug: 877344 Change-Id: I214ef45b833cbf3c9258be10b4a83b43f4b51167 Reviewed-on: https://chromium-review.googlesource.com/c/1319631 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Cr-Commit-Position: refs/heads/master@{#607609} [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/chrome/browser/ui/webauthn/ble_device_hover_list_model.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/chrome/browser/webauthn/authenticator_reference.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/chrome/browser/webauthn/authenticator_reference.h [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/ble/fido_ble_device.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/ble/fido_ble_device.h [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/fido_authenticator.h [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/fido_device.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/fido_device.h [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/fido_device_authenticator.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/fido_device_authenticator.h [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/mac/authenticator.h [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/mac/authenticator.mm [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/win/authenticator.cc [modify] https://crrev.com/4d10954fed4d07ea841998e59c4c62efb8ff456f/device/fido/win/authenticator.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1 commit 2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1 Author: Jun Choi <hongjunchoi@chromium.org> Date: Tue Nov 13 21:02:08 2018 Make WebAuthN HoverListView scrollable HoverListView is a model-agnostic view that holds multiple clickable item views. In WebAuthn, this view is used to display a list of BLE authenticators. This CL makes the view scrollable to handle an arbitrary number of BLE authenticators in the UI. Bug: 877344 Change-Id: I86f68bc3939ff661c982ae0e6bec1eed2d9a3a3a Reviewed-on: https://chromium-review.googlesource.com/c/1322832 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Balazs Engedy <engedy@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Cr-Commit-Position: refs/heads/master@{#607735} [modify] https://crrev.com/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1/chrome/browser/ui/views/webauthn/hover_list_view.cc [modify] https://crrev.com/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1/chrome/browser/ui/views/webauthn/hover_list_view.h [modify] https://crrev.com/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1/chrome/browser/ui/webauthn/ble_device_hover_list_model.cc [modify] https://crrev.com/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1/chrome/browser/ui/webauthn/ble_device_hover_list_model.h [modify] https://crrev.com/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1/chrome/browser/ui/webauthn/hover_list_model.h [modify] https://crrev.com/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1/chrome/browser/ui/webauthn/transport_hover_list_model.cc [modify] https://crrev.com/2471aebe1473ee3a3cd8ec924c2b1cb6dff2d9d1/chrome/browser/ui/webauthn/transport_hover_list_model.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5e0a0c6a68a3509b578febde5ec103fa16665fad commit 5e0a0c6a68a3509b578febde5ec103fa16665fad Author: Jun Choi <hongjunchoi@chromium.org> Date: Wed Nov 14 16:12:18 2018 Remove callbacks bound to base::Unretained(this) in FidoBleDevice Replace callbacks in FidoBleDevice bound to base::Unretained(this) to callbacks bound to weak pointers. When user navigates away from the site calling the WebAuthN API while request is being dispatched, callbacks in FidoBleDevice may be invoked after FidoBleDevice is destroyed. This is especially the case when the user navigates away during pairing process. In this case, FidoBleDevice::OnReadControlPointLength() will be called after FidoBleDevice is destroyed. Bug: 877344 Change-Id: I14ad94cfc9624c50eeee88feb1a12a6f8488c696 Reviewed-on: https://chromium-review.googlesource.com/c/1335727 Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Cr-Commit-Position: refs/heads/master@{#607999} [modify] https://crrev.com/5e0a0c6a68a3509b578febde5ec103fa16665fad/device/fido/ble/fido_ble_device.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a15f20a8462dc1a96a4be75f08f6c213fec147c6 commit a15f20a8462dc1a96a4be75f08f6c213fec147c6 Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Nov 16 09:11:54 2018 Bypass WebAuthn PIN UI for MacOS MacOS use system native UI for Bluetooth pairing process. Thus, instead of showing BLE PIN UI, directly attempt to establish connection with the device user selected during BLE device selection UI. Bug: 877344 Change-Id: I47bcd31e7d679beba65337dcc6d9b3b555bdf739 Reviewed-on: https://chromium-review.googlesource.com/c/1331474 Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Cr-Commit-Position: refs/heads/master@{#608705} [modify] https://crrev.com/a15f20a8462dc1a96a4be75f08f6c213fec147c6/chrome/browser/webauthn/authenticator_request_dialog_model.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1a7bca54f435777690107689f65b29d77af71085 commit 1a7bca54f435777690107689f65b29d77af71085 Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Nov 16 10:19:00 2018 Fix WebAuthn HoverListView height Currently HoverListView in WebAuthn UI only takes into account height of the hover buttons. As HoverListView also contains item separators, we end up always setting height of the scroll view to few pixels short of actual height of the views in the container. Add separator view height to the height of scroll view. Bug: 877344 Change-Id: I6f38bb8ec69c5c0b52845f0ce71fa1c092fa7ce3 Reviewed-on: https://chromium-review.googlesource.com/c/1336069 Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Cr-Commit-Position: refs/heads/master@{#608717} [modify] https://crrev.com/1a7bca54f435777690107689f65b29d77af71085/chrome/browser/ui/views/webauthn/hover_list_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/17d43e84c1af371e41ed0f62b9d02e2fca835ee5 commit 17d43e84c1af371e41ed0f62b9d02e2fca835ee5 Author: Jun Choi <hongjunchoi@chromium.org> Date: Tue Nov 20 17:50:23 2018 Initiate WebAuthN BLE device selection UI and pin UI When Bluetooth adapter is powered on and user has not previously connected with any Bluetooth authenticators, show Bluetooth device selection UI followed by PIN pairing UI. Also, record used Bluetooth authenticator ID on successful WebAuthN API in order to trigger WebAuthn BLE pairing UI for case when use has never paired to Bluetooth authenticator before. Bug: 877344 Change-Id: I312bdffa618c5f7d446fe24228acbad8e64f2067 Reviewed-on: https://chromium-review.googlesource.com/c/1333767 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Cr-Commit-Position: refs/heads/master@{#609741} [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/ui/webauthn/other_transports_menu_model.cc [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/ui/webauthn/sheet_models.cc [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/webauthn/authenticator_request_dialog_model.h [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/webauthn/chrome_authenticator_request_delegate.h [modify] https://crrev.com/17d43e84c1af371e41ed0f62b9d02e2fca835ee5/chrome/browser/webauthn/chrome_authenticator_request_delegate_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f1f7eab92b18297c0fae555b62ee1a1345be04b5 commit f1f7eab92b18297c0fae555b62ee1a1345be04b5 Author: Jun Choi <hongjunchoi@chromium.org> Date: Fri Nov 30 04:15:28 2018 Add BLE pairing begin dialog Add dialog before BLE device selection view instructing the user to begin pairing process. Bug: 877344 Change-Id: I9f8bf8b011231a20a09ebbb2ab8073792df276ef Reviewed-on: https://chromium-review.googlesource.com/c/1356122 Commit-Queue: Jun Choi <hongjunchoi@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Cr-Commit-Position: refs/heads/master@{#612560} [modify] https://crrev.com/f1f7eab92b18297c0fae555b62ee1a1345be04b5/chrome/browser/ui/webauthn/sheet_models.cc [modify] https://crrev.com/f1f7eab92b18297c0fae555b62ee1a1345be04b5/chrome/browser/ui/webauthn/sheet_models.h [modify] https://crrev.com/f1f7eab92b18297c0fae555b62ee1a1345be04b5/chrome/browser/webauthn/authenticator_request_dialog_model.cc [modify] https://crrev.com/f1f7eab92b18297c0fae555b62ee1a1345be04b5/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc
Comment 1 by bugdroid1@chromium.org
, Aug 29