Make rtc_json poisonous in WebRTC

This does not help the attached bugs, but it does allow greater control
over what JSON code is running where. Long-term, the JSON library used
for parsing configuration should likely be a library already present
in Chromium builds, to avoid duplication. And if that happens, then
WebRTC bug 9804 may be passé.

Note that this CL also sorts our poisons alphabetically.

Bug: chromium:895814, webrtc:9804
Change-Id: I70c3efe05a0eba9212895407f73978d8216df920
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158400
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29615}
This commit is contained in:
Sam Zackrisson
2019-10-25 10:45:58 +02:00
committed by Commit Bot
parent 1a61739122
commit 492fdf40fe
4 changed files with 14 additions and 6 deletions

View File

@ -711,8 +711,11 @@ if (rtc_include_tests) {
group("poison_audio_codecs") {
}
group("poison_software_video_codecs") {
}
group("poison_default_task_queue") {
}
group("poison_rtc_json") {
}
group("poison_software_video_codecs") {
}

View File

@ -52,6 +52,7 @@ rtc_library("aec3_config") {
rtc_library("aec3_config_json") {
visibility = [ "*" ]
allow_poison = [ "rtc_json" ]
sources = [
"echo_canceller3_config_json.cc",
"echo_canceller3_config_json.h",

View File

@ -615,6 +615,7 @@ config("rtc_json_suppressions") {
rtc_library("rtc_json") {
public_configs = [ ":rtc_json_suppressions" ]
poisonous = [ "rtc_json" ]
defines = []
sources = [
"strings/json.cc",

View File

@ -366,11 +366,14 @@ all_poison_types = [
# Encoders and decoders for specific audio codecs such as Opus and iSAC.
"audio_codecs",
# Software video codecs (VP8 and VP9 through libvpx).
"software_video_codecs",
# Default task queue implementation.
"default_task_queue",
# JSON parsing should not be needed in the "slim and modular" WebRTC.
"rtc_json",
# Software video codecs (VP8 and VP9 through libvpx).
"software_video_codecs",
]
absl_include_config = "//third_party/abseil-cpp:absl_include_config"