| Index: base/logging.cc
|
| diff --git a/base/logging.cc b/base/logging.cc
|
| index 98cecd094fd84e7312c9a3e9998dfb44cfd05925..0771b47c182e5c18c868f1124a0784bf411d74a9 100644
|
| --- a/base/logging.cc
|
| +++ b/base/logging.cc
|
| @@ -13,8 +13,6 @@
|
| #if defined(OS_WIN)
|
| #include <io.h>
|
| #include <windows.h>
|
| -#include "base/files/file_path.h"
|
| -#include "base/files/file_util.h"
|
| typedef HANDLE FileHandle;
|
| typedef HANDLE MutexHandle;
|
| // Windows warns on using write(). It prefers _write().
|
| @@ -289,13 +287,24 @@ bool InitializeLogFileHandle() {
|
| FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr,
|
| OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
|
| if (g_log_file == INVALID_HANDLE_VALUE || g_log_file == nullptr) {
|
| + // We are intentionally not using FilePath or FileUtil here to reduce the
|
| + // dependencies of the logging implementation. For e.g. FilePath and
|
| + // FileUtil depend on shell32 and user32.dll. This is not acceptable for
|
| + // some consumers of base logging like chrome_elf, etc.
|
| + // Please don't change the code below to use FilePath.
|
| // try the current directory
|
| - base::FilePath file_path;
|
| - if (!base::GetCurrentDirectory(&file_path))
|
| + wchar_t system_buffer[MAX_PATH];
|
| + system_buffer[0] = 0;
|
| + DWORD len = ::GetCurrentDirectory(arraysize(system_buffer),
|
| + system_buffer);
|
| + if (len == 0 || len > arraysize(system_buffer))
|
| return false;
|
|
|
| - *g_log_file_name = file_path.Append(
|
| - FILE_PATH_LITERAL("debug.log")).value();
|
| + *g_log_file_name = system_buffer;
|
| + // Append a trailing backslash if needed.
|
| + if (g_log_file_name->back() != L'\\')
|
| + *g_log_file_name += L"\\";
|
| + *g_log_file_name += L"debug.log";
|
|
|
| g_log_file = CreateFile(g_log_file_name->c_str(), FILE_APPEND_DATA,
|
| FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr,
|
|
|