[Autofill] Remove in-memory database logic for account storage

Now that implicit sign-in is deprecated and all signed-in users have
been migrated to explicit sign-in, the autofill account database
should always be persisted on disk.

This CL:
- Removes ShouldUseInMemoryAutofillAccountDatabase() and its associated
  logic in WebDataServiceFactory.
- Removes the 'use_in_memory_autofill_account_database' parameter from
  WebDataServiceWrapper.
- Removes the WebDatabase.AutofillAccountStorage histogram and its
  associated enum, as the storage decision is no longer dynamic.
- Updates iOS and unit tests to reflect the simplified constructor.

OBSOLETE_HISTOGRAM[WebDatabase.AutofillAccountStorage]=web database used for autofill account data is always on disk.

Bug: 475822503
Change-Id: Ifda89d90892cdc12fd5d7b5736cdbe2c1f80ce96
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7572768
Commit-Queue: Gauthier Ambard <[email protected]>
Reviewed-by: Marc Treib <[email protected]>
Reviewed-by: Florian Leimgruber <[email protected]>
Reviewed-by: Gauthier Ambard <[email protected]>
Commit-Queue: Monica Salama <[email protected]>
Auto-Submit: Monica Salama <[email protected]>
Reviewed-by: Will Harris <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1585803}
NOKEYCHECK=True
GitOrigin-RevId: 97266e2966e3cc0a0c8de1dfbb499c63bef2b44c
2 files changed
tree: 5efc35c8a60496f2f2dc9c798fcfb43cae9d4685
  1. accessibility/
  2. aggregation_service/
  3. android/
  4. autotest/
  5. bedrock/
  6. binary_size/
  7. bisect/
  8. bisect_repackage/
  9. captured_sites/
  10. cast3p/
  11. cfi/
  12. check_ecs_deps/
  13. checkbins/
  14. checkperms/
  15. checkteamtags/
  16. chrome_extensions/
  17. chromeos/
  18. clang/
  19. code_cache_generator/
  20. code_coverage/
  21. codeql/
  22. compile_test/
  23. cr/
  24. crates/
  25. cros/
  26. cygprofile/
  27. determinism/
  28. disable_tests/
  29. dromaeo_benchmark_runner/
  30. dump_process_memory/
  31. emacs/
  32. find_runtime_symbols/
  33. flags/
  34. flakiness/
  35. fuchsia/
  36. gdb/
  37. generate_library_loader/
  38. generate_shim_headers/
  39. generate_stubs/
  40. gerrit/
  41. get_asan_chrome/
  42. get_swarming_logs/
  43. git/
  44. gn/
  45. grd/
  46. grit/
  47. gritsettings/
  48. idl_parser/
  49. imagediff/
  50. infra/
  51. ininja/
  52. interactive_ui_tests/
  53. ipc_fuzzer/
  54. jj/
  55. json_comment_eater/
  56. json_data_generator/
  57. json_schema_compiler/
  58. json_to_struct/
  59. l10n/
  60. licenses/
  61. linux/
  62. lldb/
  63. mac/
  64. mb/
  65. md_browser/
  66. media_engagement_preload/
  67. memory/
  68. metrics/
  69. msan/
  70. nix/
  71. nocompile/
  72. oobe/
  73. origin_trials/
  74. perf/
  75. perfbot-analysis/
  76. pervasive_resources/
  77. pgo/
  78. pixel_test/
  79. polymer/
  80. profiling/
  81. protoc_wrapper/
  82. python/
  83. real_world_impact/
  84. resources/
  85. rust/
  86. site_compare/
  87. strict_enum_value_checker/
  88. style_variable_generator/
  89. sublime/
  90. symsrc/
  91. test_selection/
  92. traceline/
  93. tracing/
  94. traffic_annotation/
  95. translation/
  96. typescript/
  97. ubsan/
  98. usb_gadget/
  99. utr/
  100. v8_context_snapshot/
  101. valgrind/
  102. variations/
  103. vim/
  104. visual_debugger/
  105. vscode/
  106. warning_analysis/
  107. web_bluetooth/
  108. web_dev_style/
  109. whats_new/
  110. win/
  111. .gitignore
  112. .style.yapf
  113. add_header.py
  114. add_header_test.py
  115. apply_cpplint_header_guard.py
  116. auto-nav.py
  117. autotest.py
  118. bash-completion
  119. bisect-builds.py
  120. bisect_test.py
  121. boilerplate.py
  122. buildstate.bat
  123. buildstate.py
  124. check_git_config.py
  125. check_grd_for_unused_strings.py
  126. clang-format-js
  127. DEPS
  128. diagnose-me.py
  129. DIR_METADATA
  130. download_optimization_profile.py
  131. hresult_to_enum.py
  132. include_tracer.py
  133. ipc_messages_log.py
  134. make_gtest_filter.py
  135. make_gtest_filter_test.py
  136. mojo_messages_log.py
  137. multi_process_rss.py
  138. omahaproxy.py
  139. OWNERS
  140. perry.py
  141. PRESUBMIT.py
  142. README.md
  143. remove_stale_files.py
  144. remove_stale_pyc_files.py
  145. roll_webgl_conformance.py
  146. run-swarmed.py
  147. sample_clang_tidy_results.py
  148. sort_sources.py
  149. uberblame.py
  150. unused-symbols-report.py
  151. update_pgo_profiles.py
  152. yes_no.py
README.md

Overview of the //tools Directory

This document provides a high-level guide to the scripts and utilities in the //tools directory. Its purpose is to improve the discoverability of these tools for both human developers and AI assistants.

Many tools have their own README.md files with more detailed information.

Tool Categories

Build & Compilation

  • gn/: Contains helper scripts for the GN meta-build system.
  • grit/: The Google Resource and Internationalization Tool. Used for processing .grd files, which contain strings, images, and other resources that are compiled into the binary. See grit/README.md for details.
  • json_schema_compiler/: A tool that takes a JSON schema as input and generates C++ classes for serialization and deserialization.
  • mb/: The Meta-Build wrapper. A Python script that wraps GN argument generation and Ninja invocation for different configurations. See the user_guide.md for more.
  • pgo/: Tools for Profile-Guided Optimization.

Code Analysis & Formatting

  • clang/: Contains scripts for managing and using the Clang compiler and its related tools, such as clang-format and clang-tidy.
  • checklicenses/: A script to check that all third-party code has an appropriate license. See licenses/README.md.
  • pylint/: Scripts for running Python lint checks.
  • code_analysis/: A directory for helper scripts that perform static analysis on the codebase.
    • find_mojo_implementations.py: A script to find the C++ classes that implement a given Mojo interface.
  • uberblame.py: A powerful tool for assigning blame for code changes.

Testing & Test Management

  • bisect/: Home of bisect-builds.py, a powerful script for automatically bisecting a regression by downloading pre-built revisions of Chrome.
  • perf/: The primary location for performance testing tools and test suites. This is a large and complex area of the codebase.
  • run-swarmed.py: A script for running tests on the Swarming distributed testing infrastructure.
  • flakiness/: Tools for dealing with test flakiness. See flakiness/README.md.

Dependency Management

  • Note: Most dependency management is handled by depot_tools, which is not in this directory. However, some in-tree tools exist.
  • crates/: Scripts for managing third-party Rust libraries (crates) from crates.io.

Performance Analysis & Debugging

  • profiling/: Contains various scripts for profiling and analyzing performance, including heap and CPU profilers.
  • memory/: Tools specifically for memory analysis, such as scripts for investigating memory leaks.
  • binary_size/: Scripts for analyzing and diagnosing the binary size of Chrome.
  • tracing/: Scripts for analyzing performance traces. See tracing/README.md.
  • gdb/: GDB-related tools and scripts. See gdb/README.md.
  • valgrind/: Valgrind-related tools and suppressions. See valgrind/README.md.
  • symsrc/: Tools for managing symbols and source indexing. See symsrc/README.chromium.

Metrics & Telemetry

WebUI

  • style_variable_generator/: Tools for generating C++ files from CSS variables. See style_variable_generator/README.md.
  • typescript/: Tools for working with TypeScript in WebUI.

Developer Workflow

  • cr/: A wrapper for many common developer commands. See cr/README.

Platform-Specific Utilities

  • android/: Tools specific to the Android build and development process.
  • chromeos/: Tools specific to ChromeOS development.
  • fuchsia/: Tools specific to Fuchsia development.
  • mac/: Tools specific to macOS development.
  • win/: Tools specific to Windows development.