| 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..ef1428d794d734d41425e890ea78d732e037dcbf 100644
|
| --- a/third_party/crashpad/crashpad/util/thread/thread_log_messages.cc
|
| +++ b/third_party/crashpad/crashpad/util/thread/thread_log_messages.cc
|
| @@ -36,34 +36,27 @@ namespace {
|
| // g_master lazy instance, which will create it upon first use.
|
| class ThreadLogMessagesMaster {
|
| public:
|
| - ThreadLogMessagesMaster() {
|
| + ThreadLogMessagesMaster(): log_listener_(LogMessageListener) {
|
| 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) {
|
| + static void LogMessageListener(logging::LogSeverity severity,
|
| + const char* file_path,
|
| + int line,
|
| + size_t message_start,
|
| + const std::string& string) {
|
| std::vector<std::string>* log_messages =
|
| reinterpret_cast<std::vector<std::string>*>(tls_.Get());
|
| if (log_messages) {
|
| @@ -72,11 +65,12 @@ class ThreadLogMessagesMaster {
|
|
|
| // Don’t consume the message. Allow it to be logged as if nothing was set as
|
| // the log message handler.
|
| - return false;
|
| }
|
|
|
| static base::ThreadLocalStorage::StaticSlot tls_;
|
|
|
| + logging::ScopedLogMessageListener log_listener_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ThreadLogMessagesMaster);
|
| };
|
|
|
|
|