Used for tests that cannot be run in parallel due to using non-virtual
resources such as filesystems and sockets. Initially moves socket
unittests from rtc_unittest since
PhysicalSocketTest.TestUdpReadyToSendIPv4 is one of the worst flake
offenders.
Future prospect targets are GTEST_DEATH tests that are flaky on Mac in
parallel for instance.
BUG=chromium:445880
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/1426643003 .
Cr-Commit-Position: refs/heads/master@{#10446}
Reason for revert:
Causing a compiler warning, and causing WebRtcBrowserTest.CallAndModifyStream to fail.
Original issue's description:
> Adding the ability to create an RtpSender without a track.
>
> This CL also changes AddStream to immediately create a sender, rather
> than waiting until the track is seen in SDP. And the PeerConnection now
> builds the list of "send streams" from the list of senders, rather than
> the collection of local media streams.
>
> Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> Cr-Commit-Position: refs/heads/master@{#10414}
TBR=pthatcher@webrtc.org,pthatcher@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1426443007
Cr-Commit-Position: refs/heads/master@{#10417}
The main intended use case is as a function argument, replacing the
harder-to-read and harder-to-use separate pointer and size arguments.
It's easier to read because it's just one argument instead of two, and
with clearly defined semantics; it's easier to use because it has
iterators, and will automatically figure out the size of arrays.
BUG=webrtc:5028
R=andrew@webrtc.org, solenberg@webrtc.org
Review URL: https://codereview.webrtc.org/1408403002 .
Cr-Commit-Position: refs/heads/master@{#10415}
This CL also changes AddStream to immediately create a sender, rather
than waiting until the track is seen in SDP. And the PeerConnection now
builds the list of "send streams" from the list of senders, rather than
the collection of local media streams.
Review URL: https://codereview.webrtc.org/1413713003
Cr-Commit-Position: refs/heads/master@{#10414}
The existing comment is wrong, and the test even ensures it: Bind will capture reference values by reference. That makes it hard to use with AsyncInvoker, because you can't safely Bind to a function that takes (const) reference params.
The new version of this code strips references in the bound object, so it captures by value, but can bind against functions that take const references, they'll just be references to the copy.
As the class comment implies, actual by-reference args should be passed as pointers or things that safely share (e.g. scoped_refptr) and not references directly. A new test case ensures the pointer reference works. The new code will also give a compiler error if you try to bind
to a non-const reference.
BUG=
Review URL: https://codereview.webrtc.org/1291543006
Cr-Commit-Position: refs/heads/master@{#10397}
This patch removes IPToString and IPToSensitiveString static helper
methods, since there are class methods that replace them already, and
they aren't used by anyone anymore.
BUG=None
R=pthacher@webrtc.org
Review URL: https://codereview.webrtc.org/1408873005
Cr-Commit-Position: refs/heads/master@{#10391}
Prevents including platform headers from all files that include logging.
Also removes warn_slow_logs_delay_ which adds contention to the logging
critical section.
BUG=
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1416373004 .
Cr-Commit-Position: refs/heads/master@{#10388}
With it removed, you can now use it with scoped_refptr by wrapping it in
an rtc::RefCountedObject<rtc::Buffer>.
BUG=
Review URL: https://codereview.webrtc.org/1414053003
Cr-Commit-Position: refs/heads/master@{#10386}
It's a simple std::experimental::optional-wannabe. For simplicity and
portability, it still secretly contains a (default-constructed) T when
it's supposedly empty. This restriction is fine for simple types.
One important application is for the return type of functions. For
example, a function which either returns a size_t or fails can return
rtc::Maybe<size_t>.
BUG=webrtc:5028
R=andrew@webrtc.org, mgraczyk@chromium.org
Review URL: https://codereview.webrtc.org/1413763003 .
Cr-Commit-Position: refs/heads/master@{#10353}
This patch removes set_fail_redirect()/fail_redirect() method accessors
from HttpClient class and converts their usage to
set_redirection_action/redirection_action where appropriate.
BUG=None
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1396683005
Cr-Commit-Position: refs/heads/master@{#10304}
This CL makes AddRef() and Release() const member methods and the refcount integer mutable. This is reasonable, because they only manage the lifetime of the object, and this is also how it's done in Chromium.
The purpose is to be able to capture a const pointer in a scoped_refptr, which is currenty impossible. The practial problem this CL solves is this:
void Foo::Bar() const {}
rtc::Callback0<void> Foo::MakeClosure() const {
return rtc::Bind(&Foo::Bar, this);
}
We currently capture |this| as const Foo*. With this CL, |this| will be captured as scoped_refptr<const Foo>.
A test is also added in bind_unittest to check this behaviour.
BUG=webrtc:5065
R=perkj@webrtc.org, tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1403683004 .
Cr-Commit-Position: refs/heads/master@{#10253}
The OwningThread member of CRITICAL_SECTION is declared as having type
HANDLE but it is actually the thread's Thread ID which is a DWORD. When
doing 64-bit builds of Chromium with VS 2015 this triggers a warning
because of the suspicious conversion from 32-bit integer to 64-bit
pointer.
This change adds a cast (and some comments) to make the conversion
explicit and avoid the warning.
R=henrikg@webrtc.org
BUG=440500
Review URL: https://codereview.webrtc.org/1386183002
Cr-Commit-Position: refs/heads/master@{#10190}
Every malformed URL should now produce an error message in JS, rather than
silently failing and possibly printing a warning message to the console (and
possibly crashing).
Also added some unit tests, and made "ParseIceServers" public.
BUG=445002
Review URL: https://codereview.webrtc.org/1344143002
Cr-Commit-Position: refs/heads/master@{#10186}
Reason for revert:
This broke chromium.fyi bot.
Original issue's description:
> Change WebRTC SslCipher to be exposed as number only.
>
> This makes the SSL exposed as uint16_t which is the IANA value. GetRfcSslCipherName is introduced to handle the conversion to names from ID. IANA value will be used for UMA reporting. Names will still be used for WebRTC stats reporting.
>
> For SRTP, currently it's still string internally but is reported as IANA number.
>
> This is used by the ongoing CL https://codereview.chromium.org/1335023002.
>
> BUG=523033
>
> Committed: https://crrev.com/4fe3c9a77386598db9abd1f0d6983aefee9cc943
> Cr-Commit-Position: refs/heads/master@{#10124}
TBR=juberti@webrtc.org,rsleevi@chromium.org,pthatcher@webrtc.org,davidben@chromium.org,juberti@google.com,davidben@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=523033
Review URL: https://codereview.webrtc.org/1380603005
Cr-Commit-Position: refs/heads/master@{#10125}
This makes the SSL exposed as uint16_t which is the IANA value. GetRfcSslCipherName is introduced to handle the conversion to names from ID. IANA value will be used for UMA reporting. Names will still be used for WebRTC stats reporting.
For SRTP, currently it's still string internally but is reported as IANA number.
This is used by the ongoing CL https://codereview.chromium.org/1335023002.
BUG=523033
Review URL: https://codereview.webrtc.org/1337673002
Cr-Commit-Position: refs/heads/master@{#10124}
whose network has ever been removed. It is unlikely the sockets/ports/candidates created from
those AllocationSequences will still be valid.
BUG=
Review URL: https://codereview.webrtc.org/1361183004
Cr-Commit-Position: refs/heads/master@{#10093}
It has become extra flaky lately, and is preventing people from
using the CQ.
BUG=webrtc:4958
Review URL: https://codereview.webrtc.org/1368763002
Cr-Commit-Position: refs/heads/master@{#10080}
Was previously using the wrong preprocessor define (DEBUG vs _DEBUG).
Review URL: https://codereview.webrtc.org/1361173002
Cr-Commit-Position: refs/heads/master@{#10061}
Reason for revert:
This CL just landed: https://codereview.chromium.org/1323243006/
Which fixes the FYI bots for the original CL, and breaks them for this revert.
Original issue's description:
> Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
>
> Reason for revert:
> This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.
>
> Original issue's description:
> > TransportController refactoring.
> >
> > Getting rid of TransportProxy, and in its place adding a
> > TransportController class which will facilitate access to and manage
> > the lifetimes of Transports. These Transports will now be accessed
> > solely from the worker thread, simplifying their implementation.
> >
> > This refactoring also pulls Transport-related code out of BaseSession.
> > Which means that BaseChannels will now rely on the TransportController
> > interface to create channels, rather than BaseSession.
> >
> > Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> > Cr-Commit-Position: refs/heads/master@{#10022}
>
> TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/a81a42f584baa0d93a4b93da9632415e8922450c
> Cr-Commit-Position: refs/heads/master@{#10024}
TBR=pthatcher@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1361773005
Cr-Commit-Position: refs/heads/master@{#10036}
Reason for revert:
This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.
Original issue's description:
> TransportController refactoring.
>
> Getting rid of TransportProxy, and in its place adding a
> TransportController class which will facilitate access to and manage
> the lifetimes of Transports. These Transports will now be accessed
> solely from the worker thread, simplifying their implementation.
>
> This refactoring also pulls Transport-related code out of BaseSession.
> Which means that BaseChannels will now rely on the TransportController
> interface to create channels, rather than BaseSession.
>
> Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> Cr-Commit-Position: refs/heads/master@{#10022}
TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1358413003
Cr-Commit-Position: refs/heads/master@{#10024}
Getting rid of TransportProxy, and in its place adding a
TransportController class which will facilitate access to and manage
the lifetimes of Transports. These Transports will now be accessed
solely from the worker thread, simplifying their implementation.
This refactoring also pulls Transport-related code out of BaseSession.
Which means that BaseChannels will now rely on the TransportController
interface to create channels, rather than BaseSession.
Review URL: https://codereview.webrtc.org/1350523003
Cr-Commit-Position: refs/heads/master@{#10022}
Added to prevent Chromium from breaking if KeyType (now an enum) starts being used in Chromium before KeyType changes to a parameterizable class. When enum -> class change happens, IntKeyTypeFamilyToKeyType will be updated at the same time.
Once Chromium starts using class KeyType with parameters this function can be removed.
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1363543002 .
Cr-Commit-Position: refs/heads/master@{#10013}
Reason for revert:
Breaks FYI bots.
ninja: error: '../../third_party/webrtc_overrides/webrtc/base/logging.cc', needed by 'obj/third_party/webrtc_overrides/webrtc/base/rtc_base.logging.o', missing and no known rule to make it
Original issue's description:
> Update build files to use webrtc_overrides in Chromium instead of overrides.
>
> This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
>
> BUG=chromium:468375
>
> Committed: https://crrev.com/baae0a8a6c873ddf812a5687b84638359b2e7e5b
> Cr-Commit-Position: refs/heads/master@{#9996}
TBR=kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:468375
Review URL: https://codereview.webrtc.org/1352423002
Cr-Commit-Position: refs/heads/master@{#9998}
This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
BUG=chromium:468375
Review URL: https://codereview.webrtc.org/1354933002
Cr-Commit-Position: refs/heads/master@{#9996}