Index: chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc |
diff --git a/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc b/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc |
index a1387eaa5c0ffa301e4a27cfef4cae96203e151d..74c1b31493efbed001babc807b4132d34bfca2ec 100644 |
--- a/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc |
+++ b/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc |
@@ -42,6 +42,10 @@ namespace StartAudioDebugRecordings = |
api::webrtc_logging_private::StartAudioDebugRecordings; |
namespace StopAudioDebugRecordings = |
api::webrtc_logging_private::StopAudioDebugRecordings; |
+namespace StartRtcEventLogging = |
+ api::webrtc_logging_private::StartRtcEventLogging; |
+namespace StopRtcEventLogging = |
+ api::webrtc_logging_private::StopRtcEventLogging; |
namespace { |
std::string HashIdWithOrigin(const std::string& security_origin, |
@@ -96,7 +100,8 @@ WebrtcLoggingPrivateFunction::LoggingHandlerFromRequest( |
if (!host) |
return nullptr; |
- return base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get(host, host); |
+ return base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get( |
+ host, WebRtcLoggingHandlerHost::kWebRtcLoggingHandlerHostKey); |
} |
scoped_refptr<WebRtcLoggingHandlerHost> |
@@ -130,19 +135,19 @@ void WebrtcLoggingPrivateFunctionWithUploadCallback::FireCallback( |
SendResponse(success); |
} |
-void WebrtcLoggingPrivateFunctionWithAudioDebugRecordingsCallback:: |
+void WebrtcLoggingPrivateFunctionWithTimeLimitedRecordingCallback:: |
FireErrorCallback(const std::string& error_message) { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
SetError(error_message); |
SendResponse(false); |
} |
-void WebrtcLoggingPrivateFunctionWithAudioDebugRecordingsCallback::FireCallback( |
+void WebrtcLoggingPrivateFunctionWithTimeLimitedRecordingCallback::FireCallback( |
const std::string& prefix_path, |
bool did_stop, |
bool did_manual_stop) { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
- api::webrtc_logging_private::AudioDebugRecordingsInfo result; |
+ api::webrtc_logging_private::TimeLimitedRecordingInfo result; |
result.prefix_path = prefix_path; |
result.did_stop = did_stop; |
result.did_manual_stop = did_manual_stop; |
@@ -318,7 +323,8 @@ bool WebrtcLoggingPrivateStartRtpDumpFunction::RunAsync() { |
return false; |
scoped_refptr<WebRtcLoggingHandlerHost> webrtc_logging_handler_host( |
- base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get(host, host)); |
+ base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get( |
+ host, WebRtcLoggingHandlerHost::kWebRtcLoggingHandlerHostKey)); |
WebRtcLoggingHandlerHost::GenericDoneCallback callback = base::Bind( |
&WebrtcLoggingPrivateStartRtpDumpFunction::FireCallback, this); |
@@ -360,7 +366,8 @@ bool WebrtcLoggingPrivateStopRtpDumpFunction::RunAsync() { |
return false; |
scoped_refptr<WebRtcLoggingHandlerHost> webrtc_logging_handler_host( |
- base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get(host, host)); |
+ base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get( |
+ host, WebRtcLoggingHandlerHost::kWebRtcLoggingHandlerHostKey)); |
WebRtcLoggingHandlerHost::GenericDoneCallback callback = base::Bind( |
&WebrtcLoggingPrivateStopRtpDumpFunction::FireCallback, this); |
@@ -394,10 +401,11 @@ bool WebrtcLoggingPrivateStartAudioDebugRecordingsFunction::RunAsync() { |
if (!host) |
return false; |
- scoped_refptr<WebRtcLoggingHandlerHost> webrtc_logging_handler_host( |
- base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get(host, host)); |
+ scoped_refptr<AudioDebugRecordingsHandler> audio_debug_recrdings_handler( |
Guido Urdaneta
2016/02/23 13:57:34
typo: recrdings -> recordings
terelius-chromium
2016/03/02 10:01:09
Done. Thanks!
|
+ base::UserDataAdapter<AudioDebugRecordingsHandler>::Get( |
+ host, AudioDebugRecordingsHandler::kAudioDebugRecordingsHandlerKey)); |
- webrtc_logging_handler_host->StartAudioDebugRecordings( |
+ audio_debug_recrdings_handler->StartAudioDebugRecordings( |
host, base::TimeDelta::FromSeconds(params->seconds), |
base::Bind( |
&WebrtcLoggingPrivateStartAudioDebugRecordingsFunction::FireCallback, |
@@ -423,10 +431,11 @@ bool WebrtcLoggingPrivateStopAudioDebugRecordingsFunction::RunAsync() { |
if (!host) |
return false; |
- scoped_refptr<WebRtcLoggingHandlerHost> webrtc_logging_handler_host( |
- base::UserDataAdapter<WebRtcLoggingHandlerHost>::Get(host, host)); |
+ scoped_refptr<AudioDebugRecordingsHandler> audio_debug_recrdings_handler( |
+ base::UserDataAdapter<AudioDebugRecordingsHandler>::Get( |
+ host, AudioDebugRecordingsHandler::kAudioDebugRecordingsHandlerKey)); |
- webrtc_logging_handler_host->StopAudioDebugRecordings( |
+ audio_debug_recrdings_handler->StopAudioDebugRecordings( |
host, |
base::Bind( |
&WebrtcLoggingPrivateStopAudioDebugRecordingsFunction::FireCallback, |
@@ -437,4 +446,68 @@ bool WebrtcLoggingPrivateStopAudioDebugRecordingsFunction::RunAsync() { |
return true; |
} |
+bool WebrtcLoggingPrivateStartRtcEventLoggingFunction::RunAsync() { |
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableRtcEventLoggingFromExtension)) { |
Henrik Grunell
2016/02/23 15:29:10
kEnableRtcEventLoggingFromExtension -> kEnableWebR
terelius-chromium
2016/03/02 10:01:09
Done.
|
+ return false; |
+ } |
+ |
+ scoped_ptr<StartRtcEventLogging::Params> params( |
+ StartRtcEventLogging::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ |
+ if (params->seconds < 0) { |
+ FireErrorCallback("seconds must be greater than or equal to 0"); |
+ return true; |
+ } |
+ |
+ content::RenderProcessHost* host = |
+ RphFromRequest(params->request, params->security_origin); |
+ if (!host) |
+ return false; |
+ |
+ scoped_refptr<RtcEventLogHandler> rtc_event_log_handler( |
+ base::UserDataAdapter<RtcEventLogHandler>::Get( |
+ host, RtcEventLogHandler::kRtcEventLogHandlerKey)); |
+ |
+ rtc_event_log_handler->StartRtcEventLogging( |
+ host, base::TimeDelta::FromSeconds(params->seconds), |
+ base::Bind( |
+ &WebrtcLoggingPrivateStartRtcEventLoggingFunction::FireCallback, |
+ this), |
+ base::Bind( |
+ &WebrtcLoggingPrivateStartRtcEventLoggingFunction::FireErrorCallback, |
+ this)); |
+ return true; |
+} |
+ |
+bool WebrtcLoggingPrivateStopRtcEventLoggingFunction::RunAsync() { |
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableRtcEventLoggingFromExtension)) { |
+ return false; |
+ } |
+ |
+ scoped_ptr<StopRtcEventLogging::Params> params( |
+ StopRtcEventLogging::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ |
+ content::RenderProcessHost* host = |
+ RphFromRequest(params->request, params->security_origin); |
+ if (!host) |
+ return false; |
+ |
+ scoped_refptr<RtcEventLogHandler> rtc_event_log_handler( |
+ base::UserDataAdapter<RtcEventLogHandler>::Get( |
+ host, RtcEventLogHandler::kRtcEventLogHandlerKey)); |
Henrik Grunell
2016/02/23 15:29:10
Same here. Rtc -> WebRtc
terelius-chromium
2016/03/02 10:01:09
Done.
|
+ |
+ rtc_event_log_handler->StopRtcEventLogging( |
+ host, |
+ base::Bind(&WebrtcLoggingPrivateStopRtcEventLoggingFunction::FireCallback, |
+ this), |
+ base::Bind( |
+ &WebrtcLoggingPrivateStopRtcEventLoggingFunction::FireErrorCallback, |
+ this)); |
+ return true; |
+} |
+ |
} // namespace extensions |