If //contents/browser wanted to start using //device/fido:test_support, 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.
We should make //device/fido a `component` instead of a `source_set`.
Comment 1 by bugdroid1@chromium.org
, Mar 12 2018