Index: chrome/browser/media/webrtc_logging_handler_host.cc |
diff --git a/chrome/browser/media/webrtc_logging_handler_host.cc b/chrome/browser/media/webrtc_logging_handler_host.cc |
index e1919d2670c2bb17bd436916f522fb9ab448de55..90e0bfa632b5f2efa9cabb6fcbf0cf5e5d69ae63 100644 |
--- a/chrome/browser/media/webrtc_logging_handler_host.cc |
+++ b/chrome/browser/media/webrtc_logging_handler_host.cc |
@@ -219,7 +219,9 @@ void WebRtcLoggingHandlerHost::LogMessage(const std::string& message) { |
BrowserThread::IO, |
FROM_HERE, |
base::Bind( |
- &WebRtcLoggingHandlerHost::AddLogMessageFromBrowser, this, message)); |
+ &WebRtcLoggingHandlerHost::AddLogMessageFromBrowser, |
+ this, |
+ WebRtcLoggingMessageData(base::Time::Now(), message))); |
} |
void WebRtcLoggingHandlerHost::OnChannelClosing() { |
@@ -227,6 +229,7 @@ void WebRtcLoggingHandlerHost::OnChannelClosing() { |
if (logging_state_ == STARTED || logging_state_ == STOPPED) { |
if (upload_log_on_render_close_) { |
logging_state_ = STOPPED; |
+ logging_started_time_ = base::Time(); |
content::BrowserThread::PostTaskAndReplyWithResult( |
content::BrowserThread::FILE, |
FROM_HERE, |
@@ -249,7 +252,7 @@ bool WebRtcLoggingHandlerHost::OnMessageReceived(const IPC::Message& message, |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
bool handled = true; |
IPC_BEGIN_MESSAGE_MAP_EX(WebRtcLoggingHandlerHost, message, *message_was_ok) |
- IPC_MESSAGE_HANDLER(WebRtcLoggingMsg_AddLogMessage, OnAddLogMessage) |
+ IPC_MESSAGE_HANDLER(WebRtcLoggingMsg_AddLogMessages, OnAddLogMessages) |
IPC_MESSAGE_HANDLER(WebRtcLoggingMsg_LoggingStopped, |
OnLoggingStoppedInRenderer) |
IPC_MESSAGE_UNHANDLED(handled = false) |
@@ -259,16 +262,20 @@ bool WebRtcLoggingHandlerHost::OnMessageReceived(const IPC::Message& message, |
} |
void WebRtcLoggingHandlerHost::AddLogMessageFromBrowser( |
- const std::string& message) { |
+ const WebRtcLoggingMessageData& message) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
if (logging_state_ == STARTED) |
- LogToCircularBuffer(message); |
+ LogToCircularBuffer(message.Format(logging_started_time_)); |
} |
-void WebRtcLoggingHandlerHost::OnAddLogMessage(const std::string& message) { |
+void WebRtcLoggingHandlerHost::OnAddLogMessages( |
+ const std::vector<WebRtcLoggingMessageData>& messages) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
- if (logging_state_ == STARTED || logging_state_ == STOPPING) |
- LogToCircularBuffer(message); |
+ if (logging_state_ == STARTED || logging_state_ == STOPPING) { |
+ for (size_t i = 0; i < messages.size(); ++i) { |
+ LogToCircularBuffer(messages[i].Format(logging_started_time_)); |
+ } |
+ } |
} |
void WebRtcLoggingHandlerHost::OnLoggingStoppedInRenderer() { |
@@ -281,6 +288,7 @@ void WebRtcLoggingHandlerHost::OnLoggingStoppedInRenderer() { |
BadMessageReceived(); |
return; |
} |
+ logging_started_time_ = base::Time(); |
logging_state_ = STOPPED; |
FireGenericDoneCallback(&stop_callback_, true, ""); |
} |
@@ -398,6 +406,7 @@ void WebRtcLoggingHandlerHost::LogInitialInfoOnIOThread( |
void WebRtcLoggingHandlerHost::NotifyLoggingStarted() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
Send(new WebRtcLoggingMsg_StartLogging()); |
+ logging_started_time_ = base::Time::Now(); |
logging_state_ = STARTED; |
FireGenericDoneCallback(&start_callback_, true, ""); |
} |