| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/files/file_util.h" | 6 #include "base/files/file_util.h" |
| 7 #include "base/threading/platform_thread.h" | 7 #include "base/threading/platform_thread.h" |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 #include "content/browser/web_contents/web_contents_impl.h" | 9 #include "content/browser/web_contents/web_contents_impl.h" |
| 10 #include "content/browser/webrtc/webrtc_content_browsertest_base.h" | 10 #include "content/browser/webrtc/webrtc_content_browsertest_base.h" |
| 11 #include "content/public/common/content_switches.h" | 11 #include "content/public/common/content_switches.h" |
| 12 #include "content/public/common/webrtc_ip_handling_policy.h" | 12 #include "content/public/common/webrtc_ip_handling_policy.h" |
| 13 #include "content/public/test/browser_test_utils.h" | 13 #include "content/public/test/browser_test_utils.h" |
| 14 #include "content/public/test/content_browser_test_utils.h" | 14 #include "content/public/test/content_browser_test_utils.h" |
| 15 #include "content/public/test/test_utils.h" | 15 #include "content/public/test/test_utils.h" |
| 16 #include "media/audio/audio_manager.h" | 16 #include "media/audio/audio_manager.h" |
| 17 #include "media/base/media_switches.h" | 17 #include "media/base/media_switches.h" |
| 18 #include "net/test/embedded_test_server/embedded_test_server.h" | 18 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 19 | 19 |
| 20 namespace content { | 20 namespace content { |
| 21 | 21 |
| 22 #if defined(OS_ANDROID) && defined(ADDRESS_SANITIZER) | 22 #if defined(OS_ANDROID) && defined(ADDRESS_SANITIZER) |
| 23 // Renderer crashes under Android ASAN: https://crbug.com/408496. | 23 // Renderer crashes under Android ASAN: https://crbug.com/408496. |
| 24 #define MAYBE_WebRtcBrowserDataTest DISABLED_WebRtcBrowserDataTest | 24 #define MAYBE_WebRtcDataBrowserTest DISABLED_WebRtcDataBrowserTest |
| 25 #else | 25 #else |
| 26 #define MAYBE_WebRtcBrowserDataTest WebRtcBrowserDataTest | 26 #define MAYBE_WebRtcDataBrowserTest WebRtcDataBrowserTest |
| 27 #endif | 27 #endif |
| 28 | 28 |
| 29 // This class tests the scenario when permission to access mic or camera is | 29 // This class tests the scenario when permission to access mic or camera is |
| 30 // granted. | 30 // granted. |
| 31 class MAYBE_WebRtcBrowserDataTest : public WebRtcContentBrowserTest { | 31 class MAYBE_WebRtcDataBrowserTest : public WebRtcContentBrowserTest { |
| 32 public: | 32 public: |
| 33 MAYBE_WebRtcBrowserDataTest() {} | 33 MAYBE_WebRtcDataBrowserTest() {} |
| 34 ~MAYBE_WebRtcBrowserDataTest() override {} | 34 ~MAYBE_WebRtcDataBrowserTest() override {} |
| 35 | 35 |
| 36 void SetUpCommandLine(base::CommandLine* command_line) override { | 36 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 37 WebRtcContentBrowserTest::SetUpCommandLine(command_line); | 37 WebRtcContentBrowserTest::SetUpCommandLine(command_line); |
| 38 // Automatically grant device permission. | 38 // Automatically grant device permission. |
| 39 AppendUseFakeUIForMediaStreamFlag(); | 39 AppendUseFakeUIForMediaStreamFlag(); |
| 40 } | 40 } |
| 41 | 41 |
| 42 protected: | 42 protected: |
| 43 // Convenience function since most peerconnection-call.html tests just load | 43 // Convenience function since most peerconnection-call.html tests just load |
| 44 // the page, kick off some javascript and wait for the title to change to OK. | 44 // the page, kick off some javascript and wait for the title to change to OK. |
| 45 void MakeTypicalPeerConnectionCall(const std::string& javascript) { | 45 void MakeTypicalPeerConnectionCall(const std::string& javascript) { |
| 46 MakeTypicalCall(javascript, "/media/peerconnection-call-data.html"); | 46 MakeTypicalCall(javascript, "/media/peerconnection-call-data.html"); |
| 47 } | 47 } |
| 48 }; | 48 }; |
| 49 | 49 |
| 50 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserDataTest, CanSetupLegacyCall) { | 50 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcDataBrowserTest, CanSetupLegacyCall) { |
| 51 MakeTypicalPeerConnectionCall("callWithLegacySdp();"); | 51 MakeTypicalPeerConnectionCall("callWithLegacySdp();"); |
| 52 } | 52 } |
| 53 | 53 |
| 54 // This test will make a PeerConnection-based call and test an unreliable text | 54 // This test will make a PeerConnection-based call and test an unreliable text |
| 55 // dataChannel. | 55 // dataChannel. |
| 56 // TODO(mallinath) - Remove this test after rtp based data channel is disabled. | 56 // TODO(mallinath) - Remove this test after rtp based data channel is disabled. |
| 57 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserDataTest, CallWithDataOnly) { | 57 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcDataBrowserTest, CallWithDataOnly) { |
| 58 MakeTypicalPeerConnectionCall("callWithDataOnly();"); | 58 MakeTypicalPeerConnectionCall("callWithDataOnly();"); |
| 59 } | 59 } |
| 60 | 60 |
| 61 #if defined(MEMORY_SANITIZER) | 61 #if defined(MEMORY_SANITIZER) |
| 62 // Fails under MemorySanitizer: http://crbug.com/405951 | 62 // Fails under MemorySanitizer: http://crbug.com/405951 |
| 63 #define MAYBE_CallWithSctpDataOnly DISABLED_CallWithSctpDataOnly | 63 #define MAYBE_CallWithSctpDataOnly DISABLED_CallWithSctpDataOnly |
| 64 #else | 64 #else |
| 65 #define MAYBE_CallWithSctpDataOnly CallWithSctpDataOnly | 65 #define MAYBE_CallWithSctpDataOnly CallWithSctpDataOnly |
| 66 #endif | 66 #endif |
| 67 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserDataTest, | 67 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcDataBrowserTest, |
| 68 MAYBE_CallWithSctpDataOnly) { | 68 MAYBE_CallWithSctpDataOnly) { |
| 69 MakeTypicalPeerConnectionCall("callWithSctpDataOnly();"); | 69 MakeTypicalPeerConnectionCall("callWithSctpDataOnly();"); |
| 70 } | 70 } |
| 71 | 71 |
| 72 // This test will make a PeerConnection-based call and test an unreliable text | 72 // This test will make a PeerConnection-based call and test an unreliable text |
| 73 // dataChannel and audio and video tracks. | 73 // dataChannel and audio and video tracks. |
| 74 // TODO(mallinath) - Remove this test after rtp based data channel is disabled. | 74 // TODO(mallinath) - Remove this test after rtp based data channel is disabled. |
| 75 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserDataTest, CallWithDataAndMedia) { | 75 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcDataBrowserTest, CallWithDataAndMedia) { |
| 76 MakeTypicalPeerConnectionCall("callWithDataAndMedia();"); | 76 MakeTypicalPeerConnectionCall("callWithDataAndMedia();"); |
| 77 } | 77 } |
| 78 | 78 |
| 79 | 79 |
| 80 #if defined(MEMORY_SANITIZER) | 80 #if defined(MEMORY_SANITIZER) |
| 81 // Fails under MemorySanitizer: http://crbug.com/405951 | 81 // Fails under MemorySanitizer: http://crbug.com/405951 |
| 82 #define MAYBE_CallWithSctpDataAndMedia DISABLED_CallWithSctpDataAndMedia | 82 #define MAYBE_CallWithSctpDataAndMedia DISABLED_CallWithSctpDataAndMedia |
| 83 #else | 83 #else |
| 84 #define MAYBE_CallWithSctpDataAndMedia CallWithSctpDataAndMedia | 84 #define MAYBE_CallWithSctpDataAndMedia CallWithSctpDataAndMedia |
| 85 #endif | 85 #endif |
| 86 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserDataTest, | 86 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcDataBrowserTest, |
| 87 MAYBE_CallWithSctpDataAndMedia) { | 87 MAYBE_CallWithSctpDataAndMedia) { |
| 88 MakeTypicalPeerConnectionCall("callWithSctpDataAndMedia();"); | 88 MakeTypicalPeerConnectionCall("callWithSctpDataAndMedia();"); |
| 89 } | 89 } |
| 90 | 90 |
| 91 // This test will make a PeerConnection-based call and test an unreliable text | 91 // This test will make a PeerConnection-based call and test an unreliable text |
| 92 // dataChannel and later add an audio and video track. | 92 // dataChannel and later add an audio and video track. |
| 93 // Doesn't work, therefore disabled: https://crbug.com/293252. | 93 // Doesn't work, therefore disabled: https://crbug.com/293252. |
| 94 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserDataTest, | 94 IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcDataBrowserTest, |
| 95 DISABLED_CallWithDataAndLaterAddMedia) { | 95 DISABLED_CallWithDataAndLaterAddMedia) { |
| 96 MakeTypicalPeerConnectionCall("callWithDataAndLaterAddMedia();"); | 96 MakeTypicalPeerConnectionCall("callWithDataAndLaterAddMedia();"); |
| 97 } | 97 } |
| 98 | 98 |
| 99 } // namespace content | 99 } // namespace content |
| OLD | NEW |