Reland "remove ThreadLocalStorage::StaticSlot"

This is a reland of 88a96c6e1b592b920cd00655b88225334c0c4541.

Original change's description:
> remove ThreadLocalStorage::StaticSlot
>
> in favor of the pattern with
> NoDestructor<ThreadLocalStorage::Slot> as discussed on PS1 @
> https://chromium-review.googlesource.com/c/chromium/src/+/881017/1
>
> StaticSlot has been subject to a possible initialization race:
> CHECK_NE(slot_, kInvalidSlotValue) in StaticSlot::Initialize
> could fail if another thread initialized it to kInvalidSlotValue
>
> Change-Id: Iefaa1dde6f85842d20561851a9a26ad5f3a20973
> Reviewed-on: https://chromium-review.googlesource.com/881017
> Reviewed-by: Erik Chen <erikchen@chromium.org>
> Reviewed-by: Miriam Gershenson <mgersh@chromium.org>
> Reviewed-by: Robert Sesek <rsesek@chromium.org>
> Reviewed-by: Peter Kasting <pkasting@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#537009}

TBR=gab@chromium.org (already reviewed by others in original CL)

Change-Id: I5675a9fe38d09486489155f897d602c87e008bb4
Reviewed-on: https://chromium-review.googlesource.com/924001
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537681}

CrOS-Libchrome-Original-Commit: fd6d802597d97fa206271a941575f0ebb5fd8df8
6 files changed
tree: b1a9894e833aca344d70f14f39bfffdd55ca6f00
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/