Don't use base::internal:: APIs outside base/.

Instead, clean up the existing haphazard traits/concepts so they are
consistent, and make them available outside ::internal.

Bug: 364987728
Change-Id: Ic723a28cac9c79dc45954f4b3ce3e21895f5aa9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6094614
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1397723}
NOKEYCHECK=True
GitOrigin-RevId: 5e29968dfc89b85613925dc071030c811414ac5f
2 files changed