New issue
Advanced search Search tips

Issue 785955 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: ----

Blocking:
issue 664630


Participants' hotlists:
Hotlist-1


Sign in to add a comment

Make //device/u2f operations mockable for WebAuthN end to end tests

Project Member Reported by kpaulhamus@chromium.org, Nov 16 2017

Issue description

TrySign, TryRegister
 

Comment 1 by engedy@chromium.org, Nov 16 2017

Blocking: 664630
Owner: arnarb@chromium.org
Summary: Make //device/u2f operations mockable for WebAuthN end to end tests (was: Make //device/u2f operations mockable for authenticator unit tests)
Essentially superseded by implementation of a fake and mock security key that will permit us to write end to end tests.

Comment 3 by arnarb@chromium.org, Jan 31 2018

Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06

commit 7dfdd9bfdec5315973912589c7e62e1c5bf1ab06
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Mar 02 21:31:49 2018

Use anchored `::testing::*` namespace references in //device/fido.

Multiple usages of relative `testing::*` references make it impossible
to have a nested namespace `device::testing`; although this is likely
to ultimately end up as just a clean-up CL because it seems more common
to call the nested namespace `test` instead of `testing`.

Bug:  785955 
Change-Id: I59a31553a2436f0682cd9f4cb87071a81a5f0bca
Reviewed-on: https://chromium-review.googlesource.com/946103
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540635}
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/ctap_request_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/ctap_response_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/fido_hid_message_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/u2f_apdu_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/u2f_hid_device_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/u2f_hid_discovery_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/u2f_register_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/u2f_request_unittest.cc
[modify] https://crrev.com/7dfdd9bfdec5315973912589c7e62e1c5bf1ab06/device/fido/u2f_sign_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Mar 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83dc0829a1611f78dc47255d51c36d8a72113989

commit 83dc0829a1611f78dc47255d51c36d8a72113989
Author: Balazs Engedy <engedy@chromium.org>
Date: Wed Mar 07 14:33:55 2018

Replace MockU2fDiscovery with FakeU2fDiscovery.

In order to use MockU2fDiscovery, its consumer needed to have have a very
detailed understanding of U2fDiscovery's internal behavior. E.g. needed
to set up EXPECT_CALL expectations in way that correctly mimicked the
production code's behavior. This is not good encapsulation.

Instead, this CL introduces a fake that simulates the real implementation
internally, so that consumers of U2fDiscovery need not duplicate that.

This CL also adds a ScopedU2fFakeDiscoveryFactory that make it easier
for consumers, possibly several layers away, to inject the fake
discovery implementations for testing purposes (without real hardware).

Bug:  785955 
Change-Id: I45989dbc60ce48332590809dae07786deb6b312a
Reviewed-on: https://chromium-review.googlesource.com/946469
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541426}
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/BUILD.gn
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/BUILD.gn
[add] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/fake_u2f_discovery.cc
[add] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/fake_u2f_discovery.h
[add] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/fake_u2f_discovery_unittest.cc
[delete] https://crrev.com/e4c81767519a53e0d9bd0f3304f37cf080740b46/device/fido/mock_u2f_discovery.cc
[delete] https://crrev.com/e4c81767519a53e0d9bd0f3304f37cf080740b46/device/fido/mock_u2f_discovery.h
[add] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/mock_u2f_discovery_observer.cc
[add] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/mock_u2f_discovery_observer.h
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_ble_discovery.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_ble_discovery.h
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_ble_discovery_unittest.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_discovery.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_discovery.h
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_discovery_unittest.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_hid_discovery.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_hid_discovery.h
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_hid_discovery_unittest.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_register.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_register.h
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_register_unittest.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_request.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_request.h
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_request_unittest.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_sign.cc
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_sign.h
[modify] https://crrev.com/83dc0829a1611f78dc47255d51c36d8a72113989/device/fido/u2f_sign_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ab4b14b2dc1972a5698f15094319d07082bb15e

commit 1ab4b14b2dc1972a5698f15094319d07082bb15e
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Mar 09 12:45:03 2018

Introduce templated TestCallbackReceiver.

This is to avoid duplicating the code in each unit test to implement
a call back receiver for each combination of argument types.

Bug:  785955 
Change-Id: Ic4cd0502fafc666682c29a657e25cab91091db44
Reviewed-on: https://chromium-review.googlesource.com/955566
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542090}
[modify] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/BUILD.gn
[modify] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/fido/BUILD.gn
[add] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/fido/test_callback_receiver.h
[add] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/fido/test_callback_receiver_unittest.cc
[modify] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/fido/u2f_ble_device_unittest.cc
[modify] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/fido/u2f_hid_device_unittest.cc
[modify] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/fido/u2f_register_unittest.cc
[modify] https://crrev.com/1ab4b14b2dc1972a5698f15094319d07082bb15e/device/fido/u2f_sign_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e23bd4d70c5fcb1704894a4559465729ee89c80b

commit e23bd4d70c5fcb1704894a4559465729ee89c80b
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Mar 12 13:49:55 2018

Don't have two copies of //device/fido.

Prior to this change, both libcontents.so and content_unittests would
each have a copy of //device/fido because the test_support code would
pull in a copy directly. This caused there two be two copies of
|U2fDiscovery::g_factory_func_| – one used by the test_support code and
one by the code that's used for actual processing. That obviously breaks
things.

This CL makes //device/fido a `component` instead of a `source_set`,
which, however, necessitates adding COMPONENT_EXPORT annotations to all
exported classes/functions/constants.

The CL also cleans up the components by:
 -- adding some missing #includes and DISALLOW_COPY_AND_ASSIGNs, and
 -- moving dependencies included in public headers into `public_deps`.

Bug:  785955 ,  820441 
Change-Id: I7a2ab0977a3090ff91fcd8bb53b16d13419d434a
Reviewed-on: https://chromium-review.googlesource.com/955698
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542472}
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/BUILD.gn
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/attestation_object.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/attestation_statement.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/attested_credential_data.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/authenticator_data.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/authenticator_get_assertion_response.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/authenticator_get_info_response.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/authenticator_make_credential_response.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/authenticator_supported_options.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/ctap_constants.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/ctap_empty_authenticator_request.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/ctap_get_assertion_request.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/ctap_make_credential_request.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/device_response_converter.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/ec_public_key.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/fake_hid_impl_for_testing.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/fido_attestation_statement.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/fido_hid_message.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/fido_hid_packet.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/mock_u2f_ble_connection.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/mock_u2f_device.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/mock_u2f_discovery_observer.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/public_key.cc
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/public_key.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/public_key_credential_descriptor.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/public_key_credential_params.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/public_key_credential_rp_entity.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/public_key_credential_user_entity.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/register_response_data.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/response_data.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/sign_response_data.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_apdu_command.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_apdu_response.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_ble_connection.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_ble_device.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_ble_discovery.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_ble_frames.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_ble_transaction.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_ble_uuids.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_device.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_discovery.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_hid_device.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_hid_discovery.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_parsing_utils.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_register.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_request.h
[modify] https://crrev.com/e23bd4d70c5fcb1704894a4559465729ee89c80b/device/fido/u2f_sign.h

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2605ad94a728e390fa60612e0dab343960d93e81

commit 2605ad94a728e390fa60612e0dab343960d93e81
Author: Christian Dullweber <dullweber@chromium.org>
Date: Mon Mar 12 14:13:27 2018

Revert "Don't have two copies of //device/fido."

This reverts commit e23bd4d70c5fcb1704894a4559465729ee89c80b.

Reason for revert: The change broke compilation on https://ci.chromium.org/buildbot/chromium.win/Win%20x64%20Builder%20(dbg)/63827

Original change's description:
> Don't have two copies of //device/fido.
> 
> Prior to this change, both libcontents.so and content_unittests would
> each have a copy of //device/fido because the test_support code would
> pull in a copy directly. This caused there two be two copies of
> |U2fDiscovery::g_factory_func_| – one used by the test_support code and
> one by the code that's used for actual processing. That obviously breaks
> things.
> 
> This CL makes //device/fido a `component` instead of a `source_set`,
> which, however, necessitates adding COMPONENT_EXPORT annotations to all
> exported classes/functions/constants.
> 
> The CL also cleans up the components by:
>  -- adding some missing #includes and DISALLOW_COPY_AND_ASSIGNs, and
>  -- moving dependencies included in public headers into `public_deps`.
> 
> Bug:  785955 ,  820441 
> Change-Id: I7a2ab0977a3090ff91fcd8bb53b16d13419d434a
> Reviewed-on: https://chromium-review.googlesource.com/955698
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: Adam Langley <agl@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#542472}

TBR=agl@chromium.org,engedy@chromium.org,jdoerrie@chromium.org

Change-Id: I39770f2cd99eafabe50501ad3d90a6442cb3c343
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  785955 ,  820441 
Reviewed-on: https://chromium-review.googlesource.com/959061
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542474}
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/BUILD.gn
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/attestation_object.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/attestation_statement.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/attested_credential_data.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/authenticator_data.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/authenticator_get_assertion_response.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/authenticator_get_info_response.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/authenticator_make_credential_response.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/authenticator_supported_options.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/ctap_constants.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/ctap_empty_authenticator_request.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/ctap_get_assertion_request.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/ctap_make_credential_request.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/device_response_converter.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/ec_public_key.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/fake_hid_impl_for_testing.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/fido_attestation_statement.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/fido_hid_message.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/fido_hid_packet.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/mock_u2f_ble_connection.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/mock_u2f_device.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/mock_u2f_discovery_observer.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/public_key.cc
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/public_key.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/public_key_credential_descriptor.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/public_key_credential_params.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/public_key_credential_rp_entity.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/public_key_credential_user_entity.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/register_response_data.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/response_data.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/sign_response_data.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_apdu_command.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_apdu_response.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_ble_connection.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_ble_device.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_ble_discovery.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_ble_frames.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_ble_transaction.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_ble_uuids.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_device.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_discovery.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_hid_device.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_hid_discovery.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_parsing_utils.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_register.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_request.h
[modify] https://crrev.com/2605ad94a728e390fa60612e0dab343960d93e81/device/fido/u2f_sign.h

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0588d0628f73cfb7f01639afe4145655cf922744

commit 0588d0628f73cfb7f01639afe4145655cf922744
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Mar 12 16:36:22 2018

Introduce a generic ScopedU2fDiscoveryFactory override.

 -- In preparation for introducing ScopedU2fVirtualDiscoveryFactory, create a
    base class ScopedU2fDiscoveryFactory and let ScopedU2fFakeDiscoveryFactory
    derive from that.
 -- In preparation for a wider adoption of FakeU2fDiscovery in tests that could
    not care less about when a discovery starts, add a version of the fake
    discovery where SimulateStarted()/SimulateStopped() is called automatically.

Bug:  785955 
Change-Id: I4b1c9bd962c6e225be45971bbb0d5aad3b05a68a
Reviewed-on: https://chromium-review.googlesource.com/959001
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542507}
[modify] https://crrev.com/0588d0628f73cfb7f01639afe4145655cf922744/device/fido/fake_u2f_discovery.cc
[modify] https://crrev.com/0588d0628f73cfb7f01639afe4145655cf922744/device/fido/fake_u2f_discovery.h
[modify] https://crrev.com/0588d0628f73cfb7f01639afe4145655cf922744/device/fido/u2f_discovery.cc
[modify] https://crrev.com/0588d0628f73cfb7f01639afe4145655cf922744/device/fido/u2f_discovery.h

Project Member

Comment 10 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bae826293dcc22ef931b4e7d0e221c453e955244

commit bae826293dcc22ef931b4e7d0e221c453e955244
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Mar 12 17:20:55 2018

Reland "Don't have two copies of //device/fido."

This is a reland of e23bd4d70c5fcb1704894a4559465729ee89c80b, now without
`dllimport`-annotated classes with inline MOCK_METHODs.

Original change's description:
> Don't have two copies of //device/fido.
>
> Prior to this change, both libcontents.so and content_unittests would
> each have a copy of //device/fido because the test_support code would
> pull in a copy directly. This caused there two be two copies of
> |U2fDiscovery::g_factory_func_| – one used by the test_support code and
> one by the code that's used for actual processing. That obviously breaks
> things.
>
> This CL makes //device/fido a `component` instead of a `source_set`,
> which, however, necessitates adding COMPONENT_EXPORT annotations to all
> exported classes/functions/constants.
>
> The CL also cleans up the components by:
>  -- adding some missing #includes and DISALLOW_COPY_AND_ASSIGNs, and
>  -- moving dependencies included in public headers into `public_deps`.
>
> Bug:  785955 ,  820441 
> Change-Id: I7a2ab0977a3090ff91fcd8bb53b16d13419d434a
> Reviewed-on: https://chromium-review.googlesource.com/955698
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: Adam Langley <agl@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#542472}

TBR=jdoerrie@chromium.org

Bug:  785955 ,  820441 
Change-Id: I9ed13c7d1105f133c5f54cce7f0a4d74f1d57904
Reviewed-on: https://chromium-review.googlesource.com/958863
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542523}
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/BUILD.gn
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/attestation_object.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/attestation_statement.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/attested_credential_data.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/authenticator_data.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/authenticator_get_assertion_response.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/authenticator_get_info_response.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/authenticator_make_credential_response.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/authenticator_supported_options.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/ctap_constants.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/ctap_empty_authenticator_request.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/ctap_get_assertion_request.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/ctap_make_credential_request.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/device_response_converter.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/ec_public_key.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/fake_hid_impl_for_testing.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/fido_attestation_statement.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/fido_hid_message.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/fido_hid_packet.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/mock_u2f_ble_connection.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/mock_u2f_device.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/mock_u2f_discovery_observer.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/public_key.cc
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/public_key.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/public_key_credential_descriptor.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/public_key_credential_params.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/public_key_credential_rp_entity.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/public_key_credential_user_entity.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/register_response_data.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/response_data.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/sign_response_data.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_apdu_command.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_apdu_response.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_ble_connection.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_ble_device.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_ble_discovery.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_ble_frames.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_ble_transaction.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_ble_uuids.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_device.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_discovery.cc
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_discovery.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_hid_device.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_hid_discovery.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_parsing_utils.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_register.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_request.h
[modify] https://crrev.com/bae826293dcc22ef931b4e7d0e221c453e955244/device/fido/u2f_sign.h

Project Member

Comment 11 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f523bbad0ece368d07f5138d935ace18d419ad68

commit f523bbad0ece368d07f5138d935ace18d419ad68
Author: Thomas Anderson <thomasanderson@chromium.org>
Date: Mon Mar 12 17:38:28 2018

Revert "Reland "Don't have two copies of //device/fido.""

This reverts commit bae826293dcc22ef931b4e7d0e221c453e955244.

Reason for revert: Breaks Linux Builder (dbg):
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Builder%20%28dbg%29/121988

Original change's description:
> Reland "Don't have two copies of //device/fido."
> 
> This is a reland of e23bd4d70c5fcb1704894a4559465729ee89c80b, now without
> `dllimport`-annotated classes with inline MOCK_METHODs.
> 
> Original change's description:
> > Don't have two copies of //device/fido.
> >
> > Prior to this change, both libcontents.so and content_unittests would
> > each have a copy of //device/fido because the test_support code would
> > pull in a copy directly. This caused there two be two copies of
> > |U2fDiscovery::g_factory_func_| – one used by the test_support code and
> > one by the code that's used for actual processing. That obviously breaks
> > things.
> >
> > This CL makes //device/fido a `component` instead of a `source_set`,
> > which, however, necessitates adding COMPONENT_EXPORT annotations to all
> > exported classes/functions/constants.
> >
> > The CL also cleans up the components by:
> >  -- adding some missing #includes and DISALLOW_COPY_AND_ASSIGNs, and
> >  -- moving dependencies included in public headers into `public_deps`.
> >
> > Bug:  785955 ,  820441 
> > Change-Id: I7a2ab0977a3090ff91fcd8bb53b16d13419d434a
> > Reviewed-on: https://chromium-review.googlesource.com/955698
> > Commit-Queue: Balazs Engedy <engedy@chromium.org>
> > Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
> > Reviewed-by: Adam Langley <agl@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#542472}
> 
> TBR=jdoerrie@chromium.org
> 
> Bug:  785955 ,  820441 
> Change-Id: I9ed13c7d1105f133c5f54cce7f0a4d74f1d57904
> Reviewed-on: https://chromium-review.googlesource.com/958863
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Balazs Engedy <engedy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#542523}

TBR=agl@chromium.org,engedy@chromium.org,jdoerrie@chromium.org

Change-Id: Ib21d588a4db7d1b3eed53f44d1ff82f4eb2ef8a8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  785955 ,  820441 
Reviewed-on: https://chromium-review.googlesource.com/959242
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542531}
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/BUILD.gn
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/attestation_object.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/attestation_statement.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/attested_credential_data.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/authenticator_data.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/authenticator_get_assertion_response.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/authenticator_get_info_response.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/authenticator_make_credential_response.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/authenticator_supported_options.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/ctap_constants.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/ctap_empty_authenticator_request.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/ctap_get_assertion_request.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/ctap_make_credential_request.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/device_response_converter.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/ec_public_key.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/fake_hid_impl_for_testing.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/fido_attestation_statement.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/fido_hid_message.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/fido_hid_packet.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/mock_u2f_ble_connection.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/mock_u2f_device.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/mock_u2f_discovery_observer.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/public_key.cc
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/public_key.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/public_key_credential_descriptor.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/public_key_credential_params.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/public_key_credential_rp_entity.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/public_key_credential_user_entity.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/register_response_data.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/response_data.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/sign_response_data.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_apdu_command.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_apdu_response.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_ble_connection.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_ble_device.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_ble_discovery.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_ble_frames.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_ble_transaction.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_ble_uuids.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_device.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_discovery.cc
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_discovery.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_hid_device.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_hid_discovery.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_parsing_utils.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_register.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_request.h
[modify] https://crrev.com/f523bbad0ece368d07f5138d935ace18d419ad68/device/fido/u2f_sign.h

Project Member

Comment 12 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe2035ca9c5d0a1d17e26fe8b7fa953dc20a7fe2

commit fe2035ca9c5d0a1d17e26fe8b7fa953dc20a7fe2
Author: Luna Lu <loonybear@chromium.org>
Date: Mon Mar 12 18:00:15 2018

Revert "Introduce a generic ScopedU2fDiscoveryFactory override."

This reverts commit 0588d0628f73cfb7f01639afe4145655cf922744.

Reason for revert: break Linux Builder (dbg) Build 121988 
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Builder%20%28dbg%29/121988

error: undefined symbol: device::internal::ScopedU2fDiscoveryFactory::ScopedU2fDiscoveryFactory()
>>> referenced by fake_u2f_discovery.cc:85 
error: undefined symbol: device::internal::ScopedU2fDiscoveryFactory::~ScopedU2fDiscoveryFactory()
>>> referenced by fake_u2f_discovery.cc:86 

Original change's description:
> Introduce a generic ScopedU2fDiscoveryFactory override.
> 
>  -- In preparation for introducing ScopedU2fVirtualDiscoveryFactory, create a
>     base class ScopedU2fDiscoveryFactory and let ScopedU2fFakeDiscoveryFactory
>     derive from that.
>  -- In preparation for a wider adoption of FakeU2fDiscovery in tests that could
>     not care less about when a discovery starts, add a version of the fake
>     discovery where SimulateStarted()/SimulateStopped() is called automatically.
> 
> Bug:  785955 
> Change-Id: I4b1c9bd962c6e225be45971bbb0d5aad3b05a68a
> Reviewed-on: https://chromium-review.googlesource.com/959001
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#542507}

TBR=engedy@chromium.org,jdoerrie@chromium.org

Change-Id: Iff7c0aa010fe3ae83262508795bdded90d1f620c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  785955 
Reviewed-on: https://chromium-review.googlesource.com/959282
Reviewed-by: Luna Lu <loonybear@chromium.org>
Commit-Queue: Luna Lu <loonybear@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542539}
[modify] https://crrev.com/fe2035ca9c5d0a1d17e26fe8b7fa953dc20a7fe2/device/fido/fake_u2f_discovery.cc
[modify] https://crrev.com/fe2035ca9c5d0a1d17e26fe8b7fa953dc20a7fe2/device/fido/fake_u2f_discovery.h
[modify] https://crrev.com/fe2035ca9c5d0a1d17e26fe8b7fa953dc20a7fe2/device/fido/u2f_discovery.cc
[modify] https://crrev.com/fe2035ca9c5d0a1d17e26fe8b7fa953dc20a7fe2/device/fido/u2f_discovery.h

Project Member

Comment 13 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/adf5fabd2c968f5577df735e62db9e0d1f2fcf58

commit adf5fabd2c968f5577df735e62db9e0d1f2fcf58
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Mar 12 21:10:52 2018

Reland "Introduce a generic ScopedU2fDiscoveryFactory override."

This is a reland of 0588d0628f73cfb7f01639afe4145655cf922744, as it was concluded
not to have been the culprit for the compile breakage.

Original change's description:
> Introduce a generic ScopedU2fDiscoveryFactory override.
>
>  -- In preparation for introducing ScopedU2fVirtualDiscoveryFactory, create a
>     base class ScopedU2fDiscoveryFactory and let ScopedU2fFakeDiscoveryFactory
>     derive from that.
>  -- In preparation for a wider adoption of FakeU2fDiscovery in tests that could
>     not care less about when a discovery starts, add a version of the fake
>     discovery where SimulateStarted()/SimulateStopped() is called automatically.
>
> Bug:  785955 
> Change-Id: I4b1c9bd962c6e225be45971bbb0d5aad3b05a68a
> Reviewed-on: https://chromium-review.googlesource.com/959001
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#542507}

TBR=jdoerrie@chromium.org

Bug:  785955 
Change-Id: I4c9f42d81793567b6536d303f8a4d020fbe147d9
Reviewed-on: https://chromium-review.googlesource.com/959322
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542596}
[modify] https://crrev.com/adf5fabd2c968f5577df735e62db9e0d1f2fcf58/device/fido/fake_u2f_discovery.cc
[modify] https://crrev.com/adf5fabd2c968f5577df735e62db9e0d1f2fcf58/device/fido/fake_u2f_discovery.h
[modify] https://crrev.com/adf5fabd2c968f5577df735e62db9e0d1f2fcf58/device/fido/u2f_discovery.cc
[modify] https://crrev.com/adf5fabd2c968f5577df735e62db9e0d1f2fcf58/device/fido/u2f_discovery.h

Project Member

Comment 14 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d531bf4f01592ce774f46b02ce47a9b30b6dade4

commit d531bf4f01592ce774f46b02ce47a9b30b6dade4
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Mar 12 22:51:42 2018

Reland "Reland "Don't have two copies of //device/fido.""

This is a reland of bae826293dcc22ef931b4e7d0e221c453e955244

Original change's description:
> Reland "Don't have two copies of //device/fido."
>
> This is a reland of e23bd4d70c5fcb1704894a4559465729ee89c80b, now without
> `dllimport`-annotated classes with inline MOCK_METHODs.
>
> Original change's description:
> > Don't have two copies of //device/fido.
> >
> > Prior to this change, both libcontents.so and content_unittests would
> > each have a copy of //device/fido because the test_support code would
> > pull in a copy directly. This caused there two be two copies of
> > |U2fDiscovery::g_factory_func_| – one used by the test_support code and
> > one by the code that's used for actual processing. That obviously breaks
> > things.
> >
> > This CL makes //device/fido a `component` instead of a `source_set`,
> > which, however, necessitates adding COMPONENT_EXPORT annotations to all
> > exported classes/functions/constants.
> >
> > The CL also cleans up the components by:
> >  -- adding some missing #includes and DISALLOW_COPY_AND_ASSIGNs, and
> >  -- moving dependencies included in public headers into `public_deps`.
> >
> > Bug:  785955 ,  820441 
> > Change-Id: I7a2ab0977a3090ff91fcd8bb53b16d13419d434a
> > Reviewed-on: https://chromium-review.googlesource.com/955698
> > Commit-Queue: Balazs Engedy <engedy@chromium.org>
> > Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
> > Reviewed-by: Adam Langley <agl@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#542472}
>
> TBR=jdoerrie@chromium.org
>
> Bug:  785955 ,  820441 
> Change-Id: I9ed13c7d1105f133c5f54cce7f0a4d74f1d57904
> Reviewed-on: https://chromium-review.googlesource.com/958863
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Balazs Engedy <engedy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#542523}

TBR=jdoerrie@chromium.org

Bug:  785955 ,  820441 
Change-Id: I28ca8b09d2af26dbc2375a42d97c3191bb7ac26e
Reviewed-on: https://chromium-review.googlesource.com/958868
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542638}
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/BUILD.gn
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/attestation_object.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/attestation_statement.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/attested_credential_data.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/authenticator_data.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/authenticator_get_assertion_response.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/authenticator_get_info_response.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/authenticator_make_credential_response.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/authenticator_supported_options.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/ctap_constants.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/ctap_empty_authenticator_request.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/ctap_get_assertion_request.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/ctap_make_credential_request.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/device_response_converter.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/ec_public_key.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/fake_hid_impl_for_testing.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/fido_attestation_statement.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/fido_hid_message.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/fido_hid_packet.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/mock_u2f_ble_connection.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/mock_u2f_device.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/mock_u2f_discovery_observer.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/public_key.cc
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/public_key.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/public_key_credential_descriptor.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/public_key_credential_params.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/public_key_credential_rp_entity.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/public_key_credential_user_entity.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/register_response_data.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/response_data.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/sign_response_data.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_apdu_command.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_apdu_response.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_ble_connection.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_ble_device.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_ble_discovery.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_ble_frames.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_ble_transaction.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_ble_uuids.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_device.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_discovery.cc
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_discovery.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_hid_device.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_hid_discovery.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_parsing_utils.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_register.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_request.h
[modify] https://crrev.com/d531bf4f01592ce774f46b02ce47a9b30b6dade4/device/fido/u2f_sign.h

Project Member

Comment 16 by bugdroid1@chromium.org, Mar 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fd9d14f641e4045d4c9312104b4f57a3373aea69

commit fd9d14f641e4045d4c9312104b4f57a3373aea69
Author: Balazs Engedy <engedy@chromium.org>
Date: Tue Mar 13 12:54:23 2018

Rename FakeU2fDevice to VirtualU2fDevice.

Furthermore, move it out of the device::test:: and into the device::
namespace, in preparation for being used from //content/browser to
service the Web Authentication Testing API.

Bug:  785955 
Change-Id: I6c9112c4cec127fe77702dd5389f95fc084df9b5
Reviewed-on: https://chromium-review.googlesource.com/960008
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542777}
[modify] https://crrev.com/fd9d14f641e4045d4c9312104b4f57a3373aea69/device/fido/BUILD.gn
[modify] https://crrev.com/fd9d14f641e4045d4c9312104b4f57a3373aea69/device/fido/u2f_apdu_command.h
[modify] https://crrev.com/fd9d14f641e4045d4c9312104b4f57a3373aea69/device/fido/u2f_register_unittest.cc
[modify] https://crrev.com/fd9d14f641e4045d4c9312104b4f57a3373aea69/device/fido/u2f_sign_unittest.cc
[rename] https://crrev.com/fd9d14f641e4045d4c9312104b4f57a3373aea69/device/fido/virtual_u2f_device.cc
[rename] https://crrev.com/fd9d14f641e4045d4c9312104b4f57a3373aea69/device/fido/virtual_u2f_device.h

Owner: engedy@chromium.org
Reassigning to Balazs if there is more follow-up work tbd.
Project Member

Comment 19 by bugdroid1@chromium.org, Mar 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821

commit 3c8ceb901eddc4ea105bdbd63242a7ea96fb4821
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Mar 23 10:52:19 2018

Split test inputs from mocks for navigator.credentials layout tests.

This CL splits layout test resource `credential-helpers.js` into:
  -- `test-inputs.js` (needed for end-to-end tests)
  -- `mock-navigator-credentials.js` (interferes with end-to-end tests).

Layout tests have also been tweaked to use a smarter redirect technique,
so running tests is now supported on both `localhost` and `127.0.0.1`.

Bug:  785955 
Change-Id: I90d8fbf5194a265b355f38550d5d6f710151731a
Reviewed-on: https://chromium-review.googlesource.com/975545
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545401}
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-create-basics.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-create-from-nested-frame.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-create-origins.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-basics.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-errors.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-from-nested-frame.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-origins.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-preventsilentaccess-basics.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-store-basics.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/mock-authenticator.html
[delete] https://crrev.com/b574931e92b0a101e6201ee4dcab958f32721c0d/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/credential-helpers.js
[add] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/mock-navigator-credentials.js
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/nested-mock-authenticator-client.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/publickey-create-helper.html
[modify] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/publickey-get-helper.html
[add] https://crrev.com/3c8ceb901eddc4ea105bdbd63242a7ea96fb4821/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/test-inputs.js

Project Member

Comment 20 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96

commit 2b1540a5d902453f356f1892f9a7f9e4ed3c3b96
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Mar 30 11:07:39 2018

Add U2fTransportProtocol.kNearFieldCommunication.

This results in device::U2fTransportProtocol now having the exact same
enumerators as webauth::mojom::AuthenticatorTransport, so a type mapping
is also added between the two enums.

Furthermore, as we do not yet support NFC discovery (the work has not
started yet, tracked by crbug.com/825949), the semantics of
FidoDiscovery::Create has been changed so that it is now allowed to
return nullptr for transports not supported on a platform.

TBR=jam@chromium.org

Bug:  785955 
Change-Id: Ia142504e0fd73200a96b4292be83debf1f1aa553
Reviewed-on: https://chromium-review.googlesource.com/980889
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547139}
[modify] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/content/browser/BUILD.gn
[modify] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/content/browser/webauth/OWNERS
[add] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/content/browser/webauth/authenticator_type_converters.cc
[add] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/content/browser/webauth/authenticator_type_converters.h
[modify] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/device/fido/fake_fido_discovery.cc
[modify] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/device/fido/fake_fido_discovery.h
[modify] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/device/fido/fido_discovery.cc
[modify] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/device/fido/u2f_request.cc
[modify] https://crrev.com/2b1540a5d902453f356f1892f9a7f9e4ed3c3b96/device/fido/u2f_transport_protocol.h

Project Member

Comment 21 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e

commit 00c5cea2e34cf7e17c2caee1d472cda77eae3e7e
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Mar 30 15:36:39 2018

Browser-side implementation of the Testing API.

The Web Authentication Testing API will allow bringing up a virtual
environment for the Web Authentication API. While the Testing API is
enabled, the Web Authentication API will be disconnected from the real
world and virtual authenticators can be set up and configured.

This will facilitate Chromium layout tests and also help Web developers
(relying parties) who wish to test their implementation as part of their
continuous integration testing, or who want to perform manual testing.

This CL is implementing the browser-side implementation, and its Mojo
interface that will be consumed by a JS shim layer in a follow-up CL to
implement the Testing API.

Bug:  785955 
Change-Id: Ia5ed46619bdf705661dacc5b4b000f97564074b3
Reviewed-on: https://chromium-review.googlesource.com/980890
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547167}
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/chrome/browser/about_flags.cc
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/BUILD.gn
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/DEPS
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/frame_host/render_frame_host_impl.cc
[add] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/webauth/scoped_virtual_authenticator_environment.cc
[add] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/webauth/scoped_virtual_authenticator_environment.h
[add] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/webauth/virtual_authenticator.cc
[add] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/webauth/virtual_authenticator.h
[add] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/webauth/virtual_discovery.cc
[add] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/browser/webauth/virtual_discovery.h
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/public/common/content_switches.cc
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/content/public/common/content_switches.h
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/device/fido/fido_discovery.cc
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/device/fido/fido_discovery.h
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/device/fido/u2f_sign_unittest.cc
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/device/fido/virtual_fido_device.cc
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/device/fido/virtual_fido_device.h
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/third_party/WebKit/public/platform/modules/webauth/virtual_authenticator.mojom
[modify] https://crrev.com/00c5cea2e34cf7e17c2caee1d472cda77eae3e7e/tools/metrics/histograms/enums.xml

Project Member

Comment 22 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a82bdb76536b5fce185734225128ca3ccb5a2e8c

commit a82bdb76536b5fce185734225128ca3ccb5a2e8c
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Mar 30 15:44:46 2018

JS shim-layer for the WebAuthn Testing API.

The Web Authentication Testing API will allow bringing up a virtual
environment for the Web Authentication API. While the Testing API is
enabled, the Web Authentication API will be disconnected from the real
world and virtual authenticators can be set up and configured.

This will facilitate Chromium layout tests and also help Web developers
(relying parties) who wish to test their implementation as part of their
continuous integration testing, or who want to perform manual testing.

This CL implements the renderer-side JS shim layer that consumes the
browser-side implementation through a Mojo API, and exposes it to layout
tests (and the Web with the flags below enabled) in a more easily
digestible format. For manual testing, follow these steps:

cd $CHROMIUM_SRC
third_party/WebKit/Tools/Scripts/run-blink-httpd
out/Release/chrome --enable-features=WebAuthentication \
  --enable-web-authentication-testing-api \
  --enable-blink-features=MojoJS \
  --enable-experimental-web-platform-features \
  http://localhost:8000/credentialmanager/tools/virtual-authenticator-environment-manual.html

As part of this CL, some layout tests have been updated to use the
virtualized API instead of the mocked out API, which allowed cleaning up
and simplifying these tests. This, however, resulted in these tests
requiring a working WebAuthn API implementation, so running layout tests
without the --enable-features=WebAuthn flag has now been fully disabled:
we now only run virtual/enable-webauthn layout tests.

Bug:  785955 
Change-Id: I92812e3c02ac901272848af8ea843c81c3c217f7
Reviewed-on: https://chromium-review.googlesource.com/982432
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547171}
[modify] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/content/shell/app/shell_main_delegate.cc
[modify] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/a1b68fd522584c38840cc4adc3396812e59f6809/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-create-from-nested-frame-expected.txt
[modify] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-create-from-nested-frame.html
[delete] https://crrev.com/a1b68fd522584c38840cc4adc3396812e59f6809/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-from-nested-frame-expected.txt
[modify] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-from-nested-frame.html
[add] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/register-then-sign.html
[add] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/nested-document-with-test-inputs.html
[delete] https://crrev.com/a1b68fd522584c38840cc4adc3396812e59f6809/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/nested-mock-authenticator-client.html
[modify] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/test-inputs.js
[add] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/virtual-navigator-credentials.js
[add] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/tools/virtual-authenticator-environment-manual.html
[add] https://crrev.com/a82bdb76536b5fce185734225128ca3ccb5a2e8c/third_party/WebKit/LayoutTests/http/tests/credentialmanager/virtual-navigator-credentials.html
[delete] https://crrev.com/a1b68fd522584c38840cc4adc3396812e59f6809/third_party/WebKit/LayoutTests/virtual/enable-webauthn/http/tests/credentialmanager/credentialscontainer-create-from-nested-frame-expected.txt
[delete] https://crrev.com/a1b68fd522584c38840cc4adc3396812e59f6809/third_party/WebKit/LayoutTests/virtual/enable-webauthn/http/tests/credentialmanager/credentialscontainer-get-from-nested-frame-expected.txt

Labels: M-67 Pri-1
Labels: Hotlist-WebAuthnFixit
Project Member

Comment 26 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/369740d6f94e501b8a59559fe360470631e31584

commit 369740d6f94e501b8a59559fe360470631e31584
Author: jdoerrie <jdoerrie@chromium.org>
Date: Mon Apr 16 09:23:54 2018

[fido] TestCallbackReceiver improvements

This change fixes a subtle bug in TestCallbackReceiver, renames
StatusCallbackReceiver to ValueCallbackReceiver and adds usages where
appropriate.

Bug:  785955 ,  799044 
Change-Id: Iac686ec59c48e33d75155e67d615a6bdb4c042a0
Reviewed-on: https://chromium-review.googlesource.com/1009744
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550954}
[modify] https://crrev.com/369740d6f94e501b8a59559fe360470631e31584/device/fido/fido_ble_connection_unittest.cc
[modify] https://crrev.com/369740d6f94e501b8a59559fe360470631e31584/device/fido/fido_ble_device_unittest.cc
[modify] https://crrev.com/369740d6f94e501b8a59559fe360470631e31584/device/fido/fido_hid_device_unittest.cc
[modify] https://crrev.com/369740d6f94e501b8a59559fe360470631e31584/device/fido/test_callback_receiver.h
[modify] https://crrev.com/369740d6f94e501b8a59559fe360470631e31584/device/fido/test_callback_receiver_unittest.cc
[modify] https://crrev.com/369740d6f94e501b8a59559fe360470631e31584/device/fido/u2f_request_unittest.cc

Do we consider this fixed?
Owner: ----
Status: Available (was: Started)
I still had a draft CL to conclude this, by now it might be easier to completely rewrite than to rebase:

https://chromium-review.googlesource.com/c/chromium/src/+/995420

Owner: kpaulhamus@chromium.org
Status: Fixed (was: Available)
Closing. Tracking the completion of end-to-end testing in https://bugs.chromium.org/p/chromium/issues/detail?id=922572

Sign in to add a comment