/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* 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 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, nsCString aOrigin, OriginAttributes aOriginAttributes, 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