Chromium Code Reviews| 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 7f67e458379bdda2a73498f1c7cbe28d05113b20..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 { |
|
Mark Mentovai
2016/11/14 14:40:43
Note the local change in README.chromium.
|
| 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); |