tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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