| Index: chrome/test/chromedriver/logging.cc
|
| diff --git a/chrome/test/chromedriver/logging.cc b/chrome/test/chromedriver/logging.cc
|
| index 67f60e4acff040e479f71ccc41daaa2c4ebed961..6fece05b2e4204e348d52972c8b026f529c934a1 100644
|
| --- a/chrome/test/chromedriver/logging.cc
|
| +++ b/chrome/test/chromedriver/logging.cc
|
| @@ -96,11 +96,19 @@ bool InternalIsVLogOn(int vlog_level) {
|
| return GetLevelFromSeverity(vlog_level * -1) >= level;
|
| }
|
|
|
| -bool HandleLogMessage(int severity,
|
| - const char* file,
|
| - int line,
|
| - size_t message_start,
|
| - const std::string& str) {
|
| +class LogMessageHandler : logging::LogMessageHandler {
|
| + bool OnMessage(int severity,
|
| + const char* file,
|
| + int line,
|
| + size_t message_start,
|
| + const std::string& str) override;
|
| +};
|
| +
|
| +bool LogMessageHandler::OnMessage(int severity,
|
| + const char* file,
|
| + int line,
|
| + size_t message_start,
|
| + const std::string& str) {
|
| Log::Level level = GetLevelFromSeverity(severity);
|
| std::string message = str.substr(message_start);
|
|
|
| @@ -237,7 +245,8 @@ bool InitLogging() {
|
| false, // enable_thread_id
|
| false, // enable_timestamp
|
| false); // enable_tickcount
|
| - logging::SetLogMessageHandler(&HandleLogMessage);
|
| + auto* handler = new LogMessageHandler(); // Intentially leak this instance.
|
| + CHECK(handler);
|
|
|
| logging::LoggingSettings logging_settings;
|
| logging_settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
|
|
|