Reland "picker: add metrics for picker start session event"

This reverts commit a44812c4e96868b4542a1da861eafd82b378fa53.

Reason for revert: fixed the test failure in debug mode.

In debug mode, is_component_build is set to true, and because
structured_metrics_client is in a static_library target and picker is
in a component target (ash), structured_metrics_client was duplicated
when linked to ash and ash_unittest.

filed b/337961280 to the metrics team to properly fix the dependency
issue, for now as a work around, we created a static library target
only for session_metrics class.

Original change's description:
> Revert "picker: add metrics for picker start session event"
>
> This reverts commit 38779eb72240033519ac50acf8ac0c7976254450.
>
> Reason for revert:
> https://ci.chromium.org/ui/p/chromium/builders/ci/linux-chromeos-dbg/36291/overview
>
> Original change's description:
> > picker: add metrics for picker start session event
> >
> > Bug: b:322927522
> > Change-Id: Idcdedaf53c19c0dd9c11161119a120bd0d04c487
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5464640
> > Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
> > Reviewed-by: Jong Ahn <jongahn@chromium.org>
> > Reviewed-by: Darren Shen <shend@chromium.org>
> > Commit-Queue: Jing Wang <jiwan@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1291618}
>
> Bug: b:322927522
> Change-Id: Ib14cd23e75beb5fb57aa144fd3b24da58b0e8dd0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5481573
> Owners-Override: Jihad Hanna <jihadghanna@google.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Jihad Hanna <jihadghanna@google.com>
> Cr-Commit-Position: refs/heads/main@{#1291827}

Cq-Include-Trybots: luci.chromium.try:linux-chromeos-dbg
Bug: b:322927522
Change-Id: Ic620ff5031a8585538b31d74e04d2dae7a42bb6f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5493185
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Jing Wang <jiwan@chromium.org>
Reviewed-by: Jong Ahn <jongahn@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1295922}
8 files changed
tree: ac88c9667d29391739e240a24a23cdc160f42ff9
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia_web/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. media/
  31. mojo/
  32. native_client_sdk/
  33. net/
  34. pdf/
  35. ppapi/
  36. printing/
  37. remoting/
  38. rlz/
  39. sandbox/
  40. services/
  41. skia/
  42. sql/
  43. storage/
  44. styleguide/
  45. testing/
  46. third_party/
  47. tools/
  48. ui/
  49. url/
  50. webkit/
  51. .clang-format
  52. .clang-tidy
  53. .clangd
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitallowed
  57. .gitattributes
  58. .gitignore
  59. .gitmodules
  60. .gn
  61. .mailmap
  62. .rustfmt.toml
  63. .vpython3
  64. .yapfignore
  65. ATL_OWNERS
  66. AUTHORS
  67. BUILD.gn
  68. CODE_OF_CONDUCT.md
  69. codereview.settings
  70. CPPLINT.cfg
  71. DEPS
  72. DIR_METADATA
  73. LICENSE
  74. LICENSE.chromium_os
  75. OWNERS
  76. PRESUBMIT.py
  77. PRESUBMIT_test.py
  78. PRESUBMIT_test_mocks.py
  79. README.md
  80. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.