mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
3148018ed7
This patch removes the C++ code used to run the minidump analyzer when a content process crashes, and replaces it with JS code within the CrashService object. This removes the need for a separate shutdown blocker in C++ code and allows end-to-end testing of the crash service functionality. Additionally the exception handler code can be simplified since it's now only used to run the crash reporter client. The test added to test_crash_service.js covers computing the minidump SHA256 hash (bug 1322611) and of the minidump analyzer itself (bug 1280477). MozReview-Commit-ID: LO5w839NHev
33 lines
1.0 KiB
Plaintext
33 lines
1.0 KiB
Plaintext
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
[scriptable, uuid(f60d76e5-62c3-4f58-89f6-b726c2b7bc20)]
|
|
interface nsICrashService : nsISupports
|
|
{
|
|
/**
|
|
* Records the occurrence of a crash.
|
|
*
|
|
* @param processType
|
|
* One of the PROCESS_TYPE constants defined below.
|
|
* @param crashType
|
|
* One of the CRASH_TYPE constants defined below.
|
|
* @param id
|
|
* Crash ID. Likely a UUID.
|
|
*
|
|
* @return {Promise} A promise that resolves after the crash has been stored
|
|
*/
|
|
nsISupports addCrash(in long processType, in long crashType, in AString id);
|
|
|
|
const long PROCESS_TYPE_MAIN = 0;
|
|
const long PROCESS_TYPE_CONTENT = 1;
|
|
const long PROCESS_TYPE_PLUGIN = 2;
|
|
const long PROCESS_TYPE_GMPLUGIN = 3;
|
|
const long PROCESS_TYPE_GPU = 4;
|
|
|
|
const long CRASH_TYPE_CRASH = 0;
|
|
const long CRASH_TYPE_HANG = 1;
|
|
};
|