63 lines
2.1 KiB
Plaintext
63 lines
2.1 KiB
Plaintext
/* 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 PNecko;
|
|
include protocol PBrowser;
|
|
include protocol PTransportProvider;
|
|
include IPCStream;
|
|
include NeckoChannelParams;
|
|
|
|
include "mozilla/net/WebSocketChannelParent.h";
|
|
include "mozilla/net/WebSocketChannelChild.h";
|
|
|
|
using class IPC::SerializedLoadContext from "SerializedLoadContext.h";
|
|
[RefCounted] using class nsIURI from "mozilla/ipc/URIUtils.h";
|
|
|
|
namespace mozilla {
|
|
namespace net {
|
|
|
|
[ManualDealloc, ChildImpl="WebSocketChannelChild", ParentImpl="WebSocketChannelParent"]
|
|
async protocol PWebSocket
|
|
{
|
|
manager PNecko;
|
|
|
|
parent:
|
|
// Forwarded methods corresponding to methods on nsIWebSocketChannel
|
|
async AsyncOpen(nullable nsIURI aURI,
|
|
uint64_t aInnerWindowID,
|
|
nsCString aProtocol,
|
|
bool aSecure,
|
|
// ping values only meaningful if client set them
|
|
uint32_t aPingInterval,
|
|
bool aClientSetPingInterval,
|
|
uint32_t aPingTimeout,
|
|
bool aClientSetPingTimeout,
|
|
LoadInfoArgs aLoadInfoArgs,
|
|
PTransportProvider? aProvider,
|
|
nsCString aNegotiatedExtensions);
|
|
async Close(uint16_t code, nsCString reason);
|
|
async SendMsg(nsCString aMsg);
|
|
async SendBinaryMsg(nsCString aMsg);
|
|
async SendBinaryStream(IPCStream aStream, uint32_t aLength);
|
|
|
|
async DeleteSelf();
|
|
|
|
child:
|
|
// Forwarded notifications corresponding to the nsIWebSocketListener interface
|
|
async OnStart(nsCString aProtocol, nsCString aExtensions,
|
|
nsString aEffectiveURL, bool aEncrypted,
|
|
uint64_t aHttpChannelId);
|
|
async OnStop(nsresult aStatusCode);
|
|
async OnMessageAvailable(nsCString aMsg, bool aMoreData);
|
|
async OnBinaryMessageAvailable(nsCString aMsg, bool aMoreData);
|
|
async OnAcknowledge(uint32_t aSize);
|
|
async OnServerClose(uint16_t code, nsCString aReason);
|
|
|
|
async __delete__();
|
|
|
|
};
|
|
|
|
} //namespace net
|
|
} //namespace mozilla
|