645 Commits

Author SHA1 Message Date
phoglund
c6c00b32da Revert of Remove the rtc_relative_path GYP variable and similar defines (patchset #1 id:1 of https://codereview.webrtc.org/1925733002/ )
Reason for revert:
Breaks downstream gtest usage.

Original issue's description:
> Remove the rtc_relative_path GYP variable and similar defines
>
> This is a reland of https://codereview.webrtc.org/1903553003/ but with
> the SRTP changes removed, since they're needed downstream.
>
> The defines that can be used to alter the include paths for Expat and gtest
> are no longer needed in WebRTC or Chromium. Remove them to simplify GYP.
>
> Removed defines:
> EXPAT_RELATIVE_PATH
> GTEST_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
> TBR=perkj@webrtc.org
>
> Committed: https://crrev.com/081254f2c62037d016f9fc961764c6f01cb095da
> Cr-Commit-Position: refs/heads/master@{#12536}

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

Review-Url: https://codereview.webrtc.org/1945803003
Cr-Commit-Position: refs/heads/master@{#12622}
2016-05-04 08:54:39 +00:00
nisse
1bffc1d1a4 Rename rtc::Time64 --> rtc::TimeMillis.
In the discussion on https://codereview.webrtc.org/1888593004/, a more
decriptive name was suggested for Time64.

BUG=webrtc:5740

Review-Url: https://codereview.webrtc.org/1923213002
Cr-Commit-Position: refs/heads/master@{#12594}
2016-05-02 15:19:00 +00:00
henrika
7d4a6c3208 Adds timeout for audio record thread in Java layer
BUG=b/28448866
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12590}
2016-05-02 09:01:02 +00:00
kwiberg
bfefb03ec1 Replace scoped_ptr with unique_ptr everywhere
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
2016-05-01 21:53:55 +00:00
mikescarlett
e7748674ee Allow TransportController to create a QuicTransportChannel
A QuicTransport is implemented that subclasses Transport
and takes ownership of the QuicTransportChannel/P2PTransportChannel.

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

BUG=

Review-Url: https://codereview.webrtc.org/1856943002
Cr-Commit-Position: refs/heads/master@{#12575}
2016-04-30 03:21:04 +00:00
Karl Wiberg
0bdebd4b21 Re-add a (dummy) webrtc/base/buffer.cc to hopefully unbreak the Chromium build
Remove this file once Chromium doesn't need it anymore.

TBR=tommi@webrtc.org

BUG=webrtc:5845

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

Cr-Commit-Position: refs/heads/master@{#12568}
2016-04-29 18:18:55 +00:00
pbos
79e2842381 Add tracing to MessageQueue::Dispatch.
Accounts for additional blocking yet unaccounted for that's not visible
through invoke.

BUG=
R=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/1932753002
Cr-Commit-Position: refs/heads/master@{#12565}
2016-04-29 15:48:12 +00:00
kwiberg
a4ac4786a8 Define rtc::BufferT, like rtc::Buffer but for any trivial type
And redefine rtc::Buffer as

  using Buffer = BufferT<uint8_t>;

(In the long run, I'd like to remove the type alias and rename the
template to just rtc::Buffer, but that requires all current users of
Buffer to start saying Buffer<uint8_t> instead, and since Buffer is
used in the API, we can't do that in one step.)

The immediate reason for the new template is that we'd like to use
BufferT<int16_t> in the AudioDecoder interface.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/1929903002
Cr-Commit-Position: refs/heads/master@{#12564}
2016-04-29 15:00:28 +00:00
nisse
ef8b61e110 Enable -Winconsistent-missing-override flag.
The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.

NOPRESUBMIT=True
BUG=webrtc:3970

Review-Url: https://codereview.webrtc.org/1921653002
Cr-Commit-Position: refs/heads/master@{#12563}
2016-04-29 13:09:23 +00:00
tommi
b296d0591c Revert of New task queueing primitive for async tasks: TaskQueue. (patchset #5 id:80001 of https://codereview.webrtc.org/1919733002/ )
Reason for revert:
Reverting this temporarily while I figure out the issues with the Chrome on android GN debug build.

Original issue's description:
> New task queueing primitive for async tasks: TaskQueue.
> TaskQueue is a new way to asynchronously execute tasks sequentially
> in a thread safe manner with minimal locking.  The implementation
> uses OS supported APIs to do this that are compatible with async IO
> notifications from things like sockets and files.
>
> This class is a part of rtc_base_approved, so can be used by both
> the webrtc and libjingle parts of the WebRTC library.  Moving forward,
> we can replace rtc::Thread and webrtc::ProcessThread with this implementation.
>
> NOTE: It should not be assumed that all tasks that execute on a TaskQueue,
> run on the same thread.  E.g. on Mac and iOS, we use GCD dispatch queues
> which means that tasks might execute on different threads depending on
> what's the most efficient thing to do.

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

Review-Url: https://codereview.webrtc.org/1935483002
Cr-Commit-Position: refs/heads/master@{#12562}
2016-04-29 13:03:38 +00:00
tommi
0c9df5e568 New task queueing primitive for async tasks: TaskQueue.
TaskQueue is a new way to asynchronously execute tasks sequentially
in a thread safe manner with minimal locking.  The implementation
uses OS supported APIs to do this that are compatible with async IO
notifications from things like sockets and files.

This class is a part of rtc_base_approved, so can be used by both
the webrtc and libjingle parts of the WebRTC library.  Moving forward,
we can replace rtc::Thread and webrtc::ProcessThread with this implementation.

NOTE: It should not be assumed that all tasks that execute on a TaskQueue,
run on the same thread.  E.g. on Mac and iOS, we use GCD dispatch queues
which means that tasks might execute on different threads depending on
what's the most efficient thing to do.

Review-Url: https://codereview.webrtc.org/1919733002
Cr-Commit-Position: refs/heads/master@{#12561}
2016-04-29 11:49:14 +00:00
hbos
6b470a9413 RTCCertificate serialization.
This CL adds the ability to convert RTCCertificate objects to and from
PEM string representations of it (its private key and certificate).
The RTCCertificate being a wrapper of SSLIdentity, this is where the
meat is.

Changes:
- SSLIdentity::PrivateKeyToPEMString() added. It together with the
  already existing SSLCertificate::ToPEMString() yields both private
  key and certificate PEM strings, both of which are required
  parameters to SSLIdentity::FromPEMStrings().
- Its only implementation, OpenSSLIdentity::PrivateKeyToPemString().
- SSLIdentity::PublicKeyToPEMString() added, used by tests.
- sslidentity_unittest.cc updated:
  * FromPEMStringsRSA and FromPEMStringsEC updated.
  * CloneIdentityRSA and CloneIdentityECDSA added.
- RTCCertificate::To/FromPem added, using new class RTCCertificatePem.
- rtccertificate_unittest.cc: New test CloneWithPemSerialization.
- Renamed rtc_unittests.cc to rtccertificate_unittest.cc to match
  convention.

BUG=webrtc:5794, chromium:581354

Review-Url: https://codereview.webrtc.org/1898383003
Cr-Commit-Position: refs/heads/master@{#12546}
2016-04-28 12:14:30 +00:00
danilchap
bebf54cad1 Adds clearer function to create rtc::Thread without Physical SocketServer
Moves logic of default SocketServer from MessageQueue to SocketServer

Review-Url: https://codereview.webrtc.org/1891293002
Cr-Commit-Position: refs/heads/master@{#12541}
2016-04-28 08:32:57 +00:00
kjellander
081254f2c6 Remove the rtc_relative_path GYP variable and similar defines
This is a reland of https://codereview.webrtc.org/1903553003/ but with
the SRTP changes removed, since they're needed downstream.

The defines that can be used to alter the include paths for Expat and gtest
are no longer needed in WebRTC or Chromium. Remove them to simplify GYP.

Removed defines:
EXPAT_RELATIVE_PATH
GTEST_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
TBR=perkj@webrtc.org

Review-Url: https://codereview.webrtc.org/1925733002
Cr-Commit-Position: refs/heads/master@{#12536}
2016-04-27 17:13:28 +00:00
tkchin
9eeb6240c9 Build dynamic iOS SDK.
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12524}
2016-04-27 08:54:27 +00:00
terelius
5262bacf4a Disable flaky test on msan
BUG=webrtc:5824

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

Cr-Commit-Position: refs/heads/master@{#12512}
2016-04-26 15:55:44 +00:00
kwiberg
4485ffb58d #include "webrtc/base/constructormagic.h" where appropriate
Any file that uses the RTC_DISALLOW_* macros should #include
"webrtc/base/constructormagic.h", but a shocking number of them don't.
This causes trouble when we try to wean files off of #including
scoped_ptr.h, since a bunch of files get their constructormagic macros
only from there.

Rather than fixing these errors one by one as they turn up, this CL
simply ensures that every file in the WebRTC tree that uses the
RTC_DISALLOW_* macros #includes "webrtc/base/constructormagic.h".

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12509}
2016-04-26 15:14:48 +00:00
jbauch
b67aba81e5 Add missing include to x11windowpicker.cc
Before https://codereview.webrtc.org/1920043002/ this was pulled in implicitly
by "scoped_ptr.h".

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

Cr-Commit-Position: refs/heads/master@{#12505}
2016-04-26 11:54:04 +00:00
jbauch
555604a746 Replace scoped_ptr with unique_ptr in webrtc/base/
This propagated into various other places. Also had to #include headers that
were implicitly pulled by "scoped_ptr.h".

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12501}
2016-04-26 10:13:28 +00:00
kwiberg
ba5ea44bad Make rtc::scoped_ptr a type alias for std::unique_ptr
There's also one fixup that could neither be done before or after
landing the type alias CL: changing the FunctorMessageHandler template
specialization for rtc::scoped_ptr<ReturnT> to be for
std::unique_ptr<ReturnT> instead. (Having one specialization for
scoped_ptr and one for unique_ptr doesn't work when the types are the
same, and having just the scoped_ptr specialization doesn't work when
scoped_ptr is a type alias. I'm sure there's some template
metaprogramming magic that could solve the problem, but it's easy
enough to just make the change in this CL instead.)

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#12499}
2016-04-26 01:08:46 +00:00
kjellander
b1f1406e06 GN: Refactor webrtc/base/BUILD.gn
Move the all_dependent_configs configurations into
a single config for better readability.

Sync the Mac and iOS frameworks between the GYP and the GN
build. Many entries that used to be default included in
https://code.google.com/p/chromium/codesearch#chromium/src/build/config/BUILD.gn
are no longer implicitly added for Mac, so to ensure they are
they're added back for the Mac build.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12484}
2016-04-25 07:01:39 +00:00
kjellander
84ba8b6f45 GN: Fix dependency for rtc_base_approved
In https://codereview.webrtc.org/1921463002/ a dependency
on Foundation.framework was added to rtc_base_approved for the
GYP build but not for the GN build. This was fixed for some
targets in https://codereview.webrtc.org/1919673002/ but the proper
fix is to introduce an all_dependent_configs entry for rtc_base_approved.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12483}
2016-04-25 06:03:15 +00:00
Tommi
09ca02ea5c Replace use of GetMacOSStatusErrorString (deprecated) with use of NSOSStatusErrorDomain.
This should unblock the roll.

TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12479}
2016-04-24 15:32:50 +00:00
Tommi
cc4fddeba8 Move bind.h to rtc_base_approved.
This is more a correction than a change since bind.h was incorrectly not
a part of rtc_base when building with Chromium while still being used
(since it's a header file only).  The only dependencies that bind.h has,
are in rtc_base_approved, so there's no need to restrict usage of it to
rtc_base users only.

NOTRY=true
TBR=perkj
NO_DEPENDENCY_CHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#12474}
2016-04-22 17:35:03 +00:00
tommi
845afa8a02 Update PlatformThread to support a couple of new properties.
- name(): Returns the name of the thread (useful for debugging).
- GetThreadRef(): Returns the ID of the worker thread (also useful for debugging).
- QueueApc(): This is a Windows-only, protected function that allows derived classes on Windows to queue APCs to the worker thread.

NOTRY=true
(using notry since the patch has already passed the trybots and the cq is currently stalled)

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

Cr-Commit-Position: refs/heads/master@{#12472}
2016-04-22 16:08:56 +00:00
Stefan Holmer
fb8fc5391e Improve the behavior when the BWE times out and when we have too little data to determine the incoming bitrate.
This is done by changing the RateStatistics so that it resets its window when the accumulator is empty. It also keeps a dynamic window, so that the rates computed before a full window worth of data has been received will be computed over a smaller window. This means that the rate will be closer to the true rate, but with a higher variance.

BUG=webrtc:5773
R=perkj@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12470}
2016-04-22 13:48:36 +00:00
kwiberg
4fb3d2bcca Add defaulted move constructors for some types that just got copy constructors
They can all benefit from moving, since they contain std::string and
std::vector. We intended to add these in
https://codereview.webrtc.org/1896953004/, but got compiler errors we
couldn't make sense of, so we skipped them. It turns out that what the
compiler was complaining about was that when we said we'd have a
user-defined move constructor, it stopped generating a copy assignment
operator for us. This CL solves the problem by outfitting the types
with defaulted copy and move assignment operators too.

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

Cr-Commit-Position: refs/heads/master@{#12469}
2016-04-22 11:59:34 +00:00
kjellander
7bc7c06e6a Revert of Remove the rtc_relative_path GYP variable and similar defines (patchset #1 id:1 of https://codereview.webrtc.org/1903553003/ )
Reason for revert:
Breaks downstream for SRTP include paths. Will rework this and reland without that one.

Original issue's description:
> 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
>
> Committed: https://crrev.com/e19cf59eb6ee44fd4d7e7fbcfdd1a6ea75063605
> Cr-Commit-Position: refs/heads/master@{#12467}

TBR=pthatcher@webrtc.org,perkj@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/1913043003

Cr-Commit-Position: refs/heads/master@{#12468}
2016-04-22 11:57:56 +00:00
kjellander
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
tommi
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
tommi
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
sdefresne
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
Honghai Zhang
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
tkchin
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
kjellander
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
honghaiz
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
svaldez
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
Henrik Boström
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
kwiberg
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
mikescarlett
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
torbjorng
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
skvlad
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
torbjorng
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
nisse
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
kjellander@webrtc.org
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
kwiberg
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
Henrik Kjellander
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
kjellander
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
kjellander
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
Henrik Kjellander
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