Require explicit selection of traits for LazyInstance

This change requires the user of LazyInstance to explicitly select
either ::DestructorAtExit or ::Leaky. It seems clear that many users of
LazyInstance have just gone with default and are either unaware or
didn't consider that the default requires running an AtExit at process
shutdown.

As a first step, make this choice explicit, and update current users
to be ::DestructorAtExit to maintain current behaviour. Follow ups can
then attempt to consider individual switches from DestructorAtExit to
Leaky including reviewers with domain-specific knowledge.

i.e. No intended behaviour change from this CL.

R=thakis@chromium.org

Lots of TBRs for mechanical changes:
boliu: android_webview/
danakj: cc/
dmurph: storage/
jam: content/ ipc/, mojo/
jbauman: gpu/
jochen: gin/
oshima: chromeos/
raymes: ppapi/
rdevlin.cronin: extensions/
rockot: device/, services/
rogerta: google_apis/
rsleevi: net/, crypto/
sdefresne: components/, ios/
sergeyu: jingle/
slan: chromecast/
thakis: base/, chrome/, third_party/, tools/, ui/
vitalybuka: printing/
wez: remoting/

TBR=above
BUG=698982
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2733283002
Cr-Original-Commit-Position: refs/heads/master@{#455405}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5e65e3a4fbb5d4815760fc9b31f3bb5fb81bfbc9
1 file changed
tree: 179b0cd2fa68c50aab0cf982525322f052d40d79
  1. aead.cc
  2. aead.h
  3. aead_unittest.cc
  4. apple_keychain.h
  5. apple_keychain_ios.mm
  6. apple_keychain_mac.mm
  7. BUILD.gn
  8. capi_util.cc
  9. capi_util.h
  10. crypto_export.h
  11. cssm_init.cc
  12. cssm_init.h
  13. DEPS
  14. ec_private_key.cc
  15. ec_private_key.h
  16. ec_private_key_unittest.cc
  17. ec_signature_creator.cc
  18. ec_signature_creator.h
  19. ec_signature_creator_impl.cc
  20. ec_signature_creator_impl.h
  21. ec_signature_creator_unittest.cc
  22. encryptor.cc
  23. encryptor.h
  24. encryptor_unittest.cc
  25. hkdf.cc
  26. hkdf.h
  27. hkdf_unittest.cc
  28. hmac.cc
  29. hmac.h
  30. hmac_unittest.cc
  31. mac_security_services_lock.cc
  32. mac_security_services_lock.h
  33. mock_apple_keychain.cc
  34. mock_apple_keychain.h
  35. mock_apple_keychain_ios.cc
  36. mock_apple_keychain_mac.cc
  37. nss_crypto_module_delegate.h
  38. nss_key_util.cc
  39. nss_key_util.h
  40. nss_key_util_unittest.cc
  41. nss_util.cc
  42. nss_util.h
  43. nss_util_internal.h
  44. nss_util_unittest.cc
  45. openssl_util.cc
  46. openssl_util.h
  47. OWNERS
  48. p224.cc
  49. p224.h
  50. p224_spake.cc
  51. p224_spake.h
  52. p224_spake_unittest.cc
  53. p224_unittest.cc
  54. random.cc
  55. random.h
  56. random_unittest.cc
  57. rsa_private_key.cc
  58. rsa_private_key.h
  59. rsa_private_key_unittest.cc
  60. scoped_capi_types.h
  61. scoped_nss_types.h
  62. scoped_test_nss_chromeos_user.cc
  63. scoped_test_nss_chromeos_user.h
  64. scoped_test_nss_db.cc
  65. scoped_test_nss_db.h
  66. scoped_test_system_nss_key_slot.cc
  67. scoped_test_system_nss_key_slot.h
  68. secure_hash.cc
  69. secure_hash.h
  70. secure_hash_unittest.cc
  71. secure_util.cc
  72. secure_util.h
  73. sha2.cc
  74. sha2.h
  75. sha2_unittest.cc
  76. signature_creator.cc
  77. signature_creator.h
  78. signature_creator_unittest.cc
  79. signature_verifier.cc
  80. signature_verifier.h
  81. signature_verifier_unittest.cc
  82. symmetric_key.cc
  83. symmetric_key.h
  84. symmetric_key_unittest.cc
  85. wincrypt_shim.h