Backed out changeset 1d9301697aa0 (bug 1887752) for causing failures on browser_all_f...
[gecko.git] / dom / ipc / PProcessHangMonitor.ipdl
blob290f9b157baf08113401f43b2919d3063b9a3f92
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2  * vim: sw=2 ts=8 et :
3  */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 // ParamTraits stuff for nsIRemoteTab::NavigationType
9 include "mozilla/dom/TabMessageUtils.h";
10 using nsIRemoteTab::NavigationType from "nsIRemoteTab.h";
12 using base::ProcessId from "base/process.h";
13 using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h";
14 using nsIThread::QoSPriority from "nsIThread.h";
16 namespace mozilla {
18 struct SlowScriptData
20   TabId tabId;
21   nsCString filename;
22   nsString addonId;
23   double duration;
26 [ChildImpl=virtual, ParentImpl=virtual, ChildProc=Content]
27 protocol PProcessHangMonitor
29 parent:
30   async HangEvidence(SlowScriptData data);
31   async ClearHang();
33 child:
34   async TerminateScript();
35   async RequestContentJSInterrupt();
37   async BeginStartingDebugger();
38   async EndStartingDebugger();
40   async PaintWhileInterruptingJS(TabId tabId);
41   async UnloadLayersWhileInterruptingJS(TabId tabId);
43   async CancelContentJSExecutionIfRunning(
44       TabId tabId, NavigationType aNavigationType,
45       int32_t aNavigationIndex, nsCString? aNavigationURI, int32_t aEpoch);
47  // For MacOS QoS use
48  async SetMainThreadQoSPriority(QoSPriority qosPriority);
52 } // namespace mozilla