Commit Graph

667 Commits

Author SHA1 Message Date
e19cf59eb6 Remove the rtc_relative_path GYP variable and similar defines
The defines that can be used to alter the include paths for Expat, SRTP
and gtest are no longer needed in WebRTC or Chromium. Let's remove them
to simplify the GYP a little.

Removed defines:
EXPAT_RELATIVE_PATH
GTEST_RELATIVE_PATH
SRTP_RELATIVE_PATH

They're all set in the Chromium build so this shouldn't affect Chromium:
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle.gyp

BUG=webrtc:4256
NOTRY=True
NOPRESUBMIT=True

Review URL: https://codereview.webrtc.org/1903553003

Cr-Commit-Position: refs/heads/master@{#12467}
2016-04-22 11:41:55 +00:00
de3b02916e Add links for base/third_party/libevent from Chrome.
This is needed for an upcoming task queue implementation.
The location of this folder was recently moved under base/ in Chromium, so I'm wondering if that's really the best way to do this for WebRTC as well.

NOTRY=True

Review URL: https://codereview.webrtc.org/1909223004

Cr-Commit-Position: refs/heads/master@{#12465}
2016-04-22 08:47:10 +00:00
e8be6ff65d Add last error to fatal error messages.
This requires including logging.h, which in turn pointed out a problem with our 'LOG_TAG' macro, so that macro is now renamed.

BUG=

Review URL: https://codereview.webrtc.org/1911903002

Cr-Commit-Position: refs/heads/master@{#12464}
2016-04-22 08:22:29 +00:00
1a0c4611d7 Fix compilation of rtc_base_objc on iOS when building as part of Chromium.
When building as part of Chromium, webrtc/base/logging.h is overridden
by webrtc_overrides/webrtc/base/logging.h that uses Chromium logging
macros.

The implementation of webrtc/base/objc/RTCFileLogger.{h,mm} however has
dependency on the webrtc implementation of logging as it define a class
that inherits from rtc::LogSink. Since the class does not exists when
the overrides are used, the file fails compilation.

Fixes the compilation for iOS as part of Chromium by not compiling the
file webrtc/base/objc/RTCFileLogger.{h,mm} in that configuration.

BUG=459705

Review URL: https://codereview.webrtc.org/1898283002

Cr-Commit-Position: refs/heads/master@{#12438}
2016-04-20 08:45:03 +00:00
0e533ef487 Update the call when the network route changes
so that BWE can be updated promptly.

BUG=webrtc:5726
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@google.com, pthatcher@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1844773002 .

Cr-Commit-Position: refs/heads/master@{#12432}
2016-04-19 22:41:53 +00:00
8b577ed531 Mark public ObjC APIs as explicitly visible.
BUG=

Review URL: https://codereview.webrtc.org/1899573002

Cr-Commit-Position: refs/heads/master@{#12431}
2016-04-19 17:04:46 +00:00
470dd37b41 Roll chromium_revision 212f976fef..61ed337cfe (387882:388120)
https://codereview.chromium.org/1826693002 enables some
more Clang warnings which were fixed.

Change log: 212f976fef..61ed337cfe
Full diff: 212f976fef..61ed337cfe

No dependencies changed.
No update to Clang.

TBR=
NOTRY=True

Review URL: https://codereview.webrtc.org/1896953004

Cr-Commit-Position: refs/heads/master@{#12422}
2016-04-19 10:03:31 +00:00
af83fe65d9 GetDefaultLocalAddress should return the bestIP
on an IPv6 network that contains the actual default local address. This is for preventing potential IP leaking.

BUG=webrtc:5376

Review URL: https://codereview.webrtc.org/1837823005

Cr-Commit-Position: refs/heads/master@{#12417}
2016-04-18 21:50:51 +00:00
7f7a81991e Remove use_openssl from webrtc
This reverts revision 20001 and removes other instances of use_openssl
since Chromium is removing the use_openssl flag and iOS no longer ships
with NSS as of https://crrev.com/387011.

BUG=chromium:601042
R=perkj@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1884233002

Cr-Commit-Position: refs/heads/master@{#12414}
2016-04-18 18:13:17 +00:00
da3a1da9b1 RTCCertificateGenerator added.
This is a new way of generating RTCCertificate objects that is meant
to replace DtlsIdentityStoreInterface and all of its implementations
(clean up work).
It is similar to the identity store in that it generates on the worker
thread and does callback on the signaling thread, but:
- It does not generate identities in the background that you did not
  ask for (preemptive generation made more sense before certificates
  were parameterized, not so much anymore, and ECDSA which will be most
  common takes like <=2 ms to generate).
- As such this code is less complicated than the store's code.
- The API is different, it takes Optional<uint64_t> expires and it
  returns RTCCertificates, not SSLIdentities.
- It supports a blocking version of GenerateCertificate that can be
  called from any thread, necessary for Chrome which can generate
  certificates before the signaling/worker threads have been
  initialized as WebRTC-threads (Chrome can invoke this version on
  the worker thread outside of WebRTC).

This CL does not remove the identity store, only adds the alternative.
Follow-up CLs will start using it, the store will be removed once it
is no longer used anywhere.

BUG=webrtc:5707, webrtc:5708
R=hta@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1883813002 .

Cr-Commit-Position: refs/heads/master@{#12381}
2016-04-15 15:55:30 +00:00
6ca0a31708 We no longer use compilers that can't =default move construction and assignment
Review URL: https://codereview.webrtc.org/1891483006

Cr-Commit-Position: refs/heads/master@{#12376}
2016-04-15 12:25:03 +00:00
9a20fa6292 Add WriteUVarint to ByteBufferWriter and ReadUVarint to ByteBufferReader
Methods to write/read a varint as described by
https://developers.google.com/protocol-buffers/docs/encoding#varints
that will be used for a QUIC data channel.

Split from CL https://codereview.webrtc.org/1844803002/.

Review URL: https://codereview.webrtc.org/1844333006

Cr-Commit-Position: refs/heads/master@{#12322}
2016-04-11 23:11:47 +00:00
4b9d1dec5a OpenSSL/BoringSSL compatibility fixes.
With this CL, legacy OpenSSL should work again.

BUG=webrtc:5714

Review URL: https://codereview.webrtc.org/1868033005

Cr-Commit-Position: refs/heads/master@{#12300}
2016-04-09 18:35:35 +00:00
98bb6640d2 Added log messages for some important call setup events:
- First audio RTP packet sent / received
 - First RTP packet of the first video frame sent / received
 - Last RTP packet of the first video frame sent / received
These timestamps should make it easier to measure how fast the call
becomes established from the user's perspective.

Review URL: https://codereview.webrtc.org/1765443002

Cr-Commit-Position: refs/heads/master@{#12287}
2016-04-07 22:36:49 +00:00
aad6780e5c Protect some cipher suites with ifdefs for legacy openssl compatibility.
BUG=webrtc:5714

Review URL: https://codereview.webrtc.org/1851303002

Cr-Commit-Position: refs/heads/master@{#12284}
2016-04-07 15:55:33 +00:00
b0c293c5ab Delete unused code in rtc timeutils.
BUG=webrtc:5740

Review URL: https://codereview.webrtc.org/1859413002

Cr-Commit-Position: refs/heads/master@{#12275}
2016-04-07 09:12:12 +00:00
d31b664a6c Restore BoringSSL behavior for webrtc/base/BUILD.gn
In https://codereview.webrtc.org/1857163003 the openssl*
sources and the dependency on BoringSSL was moved out of
the use_openssl condition to make it similar to the GYP build.
Unfortunately this had unexpected side effects for the Chromium
build. See the referenced bug for more details.

This CL also fixes an incorrect move of the :ios_config dependency
that was spotted in https://codereview.webrtc.org/1857163003.

BUG=chromium:601042
R=perkj@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1862123002 .

Cr-Commit-Position: refs/heads/master@{#12264}
2016-04-06 15:18:51 +00:00
b4d01c4ded A bunch of interfaces: Return scoped_ptr<SSLCertificate>
Instead of using a raw pointer output parameter. This affects

  SSLStreamAdapter::GetPeerCertificate
  Transport::GetRemoteSSLCertificate
  TransportChannel::GetRemoteSSLCertificate
  TransportController::GetRemoteSSLCertificate
  WebRtcSession::GetRemoteSSLCertificate

This is a good idea in general, but will also be very convenient when
scoped_ptr is gone, since unique_ptr doesn't have an .accept() method.

BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1802013002

Cr-Commit-Position: refs/heads/master@{#12262}
2016-04-06 12:15:11 +00:00
c1dba73028 Remove .def files from GYP and GN in webrtc/base
This was previously done in https://webrtc-codereview.appspot.com/49969004
but was accidentally readded in https://codereview.webrtc.org/1857163003/
.def files breaks downstream since it's not a recognized file extension.

BUG=webrtc:4256
TBR=perkj@webrtc.org

Review URL: https://codereview.webrtc.org/1855373005 .

Cr-Commit-Position: refs/heads/master@{#12243}
2016-04-05 15:31:32 +00:00
a8a7ef6cf0 Reland of Cleanup webrtc/base/base.gyp (patchset #1 id:1 of https://codereview.webrtc.org/1856323003/ )
Reason for revert:
Creating template CL for reland

Original issue's description:
> Revert of Cleanup webrtc/base/base.gyp (patchset #2 id:80001 of https://codereview.webrtc.org/1859803002/ )
>
> Reason for revert:
> For some odd reason this breaks chromium.webrtc.fyi bots:
> ../../third_party/webrtc_overrides/webrtc/base/win32socketinit.cc:13:2: error: "Only compile this on Windows"
> #error "Only compile this on Windows"
>  ^
> 1 error generated.
>
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/11515/steps/compile/logs/stdio
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/4650/steps/compile/logs/stdio
>
> Original issue's description:
> > Cleanup webrtc/base/base.gyp
> >
> > * Remove all source exclusions since they make the file very hard to
> >   read and heavily increases the risk for mistakes.
> > * Don't compile the openssl* sources if use_openssl==0.
> > * Move platform specific sources into conditional includes to make it
> >   easier to verify a 1:1 mapping with BUILD.gn (since GN doesn't support
> >   automatic detection of platform specific sources based on filenames).
> > * Add missing sources for the GN build.
> > * Reorder some blocks to make GYP vs GN mapping match.
> >
> > BUG=webrtc:4256
> > R=perkj@webrtc.org, torbjorng@webrtc.org
> >
> > Committed: https://crrev.com/47f33cb28ffb0fa0f053ae0aa0086e11f85bf444
> > Cr-Commit-Position: refs/heads/master@{#12235}
>
> TBR=perkj@webrtc.org,torbjorng@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:4256
> NOTRY=True
>
> Committed: https://crrev.com/c8587ad92d394bfb60498df1209a3beb9017e001
> Cr-Commit-Position: refs/heads/master@{#12237}

TBR=perkj@webrtc.org,torbjorng@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4256

Review URL: https://codereview.webrtc.org/1857163003

Cr-Commit-Position: refs/heads/master@{#12242}
2016-04-05 15:13:36 +00:00
c8587ad92d Revert of Cleanup webrtc/base/base.gyp (patchset #2 id:80001 of https://codereview.webrtc.org/1859803002/ )
Reason for revert:
For some odd reason this breaks chromium.webrtc.fyi bots:
../../third_party/webrtc_overrides/webrtc/base/win32socketinit.cc:13:2: error: "Only compile this on Windows"
#error "Only compile this on Windows"
 ^
1 error generated.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/11515/steps/compile/logs/stdio
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/4650/steps/compile/logs/stdio

Original issue's description:
> Cleanup webrtc/base/base.gyp
>
> * Remove all source exclusions since they make the file very hard to
>   read and heavily increases the risk for mistakes.
> * Don't compile the openssl* sources if use_openssl==0.
> * Move platform specific sources into conditional includes to make it
>   easier to verify a 1:1 mapping with BUILD.gn (since GN doesn't support
>   automatic detection of platform specific sources based on filenames).
> * Add missing sources for the GN build.
> * Reorder some blocks to make GYP vs GN mapping match.
>
> BUG=webrtc:4256
> R=perkj@webrtc.org, torbjorng@webrtc.org
>
> Committed: https://crrev.com/47f33cb28ffb0fa0f053ae0aa0086e11f85bf444
> Cr-Commit-Position: refs/heads/master@{#12235}

TBR=perkj@webrtc.org,torbjorng@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:4256
NOTRY=True

Review URL: https://codereview.webrtc.org/1856323003

Cr-Commit-Position: refs/heads/master@{#12237}
2016-04-05 12:23:32 +00:00
47f33cb28f Cleanup webrtc/base/base.gyp
* Remove all source exclusions since they make the file very hard to
  read and heavily increases the risk for mistakes.
* Don't compile the openssl* sources if use_openssl==0.
* Move platform specific sources into conditional includes to make it
  easier to verify a 1:1 mapping with BUILD.gn (since GN doesn't support
  automatic detection of platform specific sources based on filenames).
* Add missing sources for the GN build.
* Reorder some blocks to make GYP vs GN mapping match.

BUG=webrtc:4256
R=perkj@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1859803002 .

Cr-Commit-Position: refs/heads/master@{#12235}
2016-04-05 11:28:52 +00:00
89717aad50 Improve iOS frame capture threading.
- Posts to WebRTC thread instead of Send
- Sample buffers are returned on capture session queue instead of main queue
- Camera switch happens on captures session queue

BUG=webrtc:5679, webrtc:4212

Review URL: https://codereview.webrtc.org/1838933004

Cr-Commit-Position: refs/heads/master@{#12186}
2016-04-01 00:14:09 +00:00
52dce73fac Add the last_sent_packet_id to the candidate pair change signal
so that the call knows which packet ids were sent on the previous candidate pair.
Note that packet_id is actually 16bits, so we can use -1 for values that are not set.

Also moved the tests for candidate pair changes to TestSelectConnectionBeforeNomination.

BUG=
R=deadbeef@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1842093002 .

Cr-Commit-Position: refs/heads/master@{#12184}
2016-03-31 19:37:40 +00:00
8b9ca953a4 Minor ObjC header updates.
BUG=

Review URL: https://codereview.webrtc.org/1845133002

Cr-Commit-Position: refs/heads/master@{#12183}
2016-03-31 19:08:12 +00:00
1d846b2acb This CL addresses late feedback on https://codereview.webrtc.org/1683193003/
BUG=
R=hbos@webrtc.org, perkj@webrtc.org

Review URL: https://codereview.webrtc.org/1844313002 .

Cr-Commit-Position: refs/heads/master@{#12179}
2016-03-31 14:21:14 +00:00
f1f87203d7 Split ByteBuffer into writer/reader objects.
This allows the reader to reference data, thus avoiding unnecessary
allocations and memory copies.

BUG=webrtc:5155,webrtc:5670

Review URL: https://codereview.webrtc.org/1821083002

Cr-Commit-Position: refs/heads/master@{#12160}
2016-03-30 13:43:44 +00:00
cc411c0599 Reset the BWE when the network changes.
Currently "Resetting the BWE" does nothing yet. This CL passes the correct signaling to the bandwidth estimator.

BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1803063004 .

Cr-Commit-Position: refs/heads/master@{#12154}
2016-03-30 00:27:36 +00:00
345807e599 Remove calls to rtc::scoped_ptr::accept
It'll go away soon, when rtc::scoped_ptr becomes a type alias for
std::unique_ptr.

BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1837693002

Cr-Commit-Position: refs/heads/master@{#12144}
2016-03-29 17:16:45 +00:00
4079cc301b Remove accidentally readded webrtc/base/sslstreamadapterhelper.cc
This was readded by mistake in https://codereview.webrtc.org/1820023004/
(originally removed in  https://codereview.webrtc.org/1827853003)

TBR=torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1842773002 .

Cr-Commit-Position: refs/heads/master@{#12142}
2016-03-29 15:52:27 +00:00
b252856d10 Remove all uses of the HAVE_CONFIG_H define.
BUG=
R=henrik.lundin@webrtc.org, pthatcher@google.com, stefan@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1820023004 .

Cr-Commit-Position: refs/heads/master@{#12141}
2016-03-29 15:47:28 +00:00
f81603549a Move to x509 v3 as required by the WebRTC draft.
BUG=webrtc:5246

Review URL: https://codereview.webrtc.org/1828433003

Cr-Commit-Position: refs/heads/master@{#12139}
2016-03-29 14:57:51 +00:00
c02c0a7fd2 Remove orphaned files.
BUG=

Review URL: https://codereview.webrtc.org/1827853003

Cr-Commit-Position: refs/heads/master@{#12138}
2016-03-29 14:22:15 +00:00
3a2f7e01ef Build dynamic framework with podspec for Objective-C API.
BUG=
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1829783003 .

Patch from Jon Hjelle <hjon@webrtc.org>.

Cr-Commit-Position: refs/heads/master@{#12128}
2016-03-25 21:49:18 +00:00
60d5f3f4b7 Don't override curve preferences in BoringSSL.
BoringSSL has since fixed OpenSSL's API wart and can do ECDHE by default as a server. Notably, removing this call means that X25519 may be used as either client or server.

R=torbjorng@webrtc.org
TBR=juberti@webrtc.org

BUG=webrtc:5674

Review URL: https://codereview.webrtc.org/1823213002 .

Cr-Commit-Position: refs/heads/master@{#12120}
2016-03-24 17:28:31 +00:00
9adc91d9cc Revert of Remove code interfacing legacy openssl. (patchset #3 id:40001 of https://codereview.webrtc.org/1808763002/ )
Reason for revert:
We will make it possible to link to BoringSSL for WebRTC's usages of the crypto APIs and OpenSSL for other usages in the same binary. Once that is completed, we will reland this.

Original issue's description:
> Remove code interfacing legacy openssl.
>
> BUG=webrtc:5664
>
> Committed: https://crrev.com/4cd331beade6de16c073dcdaf89c4e038bdbf73f
> Cr-Commit-Position: refs/heads/master@{#12041}

TBR=tommi@webrtc.org,davidben@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5664

Review URL: https://codereview.webrtc.org/1828773003 .

Cr-Commit-Position: refs/heads/master@{#12117}
2016-03-24 13:05:18 +00:00
85fa7d5311 Move swap_queue.h to base/
This will let us use the SwapQueue as a message queue for the event log's output thread. See https://codereview.webrtc.org/1687703002/

Review URL: https://codereview.webrtc.org/1812823007

Cr-Commit-Position: refs/heads/master@{#12113}
2016-03-24 08:51:59 +00:00
a0c44eaa82 Add 16-bit network id to the candidate signaling.
Also include that in the stun-ping request as part of the
network-info attribute.
Change the network cost to be 16 bits.

BUG=

Review URL: https://codereview.webrtc.org/1815473002

Cr-Commit-Position: refs/heads/master@{#12110}
2016-03-23 23:07:54 +00:00
24a62d5d83 Remove WEBRTC_IOS from RTCPeerConnectionFactory public header.
We shouldn't make external users define this flag to use our file.

BUG=

Review URL: https://codereview.webrtc.org/1825713003

Cr-Commit-Position: refs/heads/master@{#12106}
2016-03-23 18:29:32 +00:00
60624cd6bf [iOS] Link with base/maccocoathreadhelper.mm on iOS.
rtc::ThreadManager::ThreadManager() calls rtc::InitCocoaMultiThreading()
on iOS so add base/maccocoathreadhelper.mm to the file to build on iOS.

Fixes the following linker error:

Undefined symbols for architecture x86_64:
  "rtc::InitCocoaMultiThreading()", referenced from:
      rtc::ThreadManager::ThreadManager() in librtc_base.a(thread.o)

BUG=459705
NOTRY=True

Review URL: https://codereview.webrtc.org/1810373003

Cr-Commit-Position: refs/heads/master@{#12085}
2016-03-22 10:32:22 +00:00
2cb73413f4 Moved sequence number specific operations from mod_ops.h
to sequence_number_util.h

Also in this CL:
  - Implemented a MinDiff function which finds the smallest diff of two
    wrapping numbers.
  - Implemented comparators for sequence numbers.

BUG=
R=mflodman@webrtc.org, tommi@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1814753002 .

Cr-Commit-Position: refs/heads/master@{#12083}
2016-03-22 09:03:55 +00:00
0db3db94e5 Put config in sync between gyp and gn.
webrtc/base/base.gyp unconditionally set SSL_USE_OPENSSL and
HAVE_OPENSSL_SSL_H, fix webrtc/base/BUILD.gn to do the same.

Better implementation than https://codereview.webrtc.org/1441323002
to fix the same underlying issue (i.e. compilation on iOS).

BUG=459705

Review URL: https://codereview.webrtc.org/1812213002

Cr-Commit-Position: refs/heads/master@{#12078}
2016-03-21 18:20:33 +00:00
eec21bdae3 Reland Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

Review URL: https://codereview.webrtc.org/1823503002

Cr-Commit-Position: refs/heads/master@{#12062}
2016-03-20 13:15:48 +00:00
194e3bcc53 Revert of Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies. (patchset #4 id:60001 of https://codereview.webrtc.org/1785713005/ )
Reason for revert:
I'm really sorry for having to revert this but it seems this hit an unexpected compile error downstream:

webrtc/media/sctp/sctpdataengine.cc: In function 'void cricket::VerboseLogPacket(const void*, size_t, int)':
webrtc/media/sctp/sctpdataengine.cc:172:37: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
              data, length, direction)) != NULL) {
                                     ^
In file included from webrtc/media/sctp/sctpdataengine.cc:20:0:
third_party/usrsctp/usrsctplib/usrsctp.h:964:1: error:   initializing argument 1 of 'char* usrsctp_dumppacket(void*, size_t, int)' [-fpermissive]
 usrsctp_dumppacket(void *, size_t, int);
 ^

I'm sure you can fix this easily and just re-land this CL, while I'm going to look into how to add this warning at the public bots (on Monday).

Original issue's description:
> Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
>
> This CL removes copy and assign support from Buffer and changes various
> parameters from Buffer to CopyOnWriteBuffer so they can be passed along
> and copied without actually copying the underlying data.
>
> With this changed some parameters to be "const" and fixed an issue when
> creating a CopyOnWriteBuffer with empty data.
>
> BUG=webrtc:5155
>
> Committed: https://crrev.com/944c39006f1c52aee20919676002dac7a42b1c05
> Cr-Commit-Position: refs/heads/master@{#12058}

TBR=kwiberg@webrtc.org,tkchin@webrtc.org,tommi@webrtc.org,pthatcher@webrtc.org,jbauch@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5155

Review URL: https://codereview.webrtc.org/1817753003

Cr-Commit-Position: refs/heads/master@{#12060}
2016-03-19 19:12:58 +00:00
ebfbab5059 Move copyonwritebuffer to rtc_base_approved.
The other buffer classes as well as all other dependencies are in rtc_base_approved, so I think this is a better place for it.  Additionally I found that code in Chromium that already depends on the other buffer classes but now depends on the CopyOnWriteBuffer class, needed to have their build files updated and they previously depended on the buffer classes in rtc_base_approved.

TBR=jbauch@webrtc.org

Review URL: https://codereview.webrtc.org/1820643002

Cr-Commit-Position: refs/heads/master@{#12059}
2016-03-19 18:36:22 +00:00
944c39006f Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

Review URL: https://codereview.webrtc.org/1785713005

Cr-Commit-Position: refs/heads/master@{#12058}
2016-03-19 08:57:40 +00:00
1d50ee44fd Stop using some scoped_ptr features that unique_ptr doesn't have
No operator== that accepts one unique_ptr<T> and one T*. No implicit
conversion to bool. No rtc_make_scoped_ptr function.

BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1803833002

Cr-Commit-Position: refs/heads/master@{#12048}
2016-03-18 05:54:49 +00:00
4cd331bead Remove code interfacing legacy openssl.
BUG=

Review URL: https://codereview.webrtc.org/1808763002

Cr-Commit-Position: refs/heads/master@{#12041}
2016-03-17 18:53:22 +00:00
b21379515a Fix confusing naming of static class variables
As suggested here: https://codereview.webrtc.org/1803833002/#msg8

Review URL: https://codereview.webrtc.org/1807193002

Cr-Commit-Position: refs/heads/master@{#12036}
2016-03-17 15:38:16 +00:00
94a23f04af Reland "Add check_deps rules in DEPS files."
Relanding https://codereview.webrtc.org/1796413002/
without the change to the openmax_dl include path
(which broke downstream code).

TBR=tommi@webrtc.org
BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc

Review URL: https://codereview.webrtc.org/1804333002 .

Cr-Commit-Position: refs/heads/master@{#12031}
2016-03-17 11:05:50 +00:00