Provides access to crash reporting functionality.

 @status UNSTABLE - This interface is not frozen and will probably change in
                    future releases.
[scriptable, uuid(d9a0f5b2-a7df-4aeb-9775-21b9e01b4c59)]
interface nsICrashReporter : nsISupports

Attributes

 Enable or disable the crashreporter at runtime.
attribute boolean enabled
 Get or set the path on the local system to which minidumps will be
 written when a crash happens.

 @throw NS_ERROR_NOT_INITIALIZED if crash reporting is not initialized
attribute nsILocalFile minidumpPath
 Get or set the URL to which crash reports will be submitted.
 Only https and http URLs are allowed, as the submission is handled
 by OS-native networking libraries.

 @throw NS_ERROR_NOT_INITIALIZED if crash reporting is not initialized
 @throw NS_ERROR_INVALID_ARG on set if a non-http(s) URL is assigned
 @throw NS_ERROR_FAILURE on get if no URL is set
attribute nsIURL serverURL

Methods

 Add some extra data to be submitted with a crash report.

 @param key
        Name of the data to be added.
 @param data
        Data to be added.

 @throw NS_ERROR_NOT_INITIALIZED if crash reporting not initialized
 @throw NS_ERROR_INVALID_ARG if key or data contain invalid characters.
                             Invalid characters for key are '=' and
                             '\n'.  Invalid character for data is '\0'.
void annotateCrashReport(in ACString key, in ACString data)
 Append some data to the "Notes" field, to be submitted with a crash report.
 Unlike annotateCrashReport, this method will append to existing data.

 @param data
        Data to be added.

 @throw NS_ERROR_NOT_INITIALIZED if crash reporting not initialized
 @throw NS_ERROR_INVALID_ARG if data contains invalid characters.
                             The only invalid character is '\0'.
void appendAppNotesToCrashReport(in ACString data)
 Append note containing an Obj-C exception's info.

 @param aException  NSException object to append note for
[noscript] void appendObjCExceptionInfoToAppNotes(in voidPtr aException)
 Write a minidump immediately, with the user-supplied exception
 information. This is implemented on Windows only, because
 SEH (structured exception handling) exists on Windows only.

 @param aExceptionInfo  EXCEPTION_INFO* provided by Window's SEH
[noscript] void writeMinidumpForException(in voidPtr aExceptionInfo)