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 |