| Index: chrome_frame/chrome_frame_reporting.cc
|
| ===================================================================
|
| --- chrome_frame/chrome_frame_reporting.cc (revision 45197)
|
| +++ chrome_frame/chrome_frame_reporting.cc (working copy)
|
| @@ -11,6 +11,7 @@
|
| #include "chrome/installer/util/google_update_settings.h"
|
| #include "chrome/installer/util/install_util.h"
|
| #include "chrome_frame/chrome_frame_reporting.h"
|
| +#include "chrome_frame/exception_barrier.h"
|
| #include "chrome_frame/utils.h"
|
|
|
| // Well known SID for the system principal.
|
| @@ -45,6 +46,11 @@
|
| return &custom_info;
|
| }
|
|
|
| +
|
| +void CALLBACK BreakpadHandler(EXCEPTION_POINTERS *ptrs) {
|
| + WriteMinidumpForException(ptrs);
|
| +}
|
| +
|
| extern "C" IMAGE_DOS_HEADER __ImageBase;
|
|
|
| bool InitializeCrashReporting() {
|
| @@ -55,6 +61,10 @@
|
| if (!always_take_dump && !GoogleUpdateSettings::GetCollectStatsConsent())
|
| return true;
|
|
|
| + // Set the handler for ExceptionBarrier for this module:
|
| + DCHECK(ExceptionBarrier::handler() == NULL);
|
| + ExceptionBarrier::set_handler(BreakpadHandler);
|
| +
|
| // Get the alternate dump directory. We use the temp path.
|
| FilePath temp_directory;
|
| if (!file_util::GetTempDir(&temp_directory) || temp_directory.empty()) {
|
|
|