Chromium Code Reviews| Index: chrome/tools/crash_service/main.cc |
| diff --git a/chrome/tools/crash_service/main.cc b/chrome/tools/crash_service/main.cc |
| index c4889c71e978d5e8343233b3a55e677fc5b9eaed..a06599367ccf0ea1121d98310112a137dae60a0e 100644 |
| --- a/chrome/tools/crash_service/main.cc |
| +++ b/chrome/tools/crash_service/main.cc |
| @@ -2,8 +2,6 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "chrome/tools/crash_service/crash_service.h" |
| - |
| #include <windows.h> |
| #include <stdlib.h> |
| #include <tchar.h> |
| @@ -12,6 +10,10 @@ |
| #include "base/command_line.h" |
| #include "base/file_util.h" |
| #include "base/logging.h" |
| +#include "base/path_service.h" |
| +#include "chrome/common/chrome_constants.h" |
| +#include "chrome/common/chrome_paths.h" |
| +#include "components/breakpad/tools/crash_service.h" |
| namespace { |
| @@ -39,6 +41,8 @@ int __stdcall wWinMain(HINSTANCE instance, HINSTANCE, wchar_t* cmd_line, |
| CommandLine::Init(0, NULL); |
| + chrome::RegisterPathProvider(); |
| + |
| // We use/create a directory under the user's temp folder, for logging. |
| base::FilePath operating_dir; |
| GetCrashServiceDirectory(&operating_dir); |
| @@ -55,8 +59,24 @@ int __stdcall wWinMain(HINSTANCE instance, HINSTANCE, wchar_t* cmd_line, |
| VLOG(1) << "session start. cmdline is [" << cmd_line << "]"; |
| - CrashService crash_service(operating_dir.value()); |
| - if (!crash_service.Initialize(::GetCommandLineW())) |
| + // The dumps path is typically : '<user profile>\Local settings\ |
|
Robert Sesek
2013/10/17 13:16:05
Does path case matter in windows? I think it's |Lo
jochen (gone - plz use gerrit)
2013/10/17 16:47:39
Done.
|
| + // Application data\Goggle\Chrome\Crash Reports' and the report path is |
| + // Application data\Google\Chrome\Reported Crashes.txt |
| + base::FilePath user_data_dir; |
| + if (!PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) { |
| + LOG(ERROR) << "could not get DIR_USER_DATA"; |
| + return false; |
| + } |
| + base::FilePath report_path = user_data_dir.Append(chrome::kCrashReportLog); |
| + |
| + base::FilePath dumps_path; |
| + if (!PathService::Get(chrome::DIR_CRASH_DUMPS, &dumps_path)) { |
| + LOG(ERROR) << "could not get DIR_CRASH_DUMPS"; |
| + return 1; |
| + } |
| + |
| + breakpad::CrashService crash_service; |
| + if (!crash_service.Initialize(operating_dir, report_path, dumps_path)) |
| return 1; |
| VLOG(1) << "ready to process crash requests"; |