mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 10:45:42 +00:00
a480304779
This patch adds an ID to ensure that we avoid canceling content JS if the next page already started loading by the time we're ready to try canceling the JS. Differential Revision: https://phabricator.services.mozilla.com/D25164 --HG-- extra : moz-landing-system : lando
57 lines
1.4 KiB
Plaintext
57 lines
1.4 KiB
Plaintext
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
* vim: sw=2 ts=8 et :
|
|
*/
|
|
/* 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/. */
|
|
|
|
// ParamTraits stuff for nsIRemoteTab::NavigationType
|
|
include "mozilla/dom/TabMessageUtils.h";
|
|
using nsIRemoteTab::NavigationType from "nsIRemoteTab.h";
|
|
|
|
using base::ProcessId from "base/process.h";
|
|
using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h";
|
|
using mozilla::layers::LayersObserverEpoch from "mozilla/layers/LayersTypes.h";
|
|
|
|
namespace mozilla {
|
|
|
|
struct SlowScriptData
|
|
{
|
|
TabId tabId;
|
|
nsCString filename;
|
|
nsString addonId;
|
|
};
|
|
|
|
struct PluginHangData
|
|
{
|
|
uint32_t pluginId;
|
|
ProcessId contentProcessId;
|
|
};
|
|
|
|
union HangData
|
|
{
|
|
SlowScriptData;
|
|
PluginHangData;
|
|
};
|
|
|
|
protocol PProcessHangMonitor
|
|
{
|
|
parent:
|
|
async HangEvidence(HangData data);
|
|
async ClearHang();
|
|
|
|
child:
|
|
async TerminateScript(bool aTerminateGlobal);
|
|
|
|
async BeginStartingDebugger();
|
|
async EndStartingDebugger();
|
|
|
|
async PaintWhileInterruptingJS(TabId tabId, bool forceRepaint, LayersObserverEpoch aEpoch);
|
|
|
|
async CancelContentJSExecutionIfRunning(
|
|
TabId tabId, NavigationType aNavigationType,
|
|
int32_t aNavigationIndex, nsCString? aNavigationURI, int32_t aEpoch);
|
|
};
|
|
|
|
} // namespace mozilla
|