Index: chrome_frame/chrome_frame_reporting.h |
diff --git a/chrome_frame/chrome_frame_reporting.h b/chrome_frame/chrome_frame_reporting.h |
index 94bfbdc8a3fd02a5e75d6ed44613bf87102e8f7f..94ee7f97bf2b20e5ac4646ebbd4b70c8e652f8dd 100644 |
--- a/chrome_frame/chrome_frame_reporting.h |
+++ b/chrome_frame/chrome_frame_reporting.h |
@@ -2,22 +2,27 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// A wrapper around common crash reporting code to manage reporting for Chrome |
-// Frame. |
- |
#ifndef CHROME_FRAME_CHROME_FRAME_REPORTING_H_ |
#define CHROME_FRAME_CHROME_FRAME_REPORTING_H_ |
-#include "chrome_frame/crash_reporting/crash_report.h" |
+#include "chrome_frame/scoped_initialization_manager.h" |
+ |
+namespace chrome_frame { |
-extern const wchar_t kSystemPrincipalSid[]; |
+// A Traits class for a ScopedInitializationManager that starts/stops crash |
+// reporting for npchrome_frame.dll. |
+class CrashReportingTraits { |
+ public: |
+ static void Initialize(); |
+ static void Shutdown(); |
+}; |
-// Intialize crash reporting for Chrome Frame. Specific parameters here include |
-// using the temp directory for dumps, determining if the install is system |
-// wide or user specific, and customized client info. |
-bool InitializeCrashReporting(); |
+// Manages crash reporting for the Chrome Frame dll. Crash reporting cannot be |
+// reliably started or stopped when the loader lock is held, so DllMain cannot |
+// be used to start/stop reporting. Rather, instances of this class are used in |
+// each entrypoint into the dll. |
+typedef ScopedInitializationManager<CrashReportingTraits> ScopedCrashReporting; |
-// Shut down crash reporting for Chrome Frame. |
-bool ShutdownCrashReporting(); |
+} // namespace chrome_frame |
#endif // CHROME_FRAME_CHROME_FRAME_REPORTING_H_ |