| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/app/breakpad_win.h" | 5 #include "chrome/app/breakpad_win.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <shellapi.h> | 8 #include <shellapi.h> |
| 9 #include <tchar.h> | 9 #include <tchar.h> |
| 10 | 10 |
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 bool use_crash_service = !controlled_by_policy && | 512 bool use_crash_service = !controlled_by_policy && |
| 513 ((command.HasSwitch(switches::kNoErrorDialogs) || | 513 ((command.HasSwitch(switches::kNoErrorDialogs) || |
| 514 GetEnvironmentVariable( | 514 GetEnvironmentVariable( |
| 515 ASCIIToWide(env_vars::kHeadless).c_str(), NULL, 0))); | 515 ASCIIToWide(env_vars::kHeadless).c_str(), NULL, 0))); |
| 516 bool is_per_user_install = | 516 bool is_per_user_install = |
| 517 InstallUtil::IsPerUserInstall(info->dll_path.c_str()); | 517 InstallUtil::IsPerUserInstall(info->dll_path.c_str()); |
| 518 | 518 |
| 519 std::wstring pipe_name; | 519 std::wstring pipe_name; |
| 520 if (use_crash_service) { | 520 if (use_crash_service) { |
| 521 // Crash reporting is done by crash_service.exe. | 521 // Crash reporting is done by crash_service.exe. |
| 522 pipe_name = kChromePipeName; | 522 const wchar_t* var_name = L"CHROME_BREAKPAD_PIPE_NAME"; |
| 523 DWORD value_length = ::GetEnvironmentVariableW(var_name, NULL, 0); |
| 524 if (value_length == 0) { |
| 525 pipe_name = kChromePipeName; |
| 526 } else { |
| 527 scoped_array<wchar_t> value(new wchar_t[value_length]); |
| 528 ::GetEnvironmentVariableW(var_name, value.get(), value_length); |
| 529 pipe_name = value.get(); |
| 530 } |
| 523 } else { | 531 } else { |
| 524 // We want to use the Google Update crash reporting. We need to check if the | 532 // We want to use the Google Update crash reporting. We need to check if the |
| 525 // user allows it first (in case the administrator didn't already decide | 533 // user allows it first (in case the administrator didn't already decide |
| 526 // via policy). | 534 // via policy). |
| 527 if (!controlled_by_policy) | 535 if (!controlled_by_policy) |
| 528 crash_reporting_enabled = GoogleUpdateSettings::GetCollectStatsConsent(); | 536 crash_reporting_enabled = GoogleUpdateSettings::GetCollectStatsConsent(); |
| 529 | 537 |
| 530 if (!crash_reporting_enabled) { | 538 if (!crash_reporting_enabled) { |
| 531 // Configuration managed or the user did not allow Google Update to send | 539 // Configuration managed or the user did not allow Google Update to send |
| 532 // crashes, we need to use our default crash handler instead, but only | 540 // crashes, we need to use our default crash handler instead, but only |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 621 if (QueueUserWorkItem( | 629 if (QueueUserWorkItem( |
| 622 &InitCrashReporterThread, | 630 &InitCrashReporterThread, |
| 623 info, | 631 info, |
| 624 WT_EXECUTELONGFUNCTION) == 0) { | 632 WT_EXECUTELONGFUNCTION) == 0) { |
| 625 // We failed to queue to the worker pool, initialize in this thread. | 633 // We failed to queue to the worker pool, initialize in this thread. |
| 626 InitCrashReporterThread(info); | 634 InitCrashReporterThread(info); |
| 627 } | 635 } |
| 628 } | 636 } |
| 629 } | 637 } |
| 630 } | 638 } |
| OLD | NEW |