| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "base/process/process_handle.h" | 7 #include "base/process/process_handle.h" |
| 8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| 11 #include "content/browser/web_contents/web_contents_impl.h" | 11 #include "content/browser/web_contents/web_contents_impl.h" |
| 12 #include "content/browser/webrtc/webrtc_content_browsertest_base.h" | 12 #include "content/browser/webrtc/webrtc_content_browsertest_base.h" |
| 13 #include "content/browser/webrtc/webrtc_internals.h" | 13 #include "content/browser/webrtc/webrtc_internals.h" |
| 14 #include "content/public/test/browser_test_utils.h" | 14 #include "content/public/test/browser_test_utils.h" |
| 15 #include "content/public/test/content_browser_test_utils.h" | 15 #include "content/public/test/content_browser_test_utils.h" |
| 16 #include "content/shell/browser/shell.h" | 16 #include "content/shell/browser/shell.h" |
| 17 #include "media/audio/audio_manager.h" | |
| 18 #include "net/test/embedded_test_server/embedded_test_server.h" | 17 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 19 | 18 |
| 20 #if defined(OS_WIN) | 19 #if defined(OS_WIN) |
| 21 #define IntToStringType base::IntToString16 | 20 #define IntToStringType base::IntToString16 |
| 22 #else | 21 #else |
| 23 #define IntToStringType base::IntToString | 22 #define IntToStringType base::IntToString |
| 24 #endif | 23 #endif |
| 25 | 24 |
| 26 namespace { | 25 namespace { |
| 27 | 26 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 #endif | 105 #endif |
| 107 | 106 |
| 108 // This tests will make a complete PeerConnection-based call, verify that | 107 // This tests will make a complete PeerConnection-based call, verify that |
| 109 // video is playing for the call, and verify that non-empty audio debug | 108 // video is playing for the call, and verify that non-empty audio debug |
| 110 // recording files exist. The recording is enabled through webrtc-internals. The | 109 // recording files exist. The recording is enabled through webrtc-internals. The |
| 111 // HTML and Javascript is bypassed since it would trigger a file picker dialog. | 110 // HTML and Javascript is bypassed since it would trigger a file picker dialog. |
| 112 // Instead, the dialog callback FileSelected() is invoked directly. In fact, | 111 // Instead, the dialog callback FileSelected() is invoked directly. In fact, |
| 113 // there's never a webrtc-internals page opened at all since that's not needed. | 112 // there's never a webrtc-internals page opened at all since that's not needed. |
| 114 IN_PROC_BROWSER_TEST_F(WebRtcAudioDebugRecordingsBrowserTest, | 113 IN_PROC_BROWSER_TEST_F(WebRtcAudioDebugRecordingsBrowserTest, |
| 115 MAYBE_CallWithAudioDebugRecordings) { | 114 MAYBE_CallWithAudioDebugRecordings) { |
| 116 if (!media::AudioManager::Get()->HasAudioOutputDevices()) { | 115 if (!HasAudioOutputDevices()) { |
| 117 LOG(INFO) << "Missing output devices: skipping test..."; | 116 LOG(INFO) << "Missing output devices: skipping test..."; |
| 118 return; | 117 return; |
| 119 } | 118 } |
| 120 | 119 |
| 121 bool prev_io_allowed = base::ThreadRestrictions::SetIOAllowed(true); | 120 bool prev_io_allowed = base::ThreadRestrictions::SetIOAllowed(true); |
| 122 | 121 |
| 123 ASSERT_TRUE(embedded_test_server()->Start()); | 122 ASSERT_TRUE(embedded_test_server()->Start()); |
| 124 | 123 |
| 125 // We must navigate somewhere first so that the render process is created. | 124 // We must navigate somewhere first so that the render process is created. |
| 126 NavigateToURL(shell(), GURL("")); | 125 NavigateToURL(shell(), GURL("")); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 DISABLED_CallWithAudioDebugRecordingsEnabledThenDisabled | 189 DISABLED_CallWithAudioDebugRecordingsEnabledThenDisabled |
| 191 #else | 190 #else |
| 192 #define MAYBE_CallWithAudioDebugRecordingsEnabledThenDisabled \ | 191 #define MAYBE_CallWithAudioDebugRecordingsEnabledThenDisabled \ |
| 193 CallWithAudioDebugRecordingsEnabledThenDisabled | 192 CallWithAudioDebugRecordingsEnabledThenDisabled |
| 194 #endif | 193 #endif |
| 195 | 194 |
| 196 // As above, but enable and disable recordings before starting a call. No files | 195 // As above, but enable and disable recordings before starting a call. No files |
| 197 // should be created. | 196 // should be created. |
| 198 IN_PROC_BROWSER_TEST_F(WebRtcAudioDebugRecordingsBrowserTest, | 197 IN_PROC_BROWSER_TEST_F(WebRtcAudioDebugRecordingsBrowserTest, |
| 199 MAYBE_CallWithAudioDebugRecordingsEnabledThenDisabled) { | 198 MAYBE_CallWithAudioDebugRecordingsEnabledThenDisabled) { |
| 200 if (!media::AudioManager::Get()->HasAudioOutputDevices()) { | 199 if (!HasAudioOutputDevices()) { |
| 201 LOG(INFO) << "Missing output devices: skipping test..."; | 200 LOG(INFO) << "Missing output devices: skipping test..."; |
| 202 return; | 201 return; |
| 203 } | 202 } |
| 204 | 203 |
| 205 bool prev_io_allowed = base::ThreadRestrictions::SetIOAllowed(true); | 204 bool prev_io_allowed = base::ThreadRestrictions::SetIOAllowed(true); |
| 206 | 205 |
| 207 ASSERT_TRUE(embedded_test_server()->Start()); | 206 ASSERT_TRUE(embedded_test_server()->Start()); |
| 208 | 207 |
| 209 // We must navigate somewhere first so that the render process is created. | 208 // We must navigate somewhere first so that the render process is created. |
| 210 NavigateToURL(shell(), GURL("")); | 209 NavigateToURL(shell(), GURL("")); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 241 // Renderer crashes on Android M. https://crbug.com/535728. | 240 // Renderer crashes on Android M. https://crbug.com/535728. |
| 242 #define MAYBE_TwoCallsWithAudioDebugRecordings \ | 241 #define MAYBE_TwoCallsWithAudioDebugRecordings \ |
| 243 DISABLED_TwoCallsWithAudioDebugRecordings | 242 DISABLED_TwoCallsWithAudioDebugRecordings |
| 244 #else | 243 #else |
| 245 #define MAYBE_TwoCallsWithAudioDebugRecordings TwoCallsWithAudioDebugRecordings | 244 #define MAYBE_TwoCallsWithAudioDebugRecordings TwoCallsWithAudioDebugRecordings |
| 246 #endif | 245 #endif |
| 247 | 246 |
| 248 // Same test as CallWithAudioDebugRecordings, but does two parallel calls. | 247 // Same test as CallWithAudioDebugRecordings, but does two parallel calls. |
| 249 IN_PROC_BROWSER_TEST_F(WebRtcAudioDebugRecordingsBrowserTest, | 248 IN_PROC_BROWSER_TEST_F(WebRtcAudioDebugRecordingsBrowserTest, |
| 250 MAYBE_TwoCallsWithAudioDebugRecordings) { | 249 MAYBE_TwoCallsWithAudioDebugRecordings) { |
| 251 if (!media::AudioManager::Get()->HasAudioOutputDevices()) { | 250 if (!HasAudioOutputDevices()) { |
| 252 LOG(INFO) << "Missing output devices: skipping test..."; | 251 LOG(INFO) << "Missing output devices: skipping test..."; |
| 253 return; | 252 return; |
| 254 } | 253 } |
| 255 | 254 |
| 256 bool prev_io_allowed = base::ThreadRestrictions::SetIOAllowed(true); | 255 bool prev_io_allowed = base::ThreadRestrictions::SetIOAllowed(true); |
| 257 | 256 |
| 258 ASSERT_TRUE(embedded_test_server()->Start()); | 257 ASSERT_TRUE(embedded_test_server()->Start()); |
| 259 | 258 |
| 260 // We must navigate somewhere first so that the render process is created. | 259 // We must navigate somewhere first so that the render process is created. |
| 261 NavigateToURL(shell(), GURL("")); | 260 NavigateToURL(shell(), GURL("")); |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 } | 331 } |
| 333 | 332 |
| 334 // Verify that no other files exist and remove temp dir. | 333 // Verify that no other files exist and remove temp dir. |
| 335 EXPECT_TRUE(base::IsDirectoryEmpty(temp_dir_path)); | 334 EXPECT_TRUE(base::IsDirectoryEmpty(temp_dir_path)); |
| 336 EXPECT_TRUE(base::DeleteFile(temp_dir_path, false)); | 335 EXPECT_TRUE(base::DeleteFile(temp_dir_path, false)); |
| 337 | 336 |
| 338 base::ThreadRestrictions::SetIOAllowed(prev_io_allowed); | 337 base::ThreadRestrictions::SetIOAllowed(prev_io_allowed); |
| 339 } | 338 } |
| 340 | 339 |
| 341 } // namespace content | 340 } // namespace content |
| OLD | NEW |