If a WebRTC build target requires gmock it has to include
test/gmock.h and just depend on //test:test_support.
Unfortunately //testtest_support was a leaky abstraction because it
wasn't propagating the correct -I compiler flag. To make everything
work, all the targets that use gmock started also to depend on
//testing/gmock (even if they were not including any gmock header
directly).
This CL makes //testtest_support propagate the include path up in the
dependency chain so it is possible to remove unused dependencies.
Note: all_dependent_configs should probably be used in the original
gmock target. There is an ongoing discussion about it. This CL solves
the problem on WebRTC side and it is forward compatible.
TBR=phoglund@webrtc.org
Bug: webrtc:8603
Change-Id: If08daf2ce9a6431a6e881a236743b4ec33b59ea7
Reviewed-on: https://webrtc-review.googlesource.com/44340
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21776}
Other headers, such as the libc++ headers, may depend on the
definition.
Bug: chromium:801780
Change-Id: I81e00708e08ab21b9456a8ed46ca7a1c1d4f7e50
Reviewed-on: https://webrtc-review.googlesource.com/43501
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Peter Collingbourne <pcc@google.com>
Cr-Commit-Position: refs/heads/master@{#21768}
"tun", "utun" and "tap" interfaces will now be assumed to be VPNs, if
the type is otherwise unknown.
This CL also moves GetAdapterTypeFromName out of BasicNetworkManager,
so that other network manager classes (e.g., the one in Chromium) can
use it too.
Bug: chromium:805759
Change-Id: I9988619666e2a9449cf5c089d24cf7d3afde8239
Reviewed-on: https://webrtc-review.googlesource.com/43580
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21767}
On Chrome Remote Desktop for iOS, if all of these are true:
* Enable the PORTALLOCATOR_DISABLE_COSTLY_NETWORKS flag.
* Connect an iPhone to a Mac.
* Turn off WiFi on the iPhone and keep mobile data on.
* Connect to a host on a different network from iPhone.
Then the connection can never succeed. The reason is that iOS uses a
special network interface with link-local IP to communicate with the Mac.
BasicPortAllocator sees that interface and thinks it costs less than the
cellular networks, then it removes all cellular networks. However, that
link-local network cannot connect to a peer on external network.
This CL changes the behavior of the PORTALLOCATOR_DISABLE_COSTLY_NETWORKS
so that it ignores the cost of link-local networks when determining the
lowest network cost.
Bug: webrtc:8780
Change-Id: I9bde50426b356fdbf89d4b826fc7b28c8c523c10
Reviewed-on: https://webrtc-review.googlesource.com/41460
Commit-Queue: Yuwei Huang <yuweih@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21738}
Various places are using "memset(ptr, 0, size)" which might get optimized
away by the compiler if "ptr" is not used afterwards. The new functions
can be used to securely clear memory instead.
Bug: None
Change-Id: I067a51d17ff84d95dc4934d46a24027fbcb4825d
Reviewed-on: https://webrtc-review.googlesource.com/35500
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21706}
rtc_build_ssl is defined to be !build_with_mozilla, but we have
tautological if conditions involving both. This removes the offending
clauses for now. It makes more sense to address the problem during the
next import of webrtc.org code into Firefox.
Bug: webrtc:8670
Change-Id: I586deb7c33566efae6bb6380c9d4ae61a0fe1c37
Reviewed-on: https://webrtc-review.googlesource.com/39960
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Dan Minor <dminor@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21662}
This will be overridden in Chromium in a future CL and following that,
used inside of WebRTC as needed while issues with blocking events are
being fixed.
Bug: chromium:796889, chromium:795340
Change-Id: I098a03d9bad621f1349ef483b82e4d8e786a8a75
Reviewed-on: https://webrtc-review.googlesource.com/40140
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21659}
This replaces most of the existing dependencies on the application
limited region(ALR) detector. This is to achieve a greater separation of
concerns and will make further refactoring regarding the ALR Detector
less invasive on other parts of the code base.
Bug: webrtc:8415
Change-Id: I92912254c6d02285cce6a88f6789f0ac94794c88
Reviewed-on: https://webrtc-review.googlesource.com/37560
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21598}
This appears to be a deprecated android function (available only for
__ANDROID_API__ < 21), and it's been reported to cause performance
problems on certain android devices (see bug for details).
Bug: webrtc:8722
Change-Id: I7ef4b6f98c4910246007ce1e262884c84b5f0efa
Reviewed-on: https://webrtc-review.googlesource.com/38700
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21572}
This reverts commit c73e1f437889d882cbf2987f7fb3a029a6150613.
Reason for revert:
The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660
Original change's description:
> Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""
>
> This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16.
>
> Reason for revert:
>
> Breaks Chrome FYI:
>
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
> -> returned 1
> ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
> static_library(target_name) {
> ^----------------------------
> The item //content/renderer:renderer
> can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
> because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
> //third_party/webrtc/*
> //third_party/webrtc_overrides/*
> ]
>
> https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
>
> Original change's description:
> > GN rtc_* templates: Set default visibility to webrtc_root + "/*"
> >
> > This means that by default, targets are visible to everything under
> > the WebRTC root, but not visible to anything else.
> >
> > API targets are manually tagged with visibility "*", so that targets
> > outside the WebRTC tree can see them.
> >
> > BUG=webrtc:8254
> >
> > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> > Reviewed-on: https://webrtc-review.googlesource.com/24140
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21548}
>
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
>
> Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8254
> Reviewed-on: https://webrtc-review.googlesource.com/38760
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21555}
TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org
Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38860
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21558}
This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16.
Reason for revert:
Breaks Chrome FYI:
/b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
-> returned 1
ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
static_library(target_name) {
^----------------------------
The item //content/renderer:renderer
can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
//third_party/webrtc/*
//third_party/webrtc_overrides/*
]
https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
Original change's description:
> GN rtc_* templates: Set default visibility to webrtc_root + "/*"
>
> This means that by default, targets are visible to everything under
> the WebRTC root, but not visible to anything else.
>
> API targets are manually tagged with visibility "*", so that targets
> outside the WebRTC tree can see them.
>
> BUG=webrtc:8254
>
> Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> Reviewed-on: https://webrtc-review.googlesource.com/24140
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21548}
TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38760
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21555}
This means that by default, targets are visible to everything under
the WebRTC root, but not visible to anything else.
API targets are manually tagged with visibility "*", so that targets
outside the WebRTC tree can see them.
BUG=webrtc:8254
Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
Reviewed-on: https://webrtc-review.googlesource.com/24140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21548}
This was causing ICE pings to continue going out on PeerConnections
that use DataChannels, even after closing the PeerConnection.
This CL adds a two-line fix, and an integration test that will catch
this and similar issues.
Bug: webrtc:7655
Change-Id: I589a2a1aaf6433c1d65be69a1267e1b52a33534b
Reviewed-on: https://webrtc-review.googlesource.com/37145
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21488}
Desktop capturing on Linux will be disabled in this case, but everything
can be built without any X11 development libraries installed.
BUG=webrtc:5716,webrtc:8319
Change-Id: I01bd6a4b02816b407be19476e22ff073d264b496
Reviewed-on: https://webrtc-review.googlesource.com/32360
Reviewed-by: Henrik Andreassson (OOO until Jan 2) <henrika@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21462}
It is used only by the test-only http server code.
Bug: webrtc:6424
Change-Id: Id7120ed1ded6773f98472526e8fa282cf0a423e8
Reviewed-on: https://webrtc-review.googlesource.com/33401
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21313}
One reason for the circular deps is that common_types.h is a
historical dumping ground for various structs and defines that
are believed to be generally useful. I tried moving things out
that did not appear to be used downstream (StreamCounters,
RtpCounters etc) and moved the things that seemed used
(RtpHeader + supporting structs) to a new file api/rtp_headers.h.
This makes their place in the api more clear while moving out
the things that don't belong in the API in the first place.
I had to extract out typedefs.h from webrtc_common to resolve
another circular dependency. I believe checks includes typedefs,
but common depends on checks.
Bug: webrtc:7745
Change-Id: I725d49616b1ec0cdc8b74be7c078f7a4d46f084b
Reviewed-on: https://webrtc-review.googlesource.com/33001
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21295}
This splits things out of rtc_base and makes dependencies explicit.
Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
This splits things out of rtc_base and makes dependencies explicit.
Bug: webrtc:6828
Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
Reviewed-on: https://webrtc-review.googlesource.com/31940
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21245}
1. Added WEBRTC_FUCHSIA define.
2. Added PlatformThreadId typedef for Fuchsia.
3. Updated ifdefs for _strnicmp()/strncasecmd(), so _strnicmp()
is used on all platforms
3. Updated ifdefs in clock.cc to avoid invalid assumption that
POSIX = LINUX || MAC .
Bug: chromium:750940
Change-Id: Id7aa98e017f467bcebb78a0b298ba91655502072
Reviewed-on: https://webrtc-review.googlesource.com/31641
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21233}
In order to support WinUWP platform, all main(..) routines must be normalized to the formal int main(int argc, char* argv[]) form. A platform wrapper main is auto-created linking against the default main(...). This can only work if the linkage is exactly matching the proper formal definition and not a loosely defined main(...) alternative.
Bug: webrtc:8608
Change-Id: I606663aaea7df1792c7c5636279617b8926fa5cc
Reviewed-on: https://webrtc-review.googlesource.com/28721
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21229}
Also delete a few unused private members of UnixFilesystem.
Bug: webrtc:6424
Change-Id: Ib52f2d877690159d197fe767fd04a0d1ade7eb1a
Reviewed-on: https://webrtc-review.googlesource.com/30301
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21148}
The comment is backwards. BoringSSL has SSL_CIPHER_standard_name, but
because it is usually not available in OpenSSL, you have to do it
manually. (The code in question is not compiled in BoringSSL.)
Bug: none
Change-Id: If294937afc75d0b0bd3107fd5c57a85c6252f188
Reviewed-on: https://webrtc-review.googlesource.com/28380
Commit-Queue: David Benjamin <davidben@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21146}