Copy as Markdown
Other Tools
//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#ifndef PWindowGlobalParent_h
#define PWindowGlobalParent_h
#include "mozilla/dom/PWindowGlobal.h"
#ifdef DEBUG
#include "prenv.h"
#endif // DEBUG
#include "mozilla/Tainting.h"
#include "mozilla/ipc/MessageChannel.h"
#include "mozilla/ipc/ProtocolUtils.h"
// Headers for things that cannot be forward declared
#include "Units.h"
#include "mozilla/ErrorResult.h"
#include "mozilla/HalIPCUtils.h"
#include "mozilla/ScrollbarPreferences.h"
#include "mozilla/StorageAccess.h"
#include "mozilla/TimeStamp.h"
#include "mozilla/UseCounter.h"
#include "mozilla/dom/BindingDeclarations.h"
#include "mozilla/dom/BrowsingContext.h"
#include "mozilla/dom/ClientBinding.h"
#include "mozilla/dom/ClientsBinding.h"
#include "mozilla/dom/CredentialManagementBinding.h"
#include "mozilla/dom/DocumentBinding.h"
#include "mozilla/dom/FeaturePolicy.h"
#include "mozilla/dom/IdentityCredentialBinding.h"
#include "mozilla/dom/JSActor.h"
#include "mozilla/dom/NotificationBinding.h"
#include "mozilla/dom/RequestBinding.h"
#include "mozilla/dom/SessionStoreRestoreData.h"
#include "mozilla/dom/WindowContext.h"
#include "mozilla/dom/ipc/IdType.h"
#include "mozilla/gfx/CrossProcessPaint.h"
#include "mozilla/gfx/Rect.h"
#include "mozilla/gfx/Types.h"
#include "mozilla/ipc/BackgroundUtils.h"
#include "mozilla/layers/LayersTypes.h"
#include "mozilla/net/ClassOfService.h"
#include "mozilla/net/PHttpChannelParams.h"
#include "nsColor.h"
#include "nsICacheInfoChannel.h"
#include "nsIContentPolicy.h"
#include "nsIDocumentViewer.h"
#include "nsILoadInfo.h"
#include "nsIWidgetListener.h"
#include "nsNetUtil.h"
namespace mozilla {
namespace dom {
class PBrowserParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserChild;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PInProcessParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PInProcessChild;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserBridgeParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserBridgeChild;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PInProcessParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
struct void_t;
} // namespace mozilla
namespace mozilla {
struct SerializedStructuredCloneBuffer;
} // namespace mozilla
namespace mozilla {
namespace dom {
struct LoadingSessionHistoryInfo;
} // namespace dom
} // namespace mozilla
class nsIPrincipal;
class nsIURI;
class nsIContentSecurityPolicy;
class nsIInputStream;
class nsIReferrerInfo;
class nsIVariant;
namespace mozilla {
class RemoteLazyInputStream;
} // namespace mozilla
namespace mozilla {
namespace ipc {
class BigBuffer;
} // namespace ipc
} // namespace mozilla
class nsIPrincipal;
struct nsHttpAtom;
namespace mozilla {
namespace net {
class nsHttpResponseHead;
} // namespace net
} // namespace mozilla
namespace mozilla {
class TimeStamp;
} // namespace mozilla
class nsIPropertyBag2;
class nsDOMNavigationTiming;
class nsDocShellLoadState;
namespace mozilla {
namespace dom {
struct LoadingSessionHistoryInfo;
} // namespace dom
} // namespace mozilla
struct CollectedInputDataValue;
struct nsPoint;
class nsITransportSecurityInfo;
namespace mozilla {
namespace dom {
class PWindowGlobalParent :
public mozilla::ipc::IRefCountedProtocol
{
private:
friend class ::mozilla::dom::PBrowserParent;
friend class ::mozilla::dom::PInProcessParent;
public:
static constexpr ::mozilla::ipc::ProtocolId kProtocolId = PWindowGlobalMsgStart;
protected:
typedef mozilla::ipc::ActorHandle ActorHandle;
typedef ::mozilla::ipc::BigBuffer BigBuffer;
typedef ::mozilla::ipc::ByteBuf ByteBuf;
typedef ::mozilla::CSSRect CSSRect;
typedef ::mozilla::CSSSize CSSSize;
typedef ::mozilla::CSSToLayoutDeviceScale CSSToLayoutDeviceScale;
typedef ::mozilla::dom::CallerType CallerType;
typedef ::mozilla::dom::sessionstore::Checkbox Checkbox;
typedef ::mozilla::net::ChildLoadInfoForwarderArgs ChildLoadInfoForwarderArgs;
typedef ::mozilla::net::ClassOfService ClassOfService;
typedef ::mozilla::dom::ClientClaimArgs ClientClaimArgs;
typedef ::mozilla::dom::ClientControlledArgs ClientControlledArgs;
typedef ::mozilla::dom::ClientEvictBFCacheArgs ClientEvictBFCacheArgs;
typedef ::mozilla::dom::ClientFocusArgs ClientFocusArgs;
typedef ::mozilla::dom::ClientGetInfoAndStateArgs ClientGetInfoAndStateArgs;
typedef ::mozilla::dom::ClientInfoAndState ClientInfoAndState;
typedef ::mozilla::dom::ClientList ClientList;
typedef ::mozilla::dom::ClientMatchAllArgs ClientMatchAllArgs;
typedef ::mozilla::dom::ClientNavigateArgs ClientNavigateArgs;
typedef ::mozilla::dom::ClientNavigateOpConstructorArgs ClientNavigateOpConstructorArgs;
typedef ::mozilla::dom::ClientOpConstructorArgs ClientOpConstructorArgs;
typedef ::mozilla::dom::ClientOpResult ClientOpResult;
typedef ::mozilla::dom::ClientOpenWindowArgs ClientOpenWindowArgs;
typedef ::mozilla::dom::ClientPostMessageArgs ClientPostMessageArgs;
typedef ::mozilla::dom::ClientSourceConstructorArgs ClientSourceConstructorArgs;
typedef ::mozilla::dom::ClientSourceExecutionReadyArgs ClientSourceExecutionReadyArgs;
typedef ::mozilla::dom::ClientType ClientType;
typedef ::mozilla::dom::ClonedMessageData ClonedMessageData;
typedef ::mozilla::dom::ClonedOrErrorMessageData ClonedOrErrorMessageData;
typedef ::CollectedInputDataValue CollectedInputDataValue;
typedef ::mozilla::net::ConsoleReportCollected ConsoleReportCollected;
typedef ::mozilla::net::CookieJarSettingsArgs CookieJarSettingsArgs;
typedef ::mozilla::net::CookiePermissionData CookiePermissionData;
typedef ::mozilla::net::CookieStruct CookieStruct;
typedef ::mozilla::net::CookieStructTable CookieStructTable;
typedef ::mozilla::CopyableErrorResult CopyableErrorResult;
typedef ::mozilla::net::CorsPreflightArgs CorsPreflightArgs;
typedef ::mozilla::dom::CreatedWindowInfo CreatedWindowInfo;
typedef ::mozilla::dom::CredentialMediationRequirement CredentialMediationRequirement;
typedef ::nsILoadInfo::CrossOriginEmbedderPolicy CrossOriginEmbedderPolicy;
typedef ::mozilla::net::DataChannelInfo DataChannelInfo;
typedef ::mozilla::DesktopIntRect DesktopIntRect;
typedef ::mozilla::DesktopToLayoutDeviceScale DesktopToLayoutDeviceScale;
typedef ::mozilla::dom::DimensionInfo DimensionInfo;
typedef ::mozilla::dom::DocShellLoadStateInit DocShellLoadStateInit;
typedef ::mozilla::dom::sessionstore::DocShellRestoreState DocShellRestoreState;
typedef ::mozilla::net::DocumentChannelCreationArgs DocumentChannelCreationArgs;
typedef ::mozilla::net::DocumentChannelElementCreationArgs DocumentChannelElementCreationArgs;
typedef ::mozilla::net::DocumentCreationArgs DocumentCreationArgs;
typedef ::mozilla::net::EarlyHintConnectArgs EarlyHintConnectArgs;
template<class FooSide> using Endpoint = mozilla::ipc::Endpoint<FooSide>;
typedef ::mozilla::dom::ErrorMessageData ErrorMessageData;
typedef ::mozilla::dom::FeaturePolicyInfo FeaturePolicyInfo;
typedef ::mozilla::net::FileChannelInfo FileChannelInfo;
typedef ::mozilla::ipc::FileDescriptor FileDescriptor;
typedef ::mozilla::dom::sessionstore::FileList FileList;
typedef ::mozilla::dom::sessionstore::FormData FormData;
typedef ::mozilla::dom::sessionstore::FormEntry FormEntry;
typedef ::mozilla::dom::sessionstore::FormEntryValue FormEntryValue;
typedef ::mozilla::dom::FrameScriptInfo FrameScriptInfo;
typedef ::mozilla::dom::FrameType FrameType;
typedef ::mozilla::net::GIOChannelConnectArgs GIOChannelConnectArgs;
typedef ::mozilla::net::GIOChannelCreationArgs GIOChannelCreationArgs;
typedef ::mozilla::net::GIOChannelOpenArgs GIOChannelOpenArgs;
typedef ::nsILoadInfo::HTTPSUpgradeTelemetryType HTTPSUpgradeTelemetryType;
typedef ::mozilla::net::HttpActivity HttpActivity;
typedef ::mozilla::net::HttpActivityArgs HttpActivityArgs;
typedef ::mozilla::net::HttpChannelConnectArgs HttpChannelConnectArgs;
typedef ::mozilla::net::HttpChannelCreationArgs HttpChannelCreationArgs;
typedef ::mozilla::net::HttpChannelOpenArgs HttpChannelOpenArgs;
typedef ::mozilla::net::HttpConnectionActivity HttpConnectionActivity;
typedef ::mozilla::net::HttpConnectionInfoCloneArgs HttpConnectionInfoCloneArgs;
typedef ::mozilla::dom::IDPLVariant IDPLVariant;
typedef ::mozilla::dom::IPCClientInfo IPCClientInfo;
typedef ::mozilla::dom::IPCClientState IPCClientState;
typedef ::mozilla::dom::IPCClientWindowState IPCClientWindowState;
typedef ::mozilla::dom::IPCClientWorkerState IPCClientWorkerState;
typedef ::mozilla::dom::IPCIdentityCredential IPCIdentityCredential;
typedef ::mozilla::dom::IPCImage IPCImage;
typedef ::mozilla::dom::IPCNotificationOptions IPCNotificationOptions;
typedef ::mozilla::dom::IPCWebShareData IPCWebShareData;
typedef ::mozilla::dom::IPDLProperty IPDLProperty;
typedef ::mozilla::dom::IPDLVariantValue IPDLVariantValue;
typedef ::mozilla::dom::IdentityCredentialInit IdentityCredentialInit;
typedef ::mozilla::dom::IdentityCredentialRequestOptions IdentityCredentialRequestOptions;
typedef ::mozilla::dom::IdentityLoginTargetType IdentityLoginTargetType;
typedef ::mozilla::ImageIntSize ImageIntSize;
typedef ::mozilla::gfx::IntRect IntRect;
typedef ::mozilla::net::InterceptionInfoArg InterceptionInfoArg;
typedef ::mozilla::dom::JSActorMessageKind JSActorMessageKind;
typedef ::mozilla::dom::JSActorMessageMeta JSActorMessageMeta;
typedef ::mozilla::layers::LayersId LayersId;
typedef ::mozilla::LayoutDeviceIntPoint LayoutDeviceIntPoint;
typedef ::mozilla::LayoutDeviceIntRect LayoutDeviceIntRect;
typedef ::mozilla::LayoutDeviceIntSize LayoutDeviceIntSize;
typedef ::mozilla::net::LinkHeader LinkHeader;
typedef ::mozilla::net::LoadInfoArgs LoadInfoArgs;
typedef ::mozilla::dom::LoadingSessionHistoryInfo LoadingSessionHistoryInfo;
template<class FooSide> using ManagedEndpoint = mozilla::ipc::ManagedEndpoint<FooSide>;
typedef ::mozilla::dom::MaybeDiscardedBrowsingContext MaybeDiscardedBrowsingContext;
typedef ::mozilla::dom::MaybeDiscardedWindowContext MaybeDiscardedWindowContext;
typedef ::mozilla::dom::MessageData MessageData;
typedef ::mozilla::dom::MessageDataType MessageDataType;
typedef ::mozilla::dom::MessagePortIdentifier MessagePortIdentifier;
typedef ::mozilla::dom::sessionstore::MultipleSelect MultipleSelect;
typedef ::mozilla::dom::NotificationBehavior NotificationBehavior;
typedef ::mozilla::dom::NotificationDirection NotificationDirection;
typedef ::mozilla::net::ObjectCreationArgs ObjectCreationArgs;
typedef ::mozilla::OriginAttributes OriginAttributes;
typedef ::mozilla::dom::OwnerShowInfo OwnerShowInfo;
typedef ::mozilla::dom::PBrowserBridgeChild PBrowserBridgeChild;
typedef ::mozilla::dom::PBrowserBridgeParent PBrowserBridgeParent;
typedef ::mozilla::dom::PBrowserChild PBrowserChild;
typedef ::mozilla::dom::PBrowserParent PBrowserParent;
typedef ::mozilla::dom::PInProcessChild PInProcessChild;
typedef ::mozilla::dom::PInProcessParent PInProcessParent;
typedef ::mozilla::gfx::PaintFragment PaintFragment;
typedef ::mozilla::net::ParentLoadInfoForwarderArgs ParentLoadInfoForwarderArgs;
typedef ::mozilla::dom::ParentShowInfo ParentShowInfo;
typedef ::mozilla::dom::PostMessageSource PostMessageSource;
typedef ::mozilla::net::PreferredAlternativeDataDeliveryTypeIPC PreferredAlternativeDataDeliveryTypeIPC;
typedef ::mozilla::net::PreferredAlternativeDataTypeParams PreferredAlternativeDataTypeParams;
typedef base::ProcessId ProcessId;
typedef mozilla::ipc::ProtocolId ProtocolId;
typedef ::mozilla::net::ProxyInfoCloneArgs ProxyInfoCloneArgs;
typedef ::mozilla::net::RedirectHistoryEntryInfo RedirectHistoryEntryInfo;
typedef ::mozilla::net::RedirectToRealChannelArgs RedirectToRealChannelArgs;
typedef ::mozilla::dom::RefMessageData RefMessageData;
typedef ::mozilla::RemoteLazyInputStream RemoteLazyInputStream;
typedef ::mozilla::net::RemoteStreamInfo RemoteStreamInfo;
typedef ::mozilla::dom::ReplacementChannelConfigInit ReplacementChannelConfigInit;
typedef ::mozilla::net::RequestHeaderTuples RequestHeaderTuples;
typedef ::mozilla::dom::RequestMode RequestMode;
typedef ::mozilla::net::ResourceTimingStructArgs ResourceTimingStructArgs;
typedef mozilla::ipc::ResponseRejectReason ResponseRejectReason;
typedef ::nsILoadInfo::SchemelessInputType SchemelessInputType;
typedef ::mozilla::dom::ScreenDetails ScreenDetails;
typedef ::mozilla::hal::ScreenOrientation ScreenOrientation;
typedef ::mozilla::ScrollbarPreference ScrollbarPreference;
typedef ::mozilla::SerializedStructuredCloneBuffer SerializedStructuredCloneBuffer;
typedef ::mozilla::dom::SessionStoreRestoreData SessionStoreRestoreData;
typedef ::mozilla::ipc::Shmem Shmem;
typedef ::mozilla::dom::sessionstore::SingleSelect SingleSelect;
typedef ::mozilla::net::SpeculativeConnectionOverriderArgs SpeculativeConnectionOverriderArgs;
typedef ::mozilla::StorageAccess StorageAccess;
typedef ::nsILoadInfo::StoragePermissionState StoragePermissionState;
typedef ::mozilla::gfx::SurfaceFormat SurfaceFormat;
typedef ::mozilla::dom::TabId TabId;
typedef ::mozilla::dom::sessionstore::TextField TextField;
typedef ::mozilla::TimeStamp TimeStamp;
typedef ::mozilla::dom::TimedChannelInfo TimedChannelInfo;
typedef ::mozilla::net::TimingStructArgs TimingStructArgs;
typedef ::mozilla::net::TransactionObserverResult TransactionObserverResult;
template<class T> using UniquePtr = mozilla::UniquePtr<T>;
typedef ::mozilla::UseCounters UseCounters;
typedef ::mozilla::dom::VisibilityState VisibilityState;
typedef ::mozilla::dom::XPCOMPermitUnloadAction XPCOMPermitUnloadAction;
typedef ::int16_t int16_t;
typedef ::int32_t int32_t;
typedef ::int64_t int64_t;
typedef ::int8_t int8_t;
typedef ::intptr_t intptr_t;
typedef ::nsCString nsCString;
typedef ::nsContentPolicyType nsContentPolicyType;
typedef ::nsDOMNavigationTiming nsDOMNavigationTiming;
typedef ::nsDocShellLoadState nsDocShellLoadState;
typedef ::nsHttpAtom nsHttpAtom;
typedef ::mozilla::net::nsHttpResponseHead nsHttpResponseHead;
typedef ::nsIContentSecurityPolicy nsIContentSecurityPolicy;
typedef ::nsIInputStream nsIInputStream;
typedef ::nsIPrincipal nsIPrincipal;
typedef ::nsIPropertyBag2 nsIPropertyBag2;
typedef ::nsIReferrerInfo nsIReferrerInfo;
typedef ::nsITransportSecurityInfo nsITransportSecurityInfo;
typedef ::nsIURI nsIURI;
typedef ::nsIVariant nsIVariant;
typedef ::nsPoint nsPoint;
typedef ::nsSizeMode nsSizeMode;
typedef ::nsString nsString;
typedef ::nscolor nscolor;
typedef ::nsresult nsresult;
typedef ::uint16_t uint16_t;
typedef ::uint32_t uint32_t;
typedef ::uint64_t uint64_t;
typedef ::uint8_t uint8_t;
typedef ::uintptr_t uintptr_t;
typedef ::mozilla::void_t void_t;
public:
typedef MozPromise<bool, ResponseRejectReason, true> MakeFrameRemotePromise;
typedef MozPromise<PaintFragment, ResponseRejectReason, true> DrawSnapshotPromise;
typedef MozPromise<bool, ResponseRejectReason, true> RestoreDocShellStatePromise;
typedef MozPromise<bool, ResponseRejectReason, true> RestoreTabContentPromise;
typedef std::function<void(const nsresult&)> ShareResolver;
typedef std::function<void(const uint32_t&)> GetContentBlockingEventsResolver;
typedef std::function<void(const bool&)> CheckPermitUnloadResolver;
typedef std::function<void(std::tuple<const mozilla::Maybe<IPCIdentityCredential>&, const nsresult&>)> GetIdentityCredentialResolver;
typedef std::function<void(const nsresult&)> StoreIdentityCredentialResolver;
typedef std::function<void(const nsresult&)> PreventSilentAccessResolver;
typedef std::function<void(const uint32_t&)> GetStorageAccessPermissionResolver;
protected:
public:
typedef mozilla::ipc::IProtocol IProtocol;
typedef IPC::Message Message;
typedef base::ProcessHandle ProcessHandle;
typedef mozilla::ipc::MessageChannel MessageChannel;
typedef mozilla::ipc::SharedMemory SharedMemory;
public:
MOZ_IMPLICIT PWindowGlobalParent();
virtual ~PWindowGlobalParent();
protected:
void
ActorAlloc() final;
void
ActorDealloc() final;
public:
mozilla::Span<mozilla::ipc::ProtocolId const>
ManagedProtocolIds() const final;
UntypedManagedContainer*
GetManagedActors(mozilla::ipc::ProtocolId aProtocol) final;
void
RejectPendingResponses(ResponseRejectReason aReason) final;
[[nodiscard]] static bool
Send__delete__(PWindowGlobalParent* actor);
[[nodiscard]] bool
SendMakeFrameLocal(
const MaybeDiscardedBrowsingContext& aFrameContext,
const uint64_t& aSwitchId);
void
SendMakeFrameRemote(
const MaybeDiscardedBrowsingContext& aFrameContext,
ManagedEndpoint<::mozilla::dom::PBrowserBridgeChild>&& aEndpoint,
const TabId& aTabId,
const LayersId& aLayersId,
mozilla::ipc::ResolveCallback<bool>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
[[nodiscard]] RefPtr<MakeFrameRemotePromise>
SendMakeFrameRemote(
const MaybeDiscardedBrowsingContext& aFrameContext,
ManagedEndpoint<::mozilla::dom::PBrowserBridgeChild>&& aEndpoint,
const TabId& aTabId,
const LayersId& aLayersId);
void
SendDrawSnapshot(
const mozilla::Maybe<IntRect>& aRect,
const float& aScale,
const nscolor& aBackgroundColor,
const uint32_t& aFlags,
mozilla::ipc::ResolveCallback<PaintFragment>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
[[nodiscard]] RefPtr<DrawSnapshotPromise>
SendDrawSnapshot(
const mozilla::Maybe<IntRect>& aRect,
const float& aScale,
const nscolor& aBackgroundColor,
const uint32_t& aFlags);
[[nodiscard]] bool
SendDispatchSecurityPolicyViolation(const nsAString& aViolationEventJSON);
[[nodiscard]] bool
SendSaveStorageAccessPermissionGranted();
[[nodiscard]] bool
SendAddBlockedFrameNodeByClassifier(const MaybeDiscardedBrowsingContext& aNode);
[[nodiscard]] bool
SendResetScalingZoom();
void
SendRestoreDocShellState(
const DocShellRestoreState& aState,
mozilla::ipc::ResolveCallback<bool>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
[[nodiscard]] RefPtr<RestoreDocShellStatePromise>
SendRestoreDocShellState(const DocShellRestoreState& aState);
void
SendRestoreTabContent(
SessionStoreRestoreData* aData,
mozilla::ipc::ResolveCallback<bool>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
[[nodiscard]] RefPtr<RestoreTabContentPromise>
SendRestoreTabContent(SessionStoreRestoreData* aData);
[[nodiscard]] bool
SendNavigateForIdentityCredentialDiscovery(
const nsACString& aUri,
const IdentityLoginTargetType& aType);
[[nodiscard]] bool
SendRawMessage(
const JSActorMessageMeta& aMetadata,
const mozilla::Maybe<ClonedMessageData>& aData,
const mozilla::Maybe<ClonedMessageData>& aStack);
[[nodiscard]] bool
SendNotifyPermissionChange(
const nsACString& type,
const uint32_t& permission);
void
DeallocManagee(
int32_t aProtocolId,
IProtocol* aListener) override;
Result
OnMessageReceived(const Message& msg__) override;
Result
OnMessageReceived(
const Message& msg__,
UniquePtr<Message>& reply__) override;
private:
mozilla::ipc::IPDLAsyncReturnsCallbacks mAsyncCallbacks;
bool mAwaitingManagedEndpointBind = false;
};
} // namespace dom
} // namespace mozilla
namespace IPC {
template<>
struct ParamTraits <::mozilla::dom::PWindowGlobalParent*>
{
typedef ::mozilla::dom::PWindowGlobalParent* paramType;
static void
Write(
IPC::MessageWriter* aWriter,
const paramType& aVar);
static IPC::ReadResult<paramType>
Read(IPC::MessageReader* aReader);
};
} // namespace IPC
#endif // ifndef PWindowGlobalParent_h