☠☠ backed out by c0ca500c0330 ☠ ☠ | |
author | David Teller <dteller@mozilla.com> |
Mon, 03 Aug 2020 12:49:40 +0000 | |
changeset 543114 | 2a0969c26d9562eabaa10dfd4ac9d1a693b6ff50 |
parent 543113 | c61c4ac846f6cfbb4845e97aba152d0d7a533820 |
child 543115 | 3417fe7200bdb67e7b46554968a52bf0956fdc76 |
push id | 123234 |
push user | dteller@mozilla.com |
push date | Mon, 03 Aug 2020 12:53:04 +0000 |
treeherder | autoland@c1af633ab74e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mconley |
bugs | 1647695 |
milestone | 81.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
dom/ipc/ProcessHangMonitor.cpp | file | annotate | diff | comparison | revisions | |
dom/ipc/nsIHangReport.idl | file | annotate | diff | comparison | revisions |
--- a/dom/ipc/ProcessHangMonitor.cpp +++ b/dom/ipc/ProcessHangMonitor.cpp @@ -1209,16 +1209,25 @@ HangMonitoredProcess::UserCanceled() { if (mActor) { uint32_t id = mHangData.get_PluginHangData().pluginId(); mActor->CleanupPluginHang(id, true); } return NS_OK; } +NS_IMETHODIMP +HangMonitoredProcess::GetChildID(uint64_t* aChildID) { + if (!mContentParent) { + return NS_ERROR_NOT_AVAILABLE; + } + *aChildID = mContentParent->ChildID(); + return NS_OK; +} + static bool InterruptCallback(JSContext* cx) { if (HangMonitorChild* child = HangMonitorChild::Get()) { return child->InterruptCallback(); } return true; }
--- a/dom/ipc/nsIHangReport.idl +++ b/dom/ipc/nsIHangReport.idl @@ -35,16 +35,19 @@ interface nsIHangReport : nsISupports // Duration of the hang so far. readonly attribute double hangDuration; readonly attribute AString addonId; // For PLUGIN_HANGs, this field contains information about the plugin. // Only valid for PLUGIN_HANG reports. readonly attribute ACString pluginName; + // The child id of the process in which the hang happened. + readonly attribute unsigned long long childID; + // Called by front end code when user ignores or cancels // the notification. void userCanceled(); // Terminate the slow script if it is still running. // Only valid for SLOW_SCRIPT reports. void terminateScript();