PProcessHangMonitor.ipdl (1424B)
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/. */ 7 8 // ParamTraits stuff for nsIRemoteTab::NavigationType 9 include "mozilla/dom/TabMessageUtils.h"; 10 using nsIRemoteTab::NavigationType from "nsIRemoteTab.h"; 11 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"; 15 16 namespace mozilla { 17 18 struct SlowScriptData 19 { 20 TabId tabId; 21 nsCString filename; 22 nsString addonId; 23 double duration; 24 }; 25 26 [ChildImpl=virtual, ParentImpl=virtual, ChildProc=Content] 27 protocol PProcessHangMonitor 28 { 29 parent: 30 async HangEvidence(SlowScriptData data); 31 async ClearHang(); 32 33 child: 34 async TerminateScript(); 35 async RequestContentJSInterrupt(); 36 37 async BeginStartingDebugger(); 38 async EndStartingDebugger(); 39 40 async PaintWhileInterruptingJS(TabId tabId); 41 async UnloadLayersWhileInterruptingJS(TabId tabId); 42 43 async CancelContentJSExecutionIfRunning( 44 TabId tabId, NavigationType aNavigationType, 45 int32_t aNavigationIndex, nsCString? aNavigationURI, int32_t aEpoch); 46 47 // For MacOS QoS use 48 async SetMainThreadQoSPriority(QoSPriority qosPriority); 49 50 }; 51 52 } // namespace mozilla