123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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/. */
- #ifndef mozilla_dom_ContentBridgeChild_h
- #define mozilla_dom_ContentBridgeChild_h
- #include "mozilla/dom/PContentBridgeChild.h"
- #include "mozilla/dom/nsIContentChild.h"
- namespace mozilla {
- namespace dom {
- class ContentBridgeChild final : public PContentBridgeChild
- , public nsIContentChild
- {
- public:
- explicit ContentBridgeChild(Transport* aTransport);
- NS_DECL_ISUPPORTS
- static ContentBridgeChild*
- Create(Transport* aTransport, ProcessId aOtherProcess);
- virtual void ActorDestroy(ActorDestroyReason aWhy) override;
- void DeferredDestroy();
- virtual bool RecvAsyncMessage(const nsString& aMsg,
- InfallibleTArray<jsipc::CpowEntry>&& aCpows,
- const IPC::Principal& aPrincipal,
- const ClonedMessageData& aData) override;
- virtual PBlobChild*
- SendPBlobConstructor(PBlobChild* actor,
- const BlobConstructorParams& aParams) override;
- jsipc::CPOWManager* GetCPOWManager() override;
- virtual bool SendPBrowserConstructor(PBrowserChild* aActor,
- const TabId& aTabId,
- const IPCTabContext& aContext,
- const uint32_t& aChromeFlags,
- const ContentParentId& aCpID,
- const bool& aIsForApp,
- const bool& aIsForBrowser) override;
- virtual mozilla::ipc::PFileDescriptorSetChild*
- SendPFileDescriptorSetConstructor(const mozilla::ipc::FileDescriptor&) override;
- virtual mozilla::ipc::PSendStreamChild*
- SendPSendStreamConstructor(mozilla::ipc::PSendStreamChild*) override;
- FORWARD_SHMEM_ALLOCATOR_TO(PContentBridgeChild)
- protected:
- virtual ~ContentBridgeChild();
- virtual PBrowserChild* AllocPBrowserChild(const TabId& aTabId,
- const IPCTabContext& aContext,
- const uint32_t& aChromeFlags,
- const ContentParentId& aCpID,
- const bool& aIsForApp,
- const bool& aIsForBrowser) override;
- virtual bool DeallocPBrowserChild(PBrowserChild*) override;
- virtual bool RecvPBrowserConstructor(PBrowserChild* aCctor,
- const TabId& aTabId,
- const IPCTabContext& aContext,
- const uint32_t& aChromeFlags,
- const ContentParentId& aCpID,
- const bool& aIsForApp,
- const bool& aIsForBrowser) override;
- virtual mozilla::jsipc::PJavaScriptChild* AllocPJavaScriptChild() override;
- virtual bool DeallocPJavaScriptChild(mozilla::jsipc::PJavaScriptChild*) override;
- virtual PBlobChild* AllocPBlobChild(const BlobConstructorParams& aParams) override;
- virtual bool DeallocPBlobChild(PBlobChild*) override;
- virtual mozilla::ipc::PSendStreamChild* AllocPSendStreamChild() override;
- virtual bool
- DeallocPSendStreamChild(mozilla::ipc::PSendStreamChild* aActor) override;
- virtual PFileDescriptorSetChild*
- AllocPFileDescriptorSetChild(const mozilla::ipc::FileDescriptor& aFD) override;
- virtual bool
- DeallocPFileDescriptorSetChild(mozilla::ipc::PFileDescriptorSetChild* aActor) override;
- DISALLOW_EVIL_CONSTRUCTORS(ContentBridgeChild);
- protected: // members
- RefPtr<ContentBridgeChild> mSelfRef;
- Transport* mTransport; // owned
- };
- } // namespace dom
- } // namespace mozilla
- #endif // mozilla_dom_ContentBridgeChild_h
|