Backed out changeset 7393a036ce36 (bug 1215092) for failing on own tests on a CLOSED TREE
This commit is contained in:
@@ -28,12 +28,12 @@ var innerId =
|
||||
.getInterface(Ci.nsIDOMWindowUtils).currentInnerWindowID;
|
||||
ok(innerId, "We have a valid innerWindowID: " + innerId);
|
||||
|
||||
var service = Cc["@mozilla.org/websocketevent/service;1"]
|
||||
.getService(Ci.nsIWebSocketEventService);
|
||||
ok(!!service, "We have the nsIWebSocketEventService");
|
||||
var service = Cc["@mozilla.org/websocketframe/service;1"]
|
||||
.getService(Ci.nsIWebSocketFrameService);
|
||||
ok(!!service, "We have the nsIWebSocketFrameService");
|
||||
|
||||
var listener = {
|
||||
QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebSocketEventListener]),
|
||||
QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebSocketFrameListener]),
|
||||
|
||||
frameReceived: function(aWebSocketSerialID, aFrame) {
|
||||
ok(!!aFrame, "We have received a frame");
|
||||
|
||||
@@ -231,7 +231,7 @@ static void Shutdown();
|
||||
#include "mozilla/dom/nsMixedContentBlocker.h"
|
||||
|
||||
#include "AudioChannelService.h"
|
||||
#include "mozilla/net/WebSocketEventService.h"
|
||||
#include "mozilla/net/WebSocketFrameService.h"
|
||||
|
||||
#include "mozilla/dom/DataStoreService.h"
|
||||
|
||||
@@ -633,8 +633,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(Geolocation, Init)
|
||||
#define NS_AUDIOCHANNEL_SERVICE_CID \
|
||||
{ 0xf712e983, 0x048a, 0x443f, { 0x88, 0x02, 0xfc, 0xc3, 0xd9, 0x27, 0xce, 0xac }}
|
||||
|
||||
#define NS_WEBSOCKETEVENT_SERVICE_CID \
|
||||
{ 0x31689828, 0xda66, 0x49a6, { 0x87, 0x0c, 0xdf, 0x62, 0xb8, 0x3f, 0xe7, 0x89 }}
|
||||
#define NS_WEBSOCKETFRAME_SERVICE_CID \
|
||||
{ 0x5973dd8f, 0xed2c, 0x41ff, { 0x9e, 0x64, 0x25, 0x1f, 0xf5, 0x5a, 0x67, 0xb9 }}
|
||||
|
||||
#define NS_DATASTORE_SERVICE_CID \
|
||||
{ 0x0d4285fe, 0xf1b3, 0x49fa, { 0xbc, 0x51, 0xa4, 0xa8, 0x3f, 0x0a, 0xaf, 0x85 }}
|
||||
@@ -643,7 +643,7 @@ NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsGeolocationService, nsGeolocationServ
|
||||
|
||||
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(AudioChannelService, AudioChannelService::GetOrCreate)
|
||||
|
||||
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(WebSocketEventService, WebSocketEventService::GetOrCreate)
|
||||
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(WebSocketFrameService, WebSocketFrameService::GetOrCreate)
|
||||
|
||||
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(DataStoreService, DataStoreService::GetOrCreate)
|
||||
|
||||
@@ -795,7 +795,7 @@ NS_DEFINE_NAMED_CID(NS_TEXTSERVICESDOCUMENT_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_GEOLOCATION_SERVICE_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_GEOLOCATION_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_AUDIOCHANNEL_SERVICE_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_WEBSOCKETEVENT_SERVICE_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_WEBSOCKETFRAME_SERVICE_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_DATASTORE_SERVICE_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_FOCUSMANAGER_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_CONTENTSECURITYMANAGER_CID);
|
||||
@@ -1103,7 +1103,7 @@ static const mozilla::Module::CIDEntry kLayoutCIDs[] = {
|
||||
{ &kNS_GEOLOCATION_SERVICE_CID, false, nullptr, nsGeolocationServiceConstructor },
|
||||
{ &kNS_GEOLOCATION_CID, false, nullptr, GeolocationConstructor },
|
||||
{ &kNS_AUDIOCHANNEL_SERVICE_CID, false, nullptr, AudioChannelServiceConstructor },
|
||||
{ &kNS_WEBSOCKETEVENT_SERVICE_CID, false, nullptr, WebSocketEventServiceConstructor },
|
||||
{ &kNS_WEBSOCKETFRAME_SERVICE_CID, false, nullptr, WebSocketFrameServiceConstructor },
|
||||
{ &kNS_DATASTORE_SERVICE_CID, false, nullptr, DataStoreServiceConstructor },
|
||||
{ &kNS_FOCUSMANAGER_CID, false, nullptr, CreateFocusManager },
|
||||
#ifdef MOZ_WEBSPEECH_TEST_BACKEND
|
||||
@@ -1271,7 +1271,7 @@ static const mozilla::Module::ContractIDEntry kLayoutContracts[] = {
|
||||
{ "@mozilla.org/geolocation/service;1", &kNS_GEOLOCATION_SERVICE_CID },
|
||||
{ "@mozilla.org/geolocation;1", &kNS_GEOLOCATION_CID },
|
||||
{ "@mozilla.org/audiochannel/service;1", &kNS_AUDIOCHANNEL_SERVICE_CID },
|
||||
{ "@mozilla.org/websocketevent/service;1", &kNS_WEBSOCKETEVENT_SERVICE_CID },
|
||||
{ "@mozilla.org/websocketframe/service;1", &kNS_WEBSOCKETFRAME_SERVICE_CID },
|
||||
{ "@mozilla.org/datastore-service;1", &kNS_DATASTORE_SERVICE_CID },
|
||||
{ "@mozilla.org/focus-manager;1", &kNS_FOCUSMANAGER_CID },
|
||||
#ifdef MOZ_WEBSPEECH_TEST_BACKEND
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "mozilla/net/WyciwygChannelChild.h"
|
||||
#include "mozilla/net/FTPChannelChild.h"
|
||||
#include "mozilla/net/WebSocketChannelChild.h"
|
||||
#include "mozilla/net/WebSocketEventListenerChild.h"
|
||||
#include "mozilla/net/WebSocketFrameListenerChild.h"
|
||||
#include "mozilla/net/DNSRequestChild.h"
|
||||
#include "mozilla/net/RemoteOpenFileChild.h"
|
||||
#include "mozilla/net/ChannelDiverterChild.h"
|
||||
@@ -159,19 +159,19 @@ NeckoChild::DeallocPWebSocketChild(PWebSocketChild* child)
|
||||
return true;
|
||||
}
|
||||
|
||||
PWebSocketEventListenerChild*
|
||||
NeckoChild::AllocPWebSocketEventListenerChild(const uint64_t& aInnerWindowID)
|
||||
PWebSocketFrameListenerChild*
|
||||
NeckoChild::AllocPWebSocketFrameListenerChild(const uint64_t& aInnerWindowID)
|
||||
{
|
||||
RefPtr<WebSocketEventListenerChild> c =
|
||||
new WebSocketEventListenerChild(aInnerWindowID);
|
||||
RefPtr<WebSocketFrameListenerChild> c =
|
||||
new WebSocketFrameListenerChild(aInnerWindowID);
|
||||
return c.forget().take();
|
||||
}
|
||||
|
||||
bool
|
||||
NeckoChild::DeallocPWebSocketEventListenerChild(PWebSocketEventListenerChild* aActor)
|
||||
NeckoChild::DeallocPWebSocketFrameListenerChild(PWebSocketFrameListenerChild* aActor)
|
||||
{
|
||||
RefPtr<WebSocketEventListenerChild> c =
|
||||
dont_AddRef(static_cast<WebSocketEventListenerChild*>(aActor));
|
||||
RefPtr<WebSocketFrameListenerChild> c =
|
||||
dont_AddRef(static_cast<WebSocketFrameListenerChild*>(aActor));
|
||||
MOZ_ASSERT(c);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -79,9 +79,9 @@ protected:
|
||||
const nsString& aRealm,
|
||||
const uint64_t& aCallbackId) override;
|
||||
virtual bool RecvAppOfflineStatus(const uint32_t& aId, const bool& aOffline) override;
|
||||
virtual PWebSocketEventListenerChild*
|
||||
AllocPWebSocketEventListenerChild(const uint64_t& aInnerWindowID) override;
|
||||
virtual bool DeallocPWebSocketEventListenerChild(PWebSocketEventListenerChild*) override;
|
||||
virtual PWebSocketFrameListenerChild*
|
||||
AllocPWebSocketFrameListenerChild(const uint64_t& aInnerWindowID) override;
|
||||
virtual bool DeallocPWebSocketFrameListenerChild(PWebSocketFrameListenerChild*) override;
|
||||
|
||||
/* Predictor Messsages */
|
||||
virtual bool RecvPredOnPredictPreconnect(const URIParams& aURI) override;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "mozilla/net/WyciwygChannelParent.h"
|
||||
#include "mozilla/net/FTPChannelParent.h"
|
||||
#include "mozilla/net/WebSocketChannelParent.h"
|
||||
#include "mozilla/net/WebSocketEventListenerParent.h"
|
||||
#include "mozilla/net/WebSocketFrameListenerParent.h"
|
||||
#include "mozilla/net/DataChannelParent.h"
|
||||
#ifdef NECKO_PROTOCOL_rtsp
|
||||
#include "mozilla/net/RtspControllerParent.h"
|
||||
@@ -348,19 +348,19 @@ NeckoParent::DeallocPWebSocketParent(PWebSocketParent* actor)
|
||||
return true;
|
||||
}
|
||||
|
||||
PWebSocketEventListenerParent*
|
||||
NeckoParent::AllocPWebSocketEventListenerParent(const uint64_t& aInnerWindowID)
|
||||
PWebSocketFrameListenerParent*
|
||||
NeckoParent::AllocPWebSocketFrameListenerParent(const uint64_t& aInnerWindowID)
|
||||
{
|
||||
RefPtr<WebSocketEventListenerParent> c =
|
||||
new WebSocketEventListenerParent(aInnerWindowID);
|
||||
RefPtr<WebSocketFrameListenerParent> c =
|
||||
new WebSocketFrameListenerParent(aInnerWindowID);
|
||||
return c.forget().take();
|
||||
}
|
||||
|
||||
bool
|
||||
NeckoParent::DeallocPWebSocketEventListenerParent(PWebSocketEventListenerParent* aActor)
|
||||
NeckoParent::DeallocPWebSocketFrameListenerParent(PWebSocketFrameListenerParent* aActor)
|
||||
{
|
||||
RefPtr<WebSocketEventListenerParent> c =
|
||||
dont_AddRef(static_cast<WebSocketEventListenerParent*>(aActor));
|
||||
RefPtr<WebSocketFrameListenerParent> c =
|
||||
dont_AddRef(static_cast<WebSocketFrameListenerParent*>(aActor));
|
||||
MOZ_ASSERT(c);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -172,9 +172,9 @@ protected:
|
||||
virtual bool RecvCancelHTMLDNSPrefetch(const nsString& hostname,
|
||||
const uint16_t& flags,
|
||||
const nsresult& reason) override;
|
||||
virtual PWebSocketEventListenerParent*
|
||||
AllocPWebSocketEventListenerParent(const uint64_t& aInnerWindowID) override;
|
||||
virtual bool DeallocPWebSocketEventListenerParent(PWebSocketEventListenerParent*) override;
|
||||
virtual PWebSocketFrameListenerParent*
|
||||
AllocPWebSocketFrameListenerParent(const uint64_t& aInnerWindowID) override;
|
||||
virtual bool DeallocPWebSocketFrameListenerParent(PWebSocketFrameListenerParent*) override;
|
||||
|
||||
virtual mozilla::ipc::IProtocol*
|
||||
CloneProtocol(Channel* aChannel,
|
||||
|
||||
@@ -12,7 +12,7 @@ include protocol PBrowser;
|
||||
include protocol PWyciwygChannel;
|
||||
include protocol PFTPChannel;
|
||||
include protocol PWebSocket;
|
||||
include protocol PWebSocketEventListener;
|
||||
include protocol PWebSocketFrameListener;
|
||||
include protocol PTCPSocket;
|
||||
include protocol PTCPServerSocket;
|
||||
include protocol PUDPSocket;
|
||||
@@ -46,7 +46,7 @@ prio(normal upto urgent) sync protocol PNecko
|
||||
manages PWyciwygChannel;
|
||||
manages PFTPChannel;
|
||||
manages PWebSocket;
|
||||
manages PWebSocketEventListener;
|
||||
manages PWebSocketFrameListener;
|
||||
manages PTCPSocket;
|
||||
manages PTCPServerSocket;
|
||||
manages PUDPSocket;
|
||||
@@ -74,7 +74,7 @@ parent:
|
||||
|
||||
PDNSRequest(nsCString hostName, uint32_t flags, nsCString networkInterface);
|
||||
|
||||
PWebSocketEventListener(uint64_t aInnerWindowID);
|
||||
PWebSocketFrameListener(uint64_t aInnerWindowID);
|
||||
|
||||
/* Predictor Methods */
|
||||
PredPredict(OptionalURIParams targetURI, OptionalURIParams sourceURI,
|
||||
|
||||
@@ -12,7 +12,7 @@ using mozilla::net::WebSocketFrameData from "ipc/IPCMessageUtils.h";
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
async protocol PWebSocketEventListener
|
||||
async protocol PWebSocketFrameListener
|
||||
{
|
||||
manager PNecko;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/Endian.h"
|
||||
#include "mozilla/MathAlgorithms.h"
|
||||
#include "mozilla/net/WebSocketEventService.h"
|
||||
#include "mozilla/net/WebSocketFrameService.h"
|
||||
|
||||
#include "nsIURI.h"
|
||||
#include "nsIChannel.h"
|
||||
@@ -1196,7 +1196,7 @@ WebSocketChannel::WebSocketChannel() :
|
||||
|
||||
mSerial = sSerialSeed++;
|
||||
|
||||
mService = WebSocketEventService::GetOrCreate();
|
||||
mFrameService = WebSocketFrameService::GetOrCreate();
|
||||
}
|
||||
|
||||
WebSocketChannel::~WebSocketChannel()
|
||||
@@ -1228,7 +1228,7 @@ WebSocketChannel::~WebSocketChannel()
|
||||
|
||||
NS_ReleaseOnMainThread(mLoadGroup);
|
||||
NS_ReleaseOnMainThread(mLoadInfo);
|
||||
NS_ReleaseOnMainThread(static_cast<nsIWebSocketEventService*>(mService.forget().take()));
|
||||
NS_ReleaseOnMainThread(static_cast<nsIWebSocketFrameService*>(mFrameService.forget().take()));
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@@ -1699,11 +1699,11 @@ WebSocketChannel::ProcessInput(uint8_t *buffer, uint32_t count)
|
||||
}
|
||||
|
||||
RefPtr<WebSocketFrame> frame =
|
||||
mService->CreateFrameIfNeeded(finBit, rsvBit1, rsvBit2, rsvBit3,
|
||||
opcode, maskBit, mask, utf8Data);
|
||||
mFrameService->CreateFrameIfNeeded(finBit, rsvBit1, rsvBit2, rsvBit3,
|
||||
opcode, maskBit, mask, utf8Data);
|
||||
|
||||
if (frame) {
|
||||
mService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
mFrameService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
}
|
||||
|
||||
mTargetThread->Dispatch(new CallOnMessageAvailable(this, utf8Data, -1),
|
||||
@@ -1722,9 +1722,9 @@ WebSocketChannel::ProcessInput(uint8_t *buffer, uint32_t count)
|
||||
}
|
||||
|
||||
RefPtr<WebSocketFrame> frame =
|
||||
mService->CreateFrameIfNeeded(finBit, rsvBit1, rsvBit2, rsvBit3,
|
||||
opcode, maskBit, mask, payload,
|
||||
payloadLength);
|
||||
mFrameService->CreateFrameIfNeeded(finBit, rsvBit1, rsvBit2, rsvBit3,
|
||||
opcode, maskBit, mask, payload,
|
||||
payloadLength);
|
||||
|
||||
if (opcode == nsIWebSocketFrame::OPCODE_CLOSE) {
|
||||
LOG(("WebSocketChannel:: close received\n"));
|
||||
@@ -1762,7 +1762,7 @@ WebSocketChannel::ProcessInput(uint8_t *buffer, uint32_t count)
|
||||
if (frame) {
|
||||
// We send the frame immediately becuase we want to have it dispatched
|
||||
// before the CallOnServerClose.
|
||||
mService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
mFrameService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
frame = nullptr;
|
||||
}
|
||||
|
||||
@@ -1802,7 +1802,7 @@ WebSocketChannel::ProcessInput(uint8_t *buffer, uint32_t count)
|
||||
}
|
||||
|
||||
if (frame) {
|
||||
mService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
mFrameService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
}
|
||||
} else if (opcode == nsIWebSocketFrame::OPCODE_BINARY) {
|
||||
bool isDeflated = mPMCECompressor && mPMCECompressor->IsMessageDeflated();
|
||||
@@ -1828,10 +1828,10 @@ WebSocketChannel::ProcessInput(uint8_t *buffer, uint32_t count)
|
||||
}
|
||||
|
||||
RefPtr<WebSocketFrame> frame =
|
||||
mService->CreateFrameIfNeeded(finBit, rsvBit1, rsvBit2, rsvBit3,
|
||||
opcode, maskBit, mask, binaryData);
|
||||
mFrameService->CreateFrameIfNeeded(finBit, rsvBit1, rsvBit2, rsvBit3,
|
||||
opcode, maskBit, mask, binaryData);
|
||||
if (frame) {
|
||||
mService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
mFrameService->FrameReceived(mSerial, mInnerWindowID, frame);
|
||||
}
|
||||
|
||||
mTargetThread->Dispatch(
|
||||
@@ -2177,7 +2177,7 @@ WebSocketChannel::PrimeNewOutgoingMessage()
|
||||
// For real data frames we ship the bulk of the payload off to ApplyMask()
|
||||
|
||||
RefPtr<WebSocketFrame> frame =
|
||||
mService->CreateFrameIfNeeded(
|
||||
mFrameService->CreateFrameIfNeeded(
|
||||
mOutHeader[0] & WebSocketChannel::kFinalFragBit,
|
||||
mOutHeader[0] & WebSocketChannel::kRsv1Bit,
|
||||
mOutHeader[0] & WebSocketChannel::kRsv2Bit,
|
||||
@@ -2190,7 +2190,7 @@ WebSocketChannel::PrimeNewOutgoingMessage()
|
||||
mCurrentOut->OrigLength());
|
||||
|
||||
if (frame) {
|
||||
mService->FrameSent(mSerial, mInnerWindowID, frame);
|
||||
mFrameService->FrameSent(mSerial, mInnerWindowID, frame);
|
||||
}
|
||||
|
||||
while (payload < (mOutHeader + mHdrOutToSend)) {
|
||||
|
||||
@@ -50,7 +50,7 @@ class CallOnMessageAvailable;
|
||||
class CallOnStop;
|
||||
class CallOnServerClose;
|
||||
class CallAcknowledge;
|
||||
class WebSocketEventService;
|
||||
class WebSocketFrameService;
|
||||
|
||||
// Used to enforce "1 connecting websocket per host" rule, and reconnect delays
|
||||
enum wsConnectingState {
|
||||
@@ -227,7 +227,7 @@ private:
|
||||
const static int32_t kLingeringCloseTimeout = 1000;
|
||||
const static int32_t kLingeringCloseThreshold = 50;
|
||||
|
||||
RefPtr<WebSocketEventService> mService;
|
||||
RefPtr<WebSocketFrameService> mFrameService;
|
||||
|
||||
int32_t mMaxConcurrentConnections;
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#define mozilla_net_WebSocketFrame_h
|
||||
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsIWebSocketEventService.h"
|
||||
#include "nsIWebSocketFrameService.h"
|
||||
#include "nsString.h"
|
||||
|
||||
namespace IPC {
|
||||
|
||||
@@ -4,26 +4,26 @@
|
||||
* 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 "WebSocketEventListenerChild.h"
|
||||
#include "WebSocketFrameListenerChild.h"
|
||||
|
||||
#include "WebSocketEventService.h"
|
||||
#include "WebSocketFrame.h"
|
||||
#include "WebSocketFrameService.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
WebSocketEventListenerChild::WebSocketEventListenerChild(uint64_t aInnerWindowID)
|
||||
: mService(WebSocketEventService::GetOrCreate())
|
||||
WebSocketFrameListenerChild::WebSocketFrameListenerChild(uint64_t aInnerWindowID)
|
||||
: mService(WebSocketFrameService::GetOrCreate())
|
||||
, mInnerWindowID(aInnerWindowID)
|
||||
{}
|
||||
|
||||
WebSocketEventListenerChild::~WebSocketEventListenerChild()
|
||||
WebSocketFrameListenerChild::~WebSocketFrameListenerChild()
|
||||
{
|
||||
MOZ_ASSERT(!mService);
|
||||
}
|
||||
|
||||
bool
|
||||
WebSocketEventListenerChild::RecvFrameReceived(const uint32_t& aWebSocketSerialID,
|
||||
WebSocketFrameListenerChild::RecvFrameReceived(const uint32_t& aWebSocketSerialID,
|
||||
const WebSocketFrameData& aFrameData)
|
||||
{
|
||||
if (mService) {
|
||||
@@ -35,7 +35,7 @@ WebSocketEventListenerChild::RecvFrameReceived(const uint32_t& aWebSocketSerialI
|
||||
}
|
||||
|
||||
bool
|
||||
WebSocketEventListenerChild::RecvFrameSent(const uint32_t& aWebSocketSerialID,
|
||||
WebSocketFrameListenerChild::RecvFrameSent(const uint32_t& aWebSocketSerialID,
|
||||
const WebSocketFrameData& aFrameData)
|
||||
{
|
||||
if (mService) {
|
||||
@@ -47,14 +47,14 @@ WebSocketEventListenerChild::RecvFrameSent(const uint32_t& aWebSocketSerialID,
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventListenerChild::Close()
|
||||
WebSocketFrameListenerChild::Close()
|
||||
{
|
||||
mService = nullptr;
|
||||
SendClose();
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventListenerChild::ActorDestroy(ActorDestroyReason aWhy)
|
||||
WebSocketFrameListenerChild::ActorDestroy(ActorDestroyReason aWhy)
|
||||
{
|
||||
mService = nullptr;
|
||||
}
|
||||
@@ -4,22 +4,22 @@
|
||||
* 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/. */
|
||||
|
||||
#ifndef mozilla_net_WebSocketEventListenerChild_h
|
||||
#define mozilla_net_WebSocketEventListenerChild_h
|
||||
#ifndef mozilla_net_WebSocketFrameListenerChild_h
|
||||
#define mozilla_net_WebSocketFrameListenerChild_h
|
||||
|
||||
#include "mozilla/net/PWebSocketEventListenerChild.h"
|
||||
#include "mozilla/net/PWebSocketFrameListenerChild.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
class WebSocketEventService;
|
||||
class WebSocketFrameService;
|
||||
|
||||
class WebSocketEventListenerChild final : public PWebSocketEventListenerChild
|
||||
class WebSocketFrameListenerChild final : public PWebSocketFrameListenerChild
|
||||
{
|
||||
public:
|
||||
NS_INLINE_DECL_REFCOUNTING(WebSocketEventListenerChild)
|
||||
NS_INLINE_DECL_REFCOUNTING(WebSocketFrameListenerChild)
|
||||
|
||||
explicit WebSocketEventListenerChild(uint64_t aInnerWindowID);
|
||||
explicit WebSocketFrameListenerChild(uint64_t aInnerWindowID);
|
||||
|
||||
bool RecvFrameReceived(const uint32_t& aWebSocketSerialID,
|
||||
const WebSocketFrameData& aFrameData) override;
|
||||
@@ -30,15 +30,15 @@ public:
|
||||
void Close();
|
||||
|
||||
private:
|
||||
~WebSocketEventListenerChild();
|
||||
~WebSocketFrameListenerChild();
|
||||
|
||||
virtual void ActorDestroy(ActorDestroyReason aWhy) override;
|
||||
|
||||
RefPtr<WebSocketEventService> mService;
|
||||
RefPtr<WebSocketFrameService> mService;
|
||||
uint64_t mInnerWindowID;
|
||||
};
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_net_WebSocketEventListenerChild_h
|
||||
#endif // mozilla_net_WebSocketFrameListenerChild_h
|
||||
@@ -4,34 +4,34 @@
|
||||
* 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 "WebSocketEventListenerParent.h"
|
||||
#include "WebSocketFrameListenerParent.h"
|
||||
#include "mozilla/unused.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(WebSocketEventListenerParent)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebSocketEventListener)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWebSocketEventListener)
|
||||
NS_INTERFACE_MAP_BEGIN(WebSocketFrameListenerParent)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebSocketFrameListener)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWebSocketFrameListener)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
NS_IMPL_ADDREF(WebSocketEventListenerParent)
|
||||
NS_IMPL_RELEASE(WebSocketEventListenerParent)
|
||||
NS_IMPL_ADDREF(WebSocketFrameListenerParent)
|
||||
NS_IMPL_RELEASE(WebSocketFrameListenerParent)
|
||||
|
||||
WebSocketEventListenerParent::WebSocketEventListenerParent(uint64_t aInnerWindowID)
|
||||
: mService(WebSocketEventService::GetOrCreate())
|
||||
WebSocketFrameListenerParent::WebSocketFrameListenerParent(uint64_t aInnerWindowID)
|
||||
: mService(WebSocketFrameService::GetOrCreate())
|
||||
, mInnerWindowID(aInnerWindowID)
|
||||
{
|
||||
mService->AddListener(mInnerWindowID, this);
|
||||
}
|
||||
|
||||
WebSocketEventListenerParent::~WebSocketEventListenerParent()
|
||||
WebSocketFrameListenerParent::~WebSocketFrameListenerParent()
|
||||
{
|
||||
MOZ_ASSERT(!mService);
|
||||
}
|
||||
|
||||
bool
|
||||
WebSocketEventListenerParent::RecvClose()
|
||||
WebSocketFrameListenerParent::RecvClose()
|
||||
{
|
||||
if (mService) {
|
||||
UnregisterListener();
|
||||
@@ -42,13 +42,13 @@ WebSocketEventListenerParent::RecvClose()
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventListenerParent::ActorDestroy(ActorDestroyReason aWhy)
|
||||
WebSocketFrameListenerParent::ActorDestroy(ActorDestroyReason aWhy)
|
||||
{
|
||||
UnregisterListener();
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventListenerParent::UnregisterListener()
|
||||
WebSocketFrameListenerParent::UnregisterListener()
|
||||
{
|
||||
if (mService) {
|
||||
mService->RemoveListener(mInnerWindowID, this);
|
||||
@@ -57,7 +57,7 @@ WebSocketEventListenerParent::UnregisterListener()
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
WebSocketEventListenerParent::FrameReceived(uint32_t aWebSocketSerialID,
|
||||
WebSocketFrameListenerParent::FrameReceived(uint32_t aWebSocketSerialID,
|
||||
nsIWebSocketFrame* aFrame)
|
||||
{
|
||||
if (!aFrame) {
|
||||
@@ -70,7 +70,7 @@ WebSocketEventListenerParent::FrameReceived(uint32_t aWebSocketSerialID,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
WebSocketEventListenerParent::FrameSent(uint32_t aWebSocketSerialID,
|
||||
WebSocketFrameListenerParent::FrameSent(uint32_t aWebSocketSerialID,
|
||||
nsIWebSocketFrame* aFrame)
|
||||
{
|
||||
if (!aFrame) {
|
||||
@@ -4,28 +4,28 @@
|
||||
* 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/. */
|
||||
|
||||
#ifndef mozilla_net_WebSocketEventListenerParent_h
|
||||
#define mozilla_net_WebSocketEventListenerParent_h
|
||||
#ifndef mozilla_net_WebSocketFrameListenerParent_h
|
||||
#define mozilla_net_WebSocketFrameListenerParent_h
|
||||
|
||||
#include "mozilla/net/PWebSocketEventListenerParent.h"
|
||||
#include "nsIWebSocketEventService.h"
|
||||
#include "mozilla/net/PWebSocketFrameListenerParent.h"
|
||||
#include "nsIWebSocketFrameService.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
class WebSocketEventService;
|
||||
class WebSocketFrameService;
|
||||
|
||||
class WebSocketEventListenerParent final : public PWebSocketEventListenerParent
|
||||
, public nsIWebSocketEventListener
|
||||
class WebSocketFrameListenerParent final : public PWebSocketFrameListenerParent
|
||||
, public nsIWebSocketFrameListener
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIWEBSOCKETEVENTLISTENER
|
||||
NS_DECL_NSIWEBSOCKETFRAMELISTENER
|
||||
|
||||
explicit WebSocketEventListenerParent(uint64_t aInnerWindowID);
|
||||
explicit WebSocketFrameListenerParent(uint64_t aInnerWindowID);
|
||||
|
||||
private:
|
||||
~WebSocketEventListenerParent();
|
||||
~WebSocketFrameListenerParent();
|
||||
|
||||
virtual bool RecvClose() override;
|
||||
|
||||
@@ -33,11 +33,11 @@ private:
|
||||
|
||||
void UnregisterListener();
|
||||
|
||||
RefPtr<WebSocketEventService> mService;
|
||||
RefPtr<WebSocketFrameService> mService;
|
||||
uint64_t mInnerWindowID;
|
||||
};
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_net_WebSocketEventListenerParent_h
|
||||
#endif // mozilla_net_WebSocketFrameListenerParent_h
|
||||
@@ -4,9 +4,9 @@
|
||||
* 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 "WebSocketEventListenerChild.h"
|
||||
#include "WebSocketEventService.h"
|
||||
#include "WebSocketFrame.h"
|
||||
#include "WebSocketFrameListenerChild.h"
|
||||
#include "WebSocketFrameService.h"
|
||||
|
||||
#include "mozilla/net/NeckoChild.h"
|
||||
#include "mozilla/StaticPtr.h"
|
||||
@@ -20,7 +20,7 @@ namespace net {
|
||||
|
||||
namespace {
|
||||
|
||||
StaticRefPtr<WebSocketEventService> gWebSocketEventService;
|
||||
StaticRefPtr<WebSocketFrameService> gWebSocketFrameService;
|
||||
|
||||
bool
|
||||
IsChildProcess()
|
||||
@@ -47,19 +47,20 @@ public:
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
RefPtr<WebSocketEventService> service = WebSocketEventService::GetOrCreate();
|
||||
RefPtr<WebSocketFrameService> service =
|
||||
WebSocketFrameService::GetOrCreate();
|
||||
MOZ_ASSERT(service);
|
||||
|
||||
WebSocketEventService::WindowListeners* listeners =
|
||||
WebSocketFrameService::WindowListeners* listeners =
|
||||
service->GetListeners(mInnerWindowID);
|
||||
if (!listeners) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult rv;
|
||||
WebSocketEventService::WindowListeners::ForwardIterator iter(*listeners);
|
||||
WebSocketFrameService::WindowListeners::ForwardIterator iter(*listeners);
|
||||
while (iter.HasMore()) {
|
||||
nsCOMPtr<nsIWebSocketEventListener> listener = iter.GetNext();
|
||||
nsCOMPtr<nsIWebSocketFrameListener> listener = iter.GetNext();
|
||||
|
||||
if (mFrameSent) {
|
||||
rv = listener->FrameSent(mWebSocketSerialID, mFrame);
|
||||
@@ -85,29 +86,29 @@ protected:
|
||||
bool mFrameSent;
|
||||
};
|
||||
|
||||
/* static */ already_AddRefed<WebSocketEventService>
|
||||
WebSocketEventService::GetOrCreate()
|
||||
/* static */ already_AddRefed<WebSocketFrameService>
|
||||
WebSocketFrameService::GetOrCreate()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
if (!gWebSocketEventService) {
|
||||
gWebSocketEventService = new WebSocketEventService();
|
||||
if (!gWebSocketFrameService) {
|
||||
gWebSocketFrameService = new WebSocketFrameService();
|
||||
}
|
||||
|
||||
RefPtr<WebSocketEventService> service = gWebSocketEventService.get();
|
||||
RefPtr<WebSocketFrameService> service = gWebSocketFrameService.get();
|
||||
return service.forget();
|
||||
}
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(WebSocketEventService)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebSocketEventService)
|
||||
NS_INTERFACE_MAP_BEGIN(WebSocketFrameService)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebSocketFrameService)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWebSocketEventService)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWebSocketFrameService)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
NS_IMPL_ADDREF(WebSocketEventService)
|
||||
NS_IMPL_RELEASE(WebSocketEventService)
|
||||
NS_IMPL_ADDREF(WebSocketFrameService)
|
||||
NS_IMPL_RELEASE(WebSocketFrameService)
|
||||
|
||||
WebSocketEventService::WebSocketEventService()
|
||||
WebSocketFrameService::WebSocketFrameService()
|
||||
: mCountListeners(0)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
@@ -119,13 +120,13 @@ WebSocketEventService::WebSocketEventService()
|
||||
}
|
||||
}
|
||||
|
||||
WebSocketEventService::~WebSocketEventService()
|
||||
WebSocketFrameService::~WebSocketFrameService()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventService::FrameReceived(uint32_t aWebSocketSerialID,
|
||||
WebSocketFrameService::FrameReceived(uint32_t aWebSocketSerialID,
|
||||
uint64_t aInnerWindowID,
|
||||
WebSocketFrame* aFrame)
|
||||
{
|
||||
@@ -144,7 +145,7 @@ WebSocketEventService::FrameReceived(uint32_t aWebSocketSerialID,
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventService::FrameSent(uint32_t aWebSocketSerialID,
|
||||
WebSocketFrameService::FrameSent(uint32_t aWebSocketSerialID,
|
||||
uint64_t aInnerWindowID,
|
||||
WebSocketFrame* aFrame)
|
||||
{
|
||||
@@ -164,8 +165,8 @@ WebSocketEventService::FrameSent(uint32_t aWebSocketSerialID,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
WebSocketEventService::AddListener(uint64_t aInnerWindowID,
|
||||
nsIWebSocketEventListener* aListener)
|
||||
WebSocketFrameService::AddListener(uint64_t aInnerWindowID,
|
||||
nsIWebSocketFrameListener* aListener)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
@@ -180,10 +181,10 @@ WebSocketEventService::AddListener(uint64_t aInnerWindowID,
|
||||
listener = new WindowListener();
|
||||
|
||||
if (IsChildProcess()) {
|
||||
PWebSocketEventListenerChild* actor =
|
||||
gNeckoChild->SendPWebSocketEventListenerConstructor(aInnerWindowID);
|
||||
PWebSocketFrameListenerChild* actor =
|
||||
gNeckoChild->SendPWebSocketFrameListenerConstructor(aInnerWindowID);
|
||||
|
||||
listener->mActor = static_cast<WebSocketEventListenerChild*>(actor);
|
||||
listener->mActor = static_cast<WebSocketFrameListenerChild*>(actor);
|
||||
MOZ_ASSERT(listener->mActor);
|
||||
}
|
||||
|
||||
@@ -196,8 +197,8 @@ WebSocketEventService::AddListener(uint64_t aInnerWindowID,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
WebSocketEventService::RemoveListener(uint64_t aInnerWindowID,
|
||||
nsIWebSocketEventListener* aListener)
|
||||
WebSocketFrameService::RemoveListener(uint64_t aInnerWindowID,
|
||||
nsIWebSocketFrameListener* aListener)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
@@ -230,7 +231,7 @@ WebSocketEventService::RemoveListener(uint64_t aInnerWindowID,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
WebSocketEventService::Observe(nsISupports* aSubject, const char* aTopic,
|
||||
WebSocketFrameService::Observe(nsISupports* aSubject, const char* aTopic,
|
||||
const char16_t* aData)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
@@ -268,37 +269,37 @@ WebSocketEventService::Observe(nsISupports* aSubject, const char* aTopic,
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventService::Shutdown()
|
||||
WebSocketFrameService::Shutdown()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
if (gWebSocketEventService) {
|
||||
if (gWebSocketFrameService) {
|
||||
nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
|
||||
if (obs) {
|
||||
obs->RemoveObserver(gWebSocketEventService, "xpcom-shutdown");
|
||||
obs->RemoveObserver(gWebSocketEventService, "inner-window-destroyed");
|
||||
obs->RemoveObserver(gWebSocketFrameService, "xpcom-shutdown");
|
||||
obs->RemoveObserver(gWebSocketFrameService, "inner-window-destroyed");
|
||||
}
|
||||
|
||||
mWindows.Clear();
|
||||
gWebSocketEventService = nullptr;
|
||||
gWebSocketFrameService = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
WebSocketEventService::HasListeners() const
|
||||
WebSocketFrameService::HasListeners() const
|
||||
{
|
||||
return !!mCountListeners;
|
||||
}
|
||||
|
||||
WebSocketEventService::WindowListeners*
|
||||
WebSocketEventService::GetListeners(uint64_t aInnerWindowID) const
|
||||
WebSocketFrameService::WindowListeners*
|
||||
WebSocketFrameService::GetListeners(uint64_t aInnerWindowID) const
|
||||
{
|
||||
WindowListener* listener = mWindows.Get(aInnerWindowID);
|
||||
return listener ? &listener->mListeners : nullptr;
|
||||
}
|
||||
|
||||
void
|
||||
WebSocketEventService::ShutdownActorListener(WindowListener* aListener)
|
||||
WebSocketFrameService::ShutdownActorListener(WindowListener* aListener)
|
||||
{
|
||||
MOZ_ASSERT(aListener);
|
||||
MOZ_ASSERT(aListener->mActor);
|
||||
@@ -307,7 +308,7 @@ WebSocketEventService::ShutdownActorListener(WindowListener* aListener)
|
||||
}
|
||||
|
||||
WebSocketFrame*
|
||||
WebSocketEventService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
WebSocketFrameService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
bool aRsvBit2, bool aRsvBit3,
|
||||
uint8_t aOpCode, bool aMaskBit,
|
||||
uint32_t aMask,
|
||||
@@ -322,7 +323,7 @@ WebSocketEventService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
}
|
||||
|
||||
WebSocketFrame*
|
||||
WebSocketEventService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
WebSocketFrameService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
bool aRsvBit2, bool aRsvBit3,
|
||||
uint8_t aOpCode, bool aMaskBit,
|
||||
uint32_t aMask, uint8_t* aPayload,
|
||||
@@ -343,7 +344,7 @@ WebSocketEventService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
}
|
||||
|
||||
WebSocketFrame*
|
||||
WebSocketEventService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
WebSocketFrameService::CreateFrameIfNeeded(bool aFinBit, bool aRsvBit1,
|
||||
bool aRsvBit2, bool aRsvBit3,
|
||||
uint8_t aOpCode, bool aMaskBit,
|
||||
uint32_t aMask,
|
||||
@@ -4,11 +4,11 @@
|
||||
* 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/. */
|
||||
|
||||
#ifndef mozilla_net_WebSocketEventService_h
|
||||
#define mozilla_net_WebSocketEventService_h
|
||||
#ifndef mozilla_net_WebSocketFrameService_h
|
||||
#define mozilla_net_WebSocketFrameService_h
|
||||
|
||||
#include "mozilla/Atomics.h"
|
||||
#include "nsIWebSocketEventService.h"
|
||||
#include "nsIWebSocketFrameService.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsClassHashtable.h"
|
||||
@@ -21,9 +21,9 @@ namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
class WebSocketFrame;
|
||||
class WebSocketEventListenerChild;
|
||||
class WebSocketFrameListenerChild;
|
||||
|
||||
class WebSocketEventService final : public nsIWebSocketEventService
|
||||
class WebSocketFrameService final : public nsIWebSocketFrameService
|
||||
, public nsIObserver
|
||||
{
|
||||
friend class WebSocketFrameRunnable;
|
||||
@@ -31,9 +31,9 @@ class WebSocketEventService final : public nsIWebSocketEventService
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIOBSERVER
|
||||
NS_DECL_NSIWEBSOCKETEVENTSERVICE
|
||||
NS_DECL_NSIWEBSOCKETFRAMESERVICE
|
||||
|
||||
static already_AddRefed<WebSocketEventService> GetOrCreate();
|
||||
static already_AddRefed<WebSocketFrameService> GetOrCreate();
|
||||
|
||||
void FrameReceived(uint32_t aWebSocketSerialID,
|
||||
uint64_t aInnerWindowID,
|
||||
@@ -60,18 +60,18 @@ public:
|
||||
uint8_t* aPayload, uint32_t aPayloadLength);
|
||||
|
||||
private:
|
||||
WebSocketEventService();
|
||||
~WebSocketEventService();
|
||||
WebSocketFrameService();
|
||||
~WebSocketFrameService();
|
||||
|
||||
bool HasListeners() const;
|
||||
void Shutdown();
|
||||
|
||||
typedef nsTObserverArray<nsCOMPtr<nsIWebSocketEventListener>> WindowListeners;
|
||||
typedef nsTObserverArray<nsCOMPtr<nsIWebSocketFrameListener>> WindowListeners;
|
||||
|
||||
struct WindowListener
|
||||
{
|
||||
WindowListeners mListeners;
|
||||
RefPtr<WebSocketEventListenerChild> mActor;
|
||||
RefPtr<WebSocketFrameListenerChild> mActor;
|
||||
};
|
||||
|
||||
WindowListeners* GetListeners(uint64_t aInnerWindowID) const;
|
||||
@@ -86,4 +86,4 @@ private:
|
||||
} // net namespace
|
||||
} // mozilla namespace
|
||||
|
||||
#endif // mozilla_net_WebSocketEventService_h
|
||||
#endif // mozilla_net_WebSocketFrameService_h
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
XPIDL_SOURCES += [
|
||||
'nsIWebSocketChannel.idl',
|
||||
'nsIWebSocketEventService.idl',
|
||||
'nsIWebSocketFrameService.idl',
|
||||
'nsIWebSocketListener.idl',
|
||||
]
|
||||
|
||||
@@ -17,10 +17,10 @@ EXPORTS.mozilla.net += [
|
||||
'WebSocketChannel.h',
|
||||
'WebSocketChannelChild.h',
|
||||
'WebSocketChannelParent.h',
|
||||
'WebSocketEventListenerChild.h',
|
||||
'WebSocketEventListenerParent.h',
|
||||
'WebSocketEventService.h',
|
||||
'WebSocketFrame.h',
|
||||
'WebSocketFrameListenerChild.h',
|
||||
'WebSocketFrameListenerParent.h',
|
||||
'WebSocketFrameService.h',
|
||||
]
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
@@ -28,15 +28,15 @@ UNIFIED_SOURCES += [
|
||||
'WebSocketChannel.cpp',
|
||||
'WebSocketChannelChild.cpp',
|
||||
'WebSocketChannelParent.cpp',
|
||||
'WebSocketEventListenerChild.cpp',
|
||||
'WebSocketEventListenerParent.cpp',
|
||||
'WebSocketEventService.cpp',
|
||||
'WebSocketFrame.cpp',
|
||||
'WebSocketFrameListenerChild.cpp',
|
||||
'WebSocketFrameListenerParent.cpp',
|
||||
'WebSocketFrameService.cpp',
|
||||
]
|
||||
|
||||
IPDL_SOURCES += [
|
||||
'PWebSocket.ipdl',
|
||||
'PWebSocketEventListener.ipdl',
|
||||
'PWebSocketFrameListener.ipdl',
|
||||
]
|
||||
|
||||
include('/ipc/chromium/chromium-config.mozbuild')
|
||||
|
||||
@@ -37,7 +37,7 @@ interface nsIWebSocketFrame : nsISupports
|
||||
};
|
||||
|
||||
[scriptable, uuid(f6a7ec44-23b2-4c77-bb94-f11a8df5a874)]
|
||||
interface nsIWebSocketEventListener : nsISupports
|
||||
interface nsIWebSocketFrameListener : nsISupports
|
||||
{
|
||||
void frameReceived(in unsigned long aWebSocketSerialID,
|
||||
in nsIWebSocketFrame aFrame);
|
||||
@@ -47,11 +47,11 @@ interface nsIWebSocketEventListener : nsISupports
|
||||
};
|
||||
|
||||
[scriptable, builtinclass, uuid(b89d1b90-2cf3-4d8f-ac21-5aedfb25c760)]
|
||||
interface nsIWebSocketEventService : nsISupports
|
||||
interface nsIWebSocketFrameService : nsISupports
|
||||
{
|
||||
void addListener(in unsigned long long aInnerWindowID,
|
||||
in nsIWebSocketEventListener aListener);
|
||||
in nsIWebSocketFrameListener aListener);
|
||||
|
||||
void removeListener(in unsigned long long aInnerWindowID,
|
||||
in nsIWebSocketEventListener aListener);
|
||||
in nsIWebSocketFrameListener aListener);
|
||||
};
|
||||
Reference in New Issue
Block a user