| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/crash/content/app/breakpad_win.h" | 5 #include "components/crash/content/app/breakpad_win.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <shellapi.h> | 8 #include <shellapi.h> |
| 9 #include <stddef.h> | 9 #include <stddef.h> |
| 10 #include <tchar.h> | 10 #include <tchar.h> |
| (...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 574 callback = &DumpDoneCallback; | 574 callback = &DumpDoneCallback; |
| 575 default_filter = &ChromeExceptionFilter; | 575 default_filter = &ChromeExceptionFilter; |
| 576 } else if (process_type == L"service") { | 576 } else if (process_type == L"service") { |
| 577 callback = &DumpDoneCallback; | 577 callback = &DumpDoneCallback; |
| 578 default_filter = &ServiceExceptionFilter; | 578 default_filter = &ServiceExceptionFilter; |
| 579 } | 579 } |
| 580 | 580 |
| 581 if (GetCrashReporterClient()->ShouldCreatePipeName(process_type)) | 581 if (GetCrashReporterClient()->ShouldCreatePipeName(process_type)) |
| 582 InitPipeNameEnvVar(is_per_user_install); | 582 InitPipeNameEnvVar(is_per_user_install); |
| 583 | 583 |
| 584 if (process_type == L"browser") | |
| 585 GetCrashReporterClient()->InitBrowserCrashDumpsRegKey(); | |
| 586 | |
| 587 std::unique_ptr<base::Environment> env(base::Environment::Create()); | 584 std::unique_ptr<base::Environment> env(base::Environment::Create()); |
| 588 std::string pipe_name_ascii; | 585 std::string pipe_name_ascii; |
| 589 if (!env->GetVar(kPipeNameVar, &pipe_name_ascii)) { | 586 if (!env->GetVar(kPipeNameVar, &pipe_name_ascii)) { |
| 590 // Breakpad is not enabled. Configuration is managed or the user | 587 // Breakpad is not enabled. Configuration is managed or the user |
| 591 // did not allow Google Update to send crashes. We need to use | 588 // did not allow Google Update to send crashes. We need to use |
| 592 // our default crash handler instead, but only for the | 589 // our default crash handler instead, but only for the |
| 593 // browser/service processes. | 590 // browser/service processes. |
| 594 if (default_filter) | 591 if (default_filter) |
| 595 InitDefaultCrashCallback(default_filter); | 592 InitDefaultCrashCallback(default_filter); |
| 596 return; | 593 return; |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 739 extern "C" void __declspec(dllexport) __cdecl | 736 extern "C" void __declspec(dllexport) __cdecl |
| 740 UnregisterNonABICompliantCodeRange(void* start) { | 737 UnregisterNonABICompliantCodeRange(void* start) { |
| 741 ExceptionHandlerRecord* record = | 738 ExceptionHandlerRecord* record = |
| 742 reinterpret_cast<ExceptionHandlerRecord*>(start); | 739 reinterpret_cast<ExceptionHandlerRecord*>(start); |
| 743 | 740 |
| 744 CHECK(RtlDeleteFunctionTable(&record->runtime_function)); | 741 CHECK(RtlDeleteFunctionTable(&record->runtime_function)); |
| 745 } | 742 } |
| 746 #endif | 743 #endif |
| 747 | 744 |
| 748 } // namespace breakpad | 745 } // namespace breakpad |
| OLD | NEW |