Chromium Code Reviews| 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 |