#include "base/command_line.h"
#include "base/memory/raw_ptr.h"
#include "base/task/deferred_sequenced_task_runner.h"
#include "base/test/bind.h"
#include "build/build_config.h"
#include "chrome/browser/media/webrtc/webrtc_browsertest_base.h"
#include "chrome/browser/media/webrtc/webrtc_browsertest_common.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/browser/network_service_instance.h"
#include "content/public/browser/network_service_util.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "media/base/media_switches.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/bindings/sync_call_restrictions.h"
#include "net/nqe/network_quality_estimator.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "services/network/network_service.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/network_service_test.mojom.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/switches.h"
#if BUILDFLAG(IS_MAC)
#include "base/mac/mac_util.h"
#endif
static const char kMainWebrtcTestHtmlPage[] = …;
static const char kKeygenAlgorithmRsa[] = …;
static const char kKeygenAlgorithmEcdsa[] = …;
class WebRtcBrowserTest : public WebRtcTestBase { … };
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsVP8) { … }
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsVP9) { … }
#if BUILDFLAG(RTC_USE_H264)
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsH264) {
if (!base::FeatureList::IsEnabled(
blink::features::kWebRtcH264WithOpenH264FFmpeg)) {
LOG(WARNING)
<< "Run-time feature WebRTC-H264WithOpenH264FFmpeg disabled. "
"Skipping WebRtcBrowserTest.RunsAudioVideoWebRTCCallInTwoTabsH264 "
"(test \"OK\")";
return;
}
RunsAudioVideoWebRTCCallInTwoTabs("H264", true );
}
#endif
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, TestWebAudioMediaStream) { … }
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsOfferRsaAnswerRsa) { … }
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsOfferEcdsaAnswerEcdsa) { … }
IN_PROC_BROWSER_TEST_F(
WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificateRsa) { … }
#if BUILDFLAG(IS_LINUX) && defined(ADDRESS_SANITIZER)
#define MAYBE_RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificateEcdsa …
#else
#define MAYBE_RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificateEcdsa …
#endif
IN_PROC_BROWSER_TEST_F(
WebRtcBrowserTest,
MAYBE_RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificateEcdsa) { … }
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsOfferRsaAnswerEcdsa) { … }
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsOfferEcdsaAnswerRsa) { … }
IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
GetPeerToPeerConnectionsCountChangeFromNetworkService) { … }
IN_PROC_BROWSER_TEST_F(
WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsEmitsGatheringStateChange) { … }
IN_PROC_BROWSER_TEST_F(
WebRtcBrowserTest,
RunsAudioVideoWebRTCCallInTwoTabsEmitsGatheringStateChange_ConnectionCount) { … }