зеркало из https://github.com/mozilla/gecko-dev.git
108 строки
3.5 KiB
C++
108 строки
3.5 KiB
C++
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
|
|
/* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
|
|
/* 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/. */
|
|
|
|
include "mozilla/dom/DocShellMessageUtils.h";
|
|
|
|
include protocol PBrowser;
|
|
include protocol PInProcess;
|
|
include protocol PBrowserBridge;
|
|
|
|
include DOMTypes;
|
|
include ClientIPCTypes;
|
|
|
|
using JSWindowActorMessageKind from "mozilla/dom/JSWindowActor.h";
|
|
using mozilla::gfx::IntRect from "mozilla/gfx/Rect.h";
|
|
using moveonly mozilla::gfx::PaintFragment from "mozilla/gfx/CrossProcessPaint.h";
|
|
using nscolor from "nsColor.h";
|
|
using refcounted class nsDocShellLoadState from "nsDocShellLoadState.h";
|
|
using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h";
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
struct JSWindowActorMessageMeta {
|
|
nsString actorName;
|
|
nsString messageName;
|
|
uint64_t queryId;
|
|
JSWindowActorMessageKind kind;
|
|
};
|
|
|
|
struct IPCWebShareData
|
|
{
|
|
nsCString title;
|
|
nsCString text;
|
|
nsIURI url;
|
|
};
|
|
|
|
/**
|
|
* A PWindowGlobal actor has a lifetime matching that of a single Window Global,
|
|
* specifically a |nsGlobalWindowInner|. These actors will form a parent/child
|
|
* link either between the chrome/content process, or will be in-process, for
|
|
* documents which are loaded in the chrome process.
|
|
*/
|
|
async refcounted protocol PWindowGlobal
|
|
{
|
|
manager PBrowser or PInProcess;
|
|
|
|
child:
|
|
async __delete__();
|
|
|
|
async MakeFrameLocal(MaybeDiscardedBrowsingContext aFrameContext,
|
|
uint64_t aSwitchId);
|
|
async MakeFrameRemote(MaybeDiscardedBrowsingContext aFrameContext,
|
|
ManagedEndpoint<PBrowserBridgeChild> aEndpoint,
|
|
TabId aTabId) returns (bool success);
|
|
|
|
async DrawSnapshot(IntRect? aRect, float aScale, nscolor aBackgroundColor,
|
|
uint32_t aFlags) returns (PaintFragment retval);
|
|
|
|
/**
|
|
* Returns the serialized security info associated with this window.
|
|
*/
|
|
async GetSecurityInfo() returns(nsCString? serializedSecInfo);
|
|
|
|
both:
|
|
async RawMessage(JSWindowActorMessageMeta aMetadata, ClonedMessageData aData,
|
|
ClonedMessageData aStack);
|
|
|
|
parent:
|
|
// Load the given URI load state into the current owner process of the given
|
|
// BrowsingContext. aTargetBC must be in the same BrowsingContextGroup as this
|
|
// window global.
|
|
async LoadURI(MaybeDiscardedBrowsingContext aTargetBC,
|
|
nsDocShellLoadState aLoadState, bool aSetNavigating);
|
|
|
|
async InternalLoad(MaybeDiscardedBrowsingContext aTargetBC,
|
|
nsDocShellLoadState aLoadState);
|
|
|
|
/// Update the URI of the document in this WindowGlobal.
|
|
async UpdateDocumentURI(nsIURI aUri);
|
|
|
|
// Update the title of the document in this WindowGlobal.
|
|
async UpdateDocumentTitle(nsString aTitle);
|
|
|
|
/// Send down initial document bit to the parent.
|
|
async SetIsInitialDocument(bool aIsInitialDocument);
|
|
|
|
/// Tell the parent if this WindowGlobal has any "beforeunload" event
|
|
/// listeners.
|
|
async SetHasBeforeUnload(bool aHasBeforeUnload);
|
|
|
|
// Attempts to perform a "Web Share".
|
|
async Share(IPCWebShareData aData) returns (nsresult rv);
|
|
|
|
// Get content blocking events from the parent process.
|
|
async GetContentBlockingEvents() returns (uint32_t events);
|
|
|
|
// Send the ClientInfo associated with a top-level document load.
|
|
async SetClientInfo(IPCClientInfo aClientInfo);
|
|
|
|
async Destroy();
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|