Index: third_party/crashpad/crashpad/util/thread/thread_log_messages.cc |
diff --git a/third_party/crashpad/crashpad/util/thread/thread_log_messages.cc b/third_party/crashpad/crashpad/util/thread/thread_log_messages.cc |
index dec111e7fe58e8b334c2fd01dac0a1a40692c01c..b819ec204804e656f76a45a699e5b69fd1a629d5 100644 |
--- a/third_party/crashpad/crashpad/util/thread/thread_log_messages.cc |
+++ b/third_party/crashpad/crashpad/util/thread/thread_log_messages.cc |
@@ -34,36 +34,29 @@ namespace { |
// |
// Practically, the only object of this class that might exist is managed by the |
// g_master lazy instance, which will create it upon first use. |
-class ThreadLogMessagesMaster { |
+class ThreadLogMessagesMaster : logging::LogMessageListener { |
public: |
ThreadLogMessagesMaster() { |
DCHECK(!tls_.initialized()); |
tls_.Initialize(nullptr); |
DCHECK(tls_.initialized()); |
- |
- DCHECK(!logging::GetLogMessageHandler()); |
- logging::SetLogMessageHandler(LogMessageHandler); |
} |
~ThreadLogMessagesMaster() { |
- DCHECK_EQ(logging::GetLogMessageHandler(), &LogMessageHandler); |
- logging::SetLogMessageHandler(nullptr); |
- |
tls_.Free(); |
} |
void SetThreadMessageList(std::vector<std::string>* message_list) { |
- DCHECK_EQ(logging::GetLogMessageHandler(), &LogMessageHandler); |
DCHECK_NE(tls_.Get() != nullptr, message_list != nullptr); |
tls_.Set(message_list); |
} |
- private: |
- static bool LogMessageHandler(logging::LogSeverity severity, |
- const char* file_path, |
- int line, |
- size_t message_start, |
- const std::string& string) { |
+ // logging::LogMessageListener |
+ void OnMessage(logging::LogSeverity severity, |
+ const char* file_path, |
+ int line, |
+ size_t message_start, |
+ const std::string& string) override { |
std::vector<std::string>* log_messages = |
reinterpret_cast<std::vector<std::string>*>(tls_.Get()); |
if (log_messages) { |
@@ -72,9 +65,9 @@ class ThreadLogMessagesMaster { |
// Don’t consume the message. Allow it to be logged as if nothing was set as |
// the log message handler. |
- return false; |
} |
+ private: |
static base::ThreadLocalStorage::StaticSlot tls_; |
DISALLOW_COPY_AND_ASSIGN(ThreadLogMessagesMaster); |