mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 04:05:32 +00:00
6114a5f7ab
This adds a single new method, which acts like sendAsyncMessage, but also returns a promise. This promise is fulfilled when the promise returned from the receiveMessage callback is resolved. ``` partial interface JSWindowActor { [Throws] Promise<any> sendQuery(DOMString messageName, optional any obj, optional any transfers); } ``` Differential Revision: https://phabricator.services.mozilla.com/D27809 --HG-- extra : moz-landing-system : lando
62 lines
1.8 KiB
C++
62 lines
1.8 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 protocol PBrowser;
|
|
include protocol PInProcess;
|
|
include protocol PBrowserBridge;
|
|
|
|
include DOMTypes;
|
|
|
|
using JSWindowActorMessageKind from "mozilla/dom/JSWindowActor.h";
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
struct JSWindowActorMessageMeta {
|
|
nsString actorName;
|
|
nsString messageName;
|
|
uint64_t queryId;
|
|
JSWindowActorMessageKind kind;
|
|
};
|
|
|
|
/**
|
|
* 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 protocol PWindowGlobal
|
|
{
|
|
manager PBrowser or PInProcess;
|
|
|
|
child:
|
|
async __delete__();
|
|
|
|
async ChangeFrameRemoteness(BrowsingContext aFrameContext,
|
|
nsString aRemoteType,
|
|
uint64_t aSwitchId)
|
|
returns (nsresult rv, nullable PBrowserBridge bridge);
|
|
|
|
both:
|
|
async RawMessage(JSWindowActorMessageMeta aMetadata, ClonedMessageData aData);
|
|
|
|
parent:
|
|
/// Update the URI of the document in this WindowGlobal.
|
|
async UpdateDocumentURI(nsIURI aUri);
|
|
|
|
/// Notify the parent that this PWindowGlobal is now the current global.
|
|
async BecomeCurrentWindowGlobal();
|
|
|
|
/// Notify the parent that this PWindowGlobal has embedded the given
|
|
/// BrowsingContext.
|
|
async DidEmbedBrowsingContext(BrowsingContext aContext);
|
|
|
|
async Destroy();
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|