Index: remoting/host/native_messaging/log_message_handler.cc |
diff --git a/remoting/host/native_messaging/log_message_handler.cc b/remoting/host/native_messaging/log_message_handler.cc |
index 70f744b87e87b1d5ddcd84c486a7b06c720dc715..9f532456c9a2b89831ce63fc686eaa9abb2d0c2a 100644 |
--- a/remoting/host/native_messaging/log_message_handler.cc |
+++ b/remoting/host/native_messaging/log_message_handler.cc |
@@ -37,18 +37,13 @@ LogMessageHandler::LogMessageHandler( |
LOG(FATAL) << "LogMessageHandler is already registered. Only one instance " |
<< "per process is allowed."; |
} |
- previous_log_message_handler_ = logging::GetLogMessageHandler(); |
- logging::SetLogMessageHandler(&LogMessageHandler::OnLogMessage); |
+ logging::AddLogMessageHandler(&LogMessageHandler::OnLogMessage); |
g_log_message_handler = this; |
} |
LogMessageHandler::~LogMessageHandler() { |
base::AutoLock lock(g_log_message_handler_lock.Get()); |
- if (logging::GetLogMessageHandler() != &LogMessageHandler::OnLogMessage) { |
- LOG(FATAL) << "LogMessageHandler is not the top-most message handler. " |
- << "Cannot unregister."; |
- } |
- logging::SetLogMessageHandler(previous_log_message_handler_); |
+ logging::RemoveLogMessageHandler(&LogMessageHandler::OnLogMessage); |
g_log_message_handler = nullptr; |
} |
@@ -58,23 +53,21 @@ const char* LogMessageHandler::kDebugMessageTypeName = "_debug_log"; |
// static |
bool LogMessageHandler::OnLogMessage( |
logging::LogSeverity severity, |
- const char* file, |
+ const std::string& file, |
int line, |
- size_t message_start, |
const std::string& str) { |
base::AutoLock lock(g_log_message_handler_lock.Get()); |
if (g_log_message_handler) { |
g_log_message_handler->PostLogMessageToCorrectThread( |
- severity, file, line, message_start, str); |
+ severity, file, line, str); |
} |
return false; |
} |
void LogMessageHandler::PostLogMessageToCorrectThread( |
logging::LogSeverity severity, |
- const char* file, |
+ const std::string& file, |
int line, |
- size_t message_start, |
const std::string& str) { |
// Don't process this message if we're already logging and on the caller |
// thread. This guards against an infinite loop if any code called by this |
@@ -93,14 +86,13 @@ void LogMessageHandler::PostLogMessageToCorrectThread( |
FROM_HERE, |
base::Bind(&LogMessageHandler::SendLogMessageToClient, |
weak_ptr_factory_.GetWeakPtr(), |
- severity, file, line, message_start, str)); |
+ severity, file, line, str)); |
} |
void LogMessageHandler::SendLogMessageToClient( |
logging::LogSeverity severity, |
- const char* file, |
+ const std::string& file, |
int line, |
- size_t message_start, |
const std::string& str) { |
suppress_logging_ = true; |