Allowlist any target which has a public header include a private header

This is part of the check_includes_strict lsc (https://docs.google.com/document/d/1zYUC_zuFrZozo9ogFHcf0Rzkiw9W7RVnaY-1fzfQ0AM/edit?usp=sharing)

These are more complex situations that will require nontrivial changes.

Generated via:
gn check out/linux-x64 --error-limit=999999 > /tmp/errors.txt
gn edit "set check_includes_strict:expr CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE" $(gn refs out/linux-x64 --default-toolchain $(grep "Public headers cannot include private headers of the same target" /tmp/errors.txt | egrep -o "//[^:]*" | sort | uniq))

Bug: 556959580
Change-Id: I903434ed32aad05fb3c27bc34fbd82f36a6a6964
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8413978
Auto-Submit: Matt Stark <msta@google.com>
Commit-Queue: Matt Stark <msta@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Owners-Override: Matt Stark <msta@google.com>
Reviewed-by: Junji Watanabe <jwata@google.com>
Cr-Commit-Position: refs/heads/main@{#1698638}
NOKEYCHECK=True
GitOrigin-RevId: 53fc0e5d3871e25e7e599a3fe66f46392c9b3a52
diff --git a/absl/container/BUILD.gn b/absl/container/BUILD.gn
index 5b0ec02..f54c4d9 100644
--- a/absl/container/BUILD.gn
+++ b/absl/container/BUILD.gn
@@ -753,6 +753,7 @@
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/types:compare",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_source_set("btree_test_common") {
@@ -851,6 +852,7 @@
     "//third_party/abseil-cpp/absl/base:hardening",
     "//third_party/abseil-cpp/absl/base:iterator_traits_internal",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("chunked_queue_test") {
diff --git a/absl/crc/BUILD.gn b/absl/crc/BUILD.gn
index 39d550a..f0c8e74 100644
--- a/absl/crc/BUILD.gn
+++ b/absl/crc/BUILD.gn
@@ -53,6 +53,7 @@
     "//third_party/abseil-cpp/absl/strings:str_format",
     "//third_party/abseil-cpp/absl/strings:string_view",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("crc32c_test") {
diff --git a/absl/functional/BUILD.gn b/absl/functional/BUILD.gn
index a6c6609..3b592b5 100644
--- a/absl/functional/BUILD.gn
+++ b/absl/functional/BUILD.gn
@@ -16,6 +16,7 @@
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("any_invocable_test") {
@@ -45,6 +46,7 @@
     "//third_party/abseil-cpp/absl/container:compressed_tuple",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("bind_back_test") {
@@ -64,6 +66,7 @@
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("bind_front_test") {
@@ -84,6 +87,7 @@
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("function_ref_test") {
diff --git a/absl/hash/BUILD.gn b/absl/hash/BUILD.gn
index f13af19..02ddb53 100644
--- a/absl/hash/BUILD.gn
+++ b/absl/hash/BUILD.gn
@@ -29,6 +29,7 @@
     "//third_party/abseil-cpp/absl/types:variant",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_source_set("hash_testing") {
diff --git a/absl/status/BUILD.gn b/absl/status/BUILD.gn
index ebdeb47..da5c6f1 100644
--- a/absl/status/BUILD.gn
+++ b/absl/status/BUILD.gn
@@ -41,6 +41,7 @@
     "//third_party/abseil-cpp/absl/types:source_location",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("status_test") {
@@ -78,6 +79,7 @@
     "//third_party/abseil-cpp/absl/types:variant",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("statusor_test") {
@@ -172,6 +174,7 @@
     "//third_party/googletest:gmock",
     "//third_party/googletest:gtest",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("status_matchers_test") {
diff --git a/absl/strings/BUILD.gn b/absl/strings/BUILD.gn
index 41e39bc..c639fa6 100644
--- a/absl/strings/BUILD.gn
+++ b/absl/strings/BUILD.gn
@@ -84,6 +84,7 @@
     # :string_view.
     ":string_view",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_source_set("internal") {
@@ -432,6 +433,7 @@
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_source_set("cordz_handle") {
@@ -1019,6 +1021,7 @@
     "//third_party/abseil-cpp/absl/log/internal:container",
     "//third_party/abseil-cpp/absl/meta:requires",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("generic_printer_test") {
diff --git a/absl/types/BUILD.gn b/absl/types/BUILD.gn
index 644aea3..950008d 100644
--- a/absl/types/BUILD.gn
+++ b/absl/types/BUILD.gn
@@ -47,6 +47,7 @@
     "//third_party/abseil-cpp/absl/hash:weakly_mixed_integer",
     "//third_party/abseil-cpp/absl/meta:type_traits",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 absl_test("span_test") {
@@ -77,6 +78,7 @@
     "//third_party/abseil-cpp/absl/base:throw_delegate",
     "//third_party/abseil-cpp/absl/meta:type_traits",
   ]
+  check_includes_strict = CHECK_INCLUDES_STRICT_PUBLIC_INCLUDES_PRIVATE
 }
 
 # any_span_test is not ported because relies on RTTI