Reland "Make sure Chromium will pick the correct field_trial/metric impl."

This is a reland of 8dc280d804bc49932f429955b27ff385054ddfa0

Original change's description:
> Make sure Chromium will pick the correct field_trial/metric impl.
> 
> Chromium wants to pick its own field_trial and metrics implementation,
> and WebRTC has an escape hatch to let it remove the definition of these
> symbols. This obviously causes liker errors if Chromium will not pick
> the correct dependency (which cannot be forced by GN check since there
> is no header inclusion).
> 
> Instead of hoping that the build target with the correct implementation
> will be added as a dependency somewhere in the build graph, this CL
> wants to explicitly add the dependency as close as possible to the
> headers, so if they are included and WebRTC is built as part of Chromium
> the correct implementation will be linked into the binary.
> 
> Bug: webrtc:9631
> Change-Id: I2d1cfe541726341adfdf81e14e036464aa003d4d
> Reviewed-on: https://webrtc-review.googlesource.com/c/107040
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25269}

Bug: webrtc:9631
Change-Id: I9b6e6f3f91881e8e3fa8bc6e97f797e8b7e4e4ca
Reviewed-on: https://webrtc-review.googlesource.com/c/107163
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25281}
This commit is contained in:
Mirko Bonadei
2018-10-19 17:17:34 +02:00
committed by Commit Bot
parent 648d28ad62
commit 9acf1c1f54

View File

@ -105,6 +105,16 @@ rtc_source_set("field_trial") {
if (rtc_exclude_field_trial_default) {
defines = [ "WEBRTC_EXCLUDE_FIELD_TRIAL_DEFAULT" ]
}
if (build_with_chromium) {
# When WebRTC is built as part of Chromium it should exclude the default
# implementation of field_trial unless it is building for NACL or
# Chromecast.
if (!is_nacl && !is_chromecast) {
deps = [
"../../webrtc_overrides:field_trial",
]
}
}
}
rtc_source_set("metrics") {
@ -123,6 +133,9 @@ rtc_source_set("metrics") {
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
if (build_with_chromium) {
deps += [ "../../webrtc_overrides:metrics" ]
}
}
if (is_android && !build_with_mozilla) {