Copy as Markdown

Other Tools

//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#ifndef PWindowGlobalChild_h
#define PWindowGlobalChild_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/DocumentBinding.h"
#include "mozilla/dom/FeaturePolicy.h"
#include "mozilla/dom/IdentityCredentialBinding.h"
#include "mozilla/dom/JSActor.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 PBrowserChild;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PInProcessChild;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PInProcessParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserBridgeChild;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserBridgeParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PBrowserChild;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PInProcessChild;
} // 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
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 PWindowGlobalChild :
public mozilla::ipc::IRefCountedProtocol
{
private:
friend class ::mozilla::dom::PBrowserChild;
friend class ::mozilla::dom::PInProcessChild;
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 ::nsILoadInfo::CrossOriginEmbedderPolicy CrossOriginEmbedderPolicy;
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::FeaturePolicy FeaturePolicy;
typedef ::mozilla::dom::FeaturePolicyInfo FeaturePolicyInfo;
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 ::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::IPCWebShareData IPCWebShareData;
typedef ::mozilla::dom::IPDLProperty IPDLProperty;
typedef ::mozilla::dom::IPDLVariantValue IPDLVariantValue;
typedef ::mozilla::dom::IdentityCredentialRequestOptions IdentityCredentialRequestOptions;
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::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::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::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 ::mozilla::dom::ScreenDetails ScreenDetails;
typedef ::mozilla::ScreenIntSize ScreenIntSize;
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 std::function<void(const bool&)> MakeFrameRemoteResolver;
typedef std::function<void(PaintFragment&&)> DrawSnapshotResolver;
typedef std::function<void(const bool&)> RestoreDocShellStateResolver;
typedef std::function<void(const bool&)> RestoreTabContentResolver;
typedef MozPromise<nsresult, ResponseRejectReason, true> SharePromise;
typedef MozPromise<uint32_t, ResponseRejectReason, true> GetContentBlockingEventsPromise;
typedef MozPromise<bool, ResponseRejectReason, true> CheckPermitUnloadPromise;
typedef MozPromise<mozilla::Maybe<IPCIdentityCredential>, ResponseRejectReason, true> DiscoverIdentityCredentialFromExternalSourcePromise;
typedef MozPromise<uint32_t, ResponseRejectReason, true> GetStorageAccessPermissionPromise;
protected:
virtual mozilla::ipc::IPCResult
Recv__delete__();
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 PWindowGlobalChild();
virtual ~PWindowGlobalChild();
protected:
void
ActorAlloc() final;
void
ActorDealloc() final;
public:
uint32_t
AllManagedActorsCount() const override;
bool
SendRawMessage(
const JSActorMessageMeta& aMetadata,
const mozilla::Maybe<ClonedMessageData>& aData,
const mozilla::Maybe<ClonedMessageData>& aStack);
bool
SendLoadURI(
const MaybeDiscardedBrowsingContext& aTargetBC,
mozilla::NotNull<nsDocShellLoadState*> aLoadState,
const bool& aSetNavigating);
bool
SendInternalLoad(mozilla::NotNull<nsDocShellLoadState*> aLoadState);
bool
SendUpdateDocumentURI(mozilla::NotNull<nsIURI*> aUri);
bool
SendUpdateDocumentPrincipal(
nsIPrincipal* aPrincipal,
nsIPrincipal* aStoragePrincipal);
bool
SendUpdateDocumentHasLoaded(const bool& aDocumentHasLoaded);
bool
SendUpdateDocumentHasUserInteracted(const bool& aDocumentHasUserInteracted);
bool
SendUpdateSandboxFlags(const uint32_t& aSandboxFlags);
bool
SendUpdateDocumentCspSettings(
const bool& aBlockAllMixedContent,
const bool& aUpgradeInsecureRequests);
bool
SendUpdateCookieJarSettings(const CookieJarSettingsArgs& cookieJarSettings);
bool
SendUpdateDocumentTitle(const nsAString& aTitle);
bool
SendUpdateDocumentSecurityInfo(nsITransportSecurityInfo* aSecurityInfo);
bool
SendUpdateHttpsOnlyStatus(const uint32_t& aHttpsOnlyStatus);
bool
SendSetIsInitialDocument(const bool& aIsInitialDocument);
void
SendShare(
const IPCWebShareData& aData,
mozilla::ipc::ResolveCallback<nsresult>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
RefPtr<SharePromise>
SendShare(const IPCWebShareData& aData);
void
SendGetContentBlockingEvents(
mozilla::ipc::ResolveCallback<uint32_t>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
RefPtr<GetContentBlockingEventsPromise>
SendGetContentBlockingEvents();
bool
SendSetClientInfo(const IPCClientInfo& aClientInfo);
void
SendCheckPermitUnload(
const bool& aHasInProcessBlocker,
const XPCOMPermitUnloadAction& aAction,
mozilla::ipc::ResolveCallback<bool>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
RefPtr<CheckPermitUnloadPromise>
SendCheckPermitUnload(
const bool& aHasInProcessBlocker,
const XPCOMPermitUnloadAction& aAction);
bool
SendExpectPageUseCounters(const MaybeDiscardedWindowContext& aTop);
bool
SendAccumulatePageUseCounters(const UseCounters& aUseCounters);
bool
SendRequestRestoreTabContent();
bool
SendUpdateBFCacheStatus(
const uint32_t& aOnFlags,
const uint32_t& aOffFlags);
bool
SendUpdateActivePeerConnectionStatus(const bool& aIsAdded);
bool
SendSetSingleChannelId(const mozilla::Maybe<uint64_t>& singleChannelId);
bool
SendSetDocumentDomain(mozilla::NotNull<nsIURI*> aDomain);
bool
SendDestroy();
bool
SendReloadWithHttpsOnlyException();
void
SendDiscoverIdentityCredentialFromExternalSource(
const IdentityCredentialRequestOptions& aOptions,
mozilla::ipc::ResolveCallback<mozilla::Maybe<IPCIdentityCredential>>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
RefPtr<DiscoverIdentityCredentialFromExternalSourcePromise>
SendDiscoverIdentityCredentialFromExternalSource(const IdentityCredentialRequestOptions& aOptions);
void
SendGetStorageAccessPermission(
mozilla::ipc::ResolveCallback<uint32_t>&& aResolve,
mozilla::ipc::RejectCallback&& aReject);
RefPtr<GetStorageAccessPermissionPromise>
SendGetStorageAccessPermission();
bool
SendSetCookies(
const nsACString& baseDomain,
const OriginAttributes& attrs,
nsIURI* host,
const bool& fromHttp,
mozilla::Span<CookieStruct const> cookies);
bool
SendOnInitialStorageAccess();
void
RemoveManagee(
int32_t aProtocolId,
IProtocol* aListener) override;
void
DeallocManagee(
int32_t aProtocolId,
IProtocol* aListener) override;
Result
OnMessageReceived(const Message& msg__) override;
Result
OnMessageReceived(
const Message& msg__,
UniquePtr<Message>& reply__) override;
void
DoomSubtree() override;
IProtocol*
PeekManagedActor() override;
private:
bool mAwaitingManagedEndpointBind = false;
};
} // namespace dom
} // namespace mozilla
namespace IPC {
template<>
struct ParamTraits <::mozilla::dom::PWindowGlobalChild*>
{
typedef ::mozilla::dom::PWindowGlobalChild* paramType;
static void
Write(
IPC::MessageWriter* aWriter,
const paramType& aVar);
static IPC::ReadResult<paramType>
Read(IPC::MessageReader* aReader);
};
} // namespace IPC
#endif // ifndef PWindowGlobalChild_h