[cc/metrics] Fix ownership of shared memory for ukm data.

The shared memory used for transporting ukm smoothness data is owned on
the main-thread, but the write happens on the compositor thread. It is
possible for the main-thread to discard the shared memory, and the
compositor thread may still write to it in inopportune moments. To avoid
this race, transfer the ownership of the shared memory to the compositor
thread.

BUG=1134659

(cherry picked from commit 8feb9b9f6b687f409b6328c1b240852060496503)

Change-Id: I71df7ecc1393a0779c36b7d27a3496efb3bf2827
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2467356
Commit-Queue: Jonathan Ross <[email protected]>
Auto-Submit: Sadrul Chowdhury <[email protected]>
Reviewed-by: Jonathan Ross <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#816572}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2468241
Reviewed-by: Sadrul Chowdhury <[email protected]>
Commit-Queue: Sadrul Chowdhury <[email protected]>
Cr-Commit-Position: refs/branch-heads/4280@{#344}
Cr-Branched-From: ea420fb963f9658c9969b6513c56b8f47efa1a2a-refs/heads/master@{#812852}
12 files changed
tree: 957b959b05406606512ccd5247f10579d656fbcb
  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. cloud_print/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. jingle/
  31. media/
  32. mojo/
  33. native_client_sdk/
  34. net/
  35. pdf/
  36. ppapi/
  37. printing/
  38. remoting/
  39. rlz/
  40. sandbox/
  41. services/
  42. skia/
  43. sql/
  44. storage/
  45. styleguide/
  46. testing/
  47. third_party/
  48. tools/
  49. ui/
  50. url/
  51. weblayer/
  52. .clang-format
  53. .clang-tidy
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitattributes
  57. .gitignore
  58. .gn
  59. .vpython
  60. .vpython3
  61. .yapfignore
  62. AUTHORS
  63. BUILD.gn
  64. CODE_OF_CONDUCT.md
  65. codereview.settings
  66. DEPS
  67. DIR_METADATA
  68. ENG_REVIEW_OWNERS
  69. LICENSE
  70. LICENSE.chromium_os
  71. OWNERS
  72. PRESUBMIT.py
  73. PRESUBMIT_test.py
  74. PRESUBMIT_test_mocks.py
  75. README.md
  76. 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.

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.