//
// Automatically generated by ipdlc.
// Edit at your own risk
//


#include "mozilla/dom/PBrowserBridgeParent.h"
#include "ipc/nsGUIEventIPC.h"
#include "mozilla/GfxMessageUtils.h"
#include "mozilla/LayoutMessageUtils.h"
#include "mozilla/ProfilerLabels.h"
#include "mozilla/RemoteLazyInputStream.h"
#include "mozilla/URLClassifierIPCUtils.h"
#include "mozilla/dom/BindingIPCUtils.h"
#include "mozilla/dom/BrowserBridgeParent.h"
#include "mozilla/dom/CSPMessageUtils.h"
#include "mozilla/dom/DocShellMessageUtils.h"
#include "mozilla/dom/DomSecurityIPCUtils.h"
#include "mozilla/dom/NavigationAPIIPCUtils.h"
#include "mozilla/dom/PermissionMessageUtils.h"
#include "mozilla/dom/PolicyContainerMessageUtils.h"
#include "mozilla/dom/PropertyBagUtils.h"
#include "mozilla/dom/ReferrerInfoUtils.h"
#include "mozilla/dom/SessionHistoryEntry.h"
#include "mozilla/dom/TabMessageUtils.h"
#include "mozilla/dom/notification/IPCUtils.h"
#include "mozilla/ipc/BigBuffer.h"
#include "mozilla/ipc/IPCCore.h"
#include "mozilla/ipc/IPCStreamUtils.h"
#include "mozilla/ipc/SerializedStructuredCloneBuffer.h"
#include "mozilla/ipc/URIUtils.h"
#include "mozilla/layers/LayersMessageUtils.h"
#include "mozilla/net/NeckoMessageUtils.h"
#include "nsDocShellLoadState.h"
#include "nsIPolicyContainer.h"
#include "nsIPrincipal.h"
#include "nsIReferrerInfo.h"
#include "nsIURI.h"
#include "nsIVariant.h"
#include "nsRect.h"

#include "mozilla/dom/PBrowserParent.h"
#include "mozilla/a11y/PDocAccessibleParent.h"

#include "ipc/IPCMessageUtils.h"
#include "ipc/IPCMessageUtilsSpecializations.h"
#include "nsIFile.h"
#include "mozilla/ipc/Endpoint.h"
#include "mozilla/ipc/ProtocolMessageUtils.h"
#include "mozilla/ipc/ProtocolUtils.h"
#include "mozilla/ipc/ShmemMessageUtils.h"
#include "mozilla/ipc/TaintingIPCUtils.h"

namespace mozilla {
namespace dom {


auto PBrowserBridgeParent::Recv__delete__() -> mozilla::ipc::IPCResult
{
    return IPC_OK();
}

MOZ_IMPLICIT PBrowserBridgeParent::PBrowserBridgeParent() :
    mozilla::ipc::IRefCountedProtocol(kProtocolId, mozilla::ipc::ParentSide)
{
    MOZ_COUNT_CTOR(PBrowserBridgeParent);
}

PBrowserBridgeParent::~PBrowserBridgeParent()
{
    MOZ_COUNT_DTOR(PBrowserBridgeParent);
}

auto PBrowserBridgeParent::ActorAlloc() -> void
{
    AddRef();
}

auto PBrowserBridgeParent::ActorDealloc() -> void
{
    Release();
}

auto PBrowserBridgeParent::OtherPid() const -> ::base::ProcessId
{
    ::base::ProcessId pid =
        ::mozilla::ipc::IProtocol::ToplevelProtocol()->OtherPidMaybeInvalid();
    MOZ_RELEASE_ASSERT(pid != ::base::kInvalidProcessId);
    return pid;
}

auto PBrowserBridgeParent::OtherChildID() const -> ::GeckoChildID
{
    ::GeckoChildID childID =
        ::mozilla::ipc::IProtocol::ToplevelProtocol()->OtherChildIDMaybeInvalid();
    MOZ_RELEASE_ASSERT(childID != -1);
    return childID;
}

auto PBrowserBridgeParent::OtherEndpointProcInfo() const -> ::mozilla::ipc::EndpointProcInfo
{
    return ::mozilla::ipc::EndpointProcInfo{OtherPid(), OtherChildID()};
}

auto PBrowserBridgeParent::Manager() const -> PBrowserParent*
{
    return static_cast<PBrowserParent*>(IProtocol::Manager());
}

auto PBrowserBridgeParent::ManagedProtocolIds() const -> mozilla::Span<mozilla::ipc::ProtocolId const>
{
    return {};
}

auto PBrowserBridgeParent::GetManagedActors(mozilla::ipc::ProtocolId aProtocol) -> UntypedManagedContainer*
{
    switch (aProtocol) {
    default:
        return nullptr;
    }
}

auto PBrowserBridgeParent::SendRequestFocus(
        const bool& canRaise,
        const CallerType& aCallerType) -> bool
{
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg_RequestFocus(Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            this};

    IPC::WriteParam((&(writer__)), canRaise);
    // Sentinel = 'canRaise'
    ((&(writer__)))->WriteSentinel(234816295);
    IPC::WriteParam((&(writer__)), aCallerType);
    // Sentinel = 'aCallerType'
    ((&(writer__)))->WriteSentinel(422118487);


    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            this->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg_RequestFocus", OTHER);

    bool sendok__ = ChannelSend(std::move(msg__));
    return sendok__;
}

auto PBrowserBridgeParent::SendMoveFocus(
        const bool& forward,
        const bool& forDocumentNavigation) -> bool
{
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg_MoveFocus(Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            this};

    IPC::WriteParam((&(writer__)), forward);
    // Sentinel = 'forward'
    ((&(writer__)))->WriteSentinel(200016630);
    IPC::WriteParam((&(writer__)), forDocumentNavigation);
    // Sentinel = 'forDocumentNavigation'
    ((&(writer__)))->WriteSentinel(1571555479);


    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            this->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg_MoveFocus", OTHER);

    bool sendok__ = ChannelSend(std::move(msg__));
    return sendok__;
}

auto PBrowserBridgeParent::SendMaybeFireEmbedderLoadEvents(const EmbedderElementEventType& aFireEventAtEmbeddingElement) -> bool
{
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg_MaybeFireEmbedderLoadEvents(Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            this};

    IPC::WriteParam((&(writer__)), aFireEventAtEmbeddingElement);
    // Sentinel = 'aFireEventAtEmbeddingElement'
    ((&(writer__)))->WriteSentinel(2607483624);


    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            this->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg_MaybeFireEmbedderLoadEvents", OTHER);

    bool sendok__ = ChannelSend(std::move(msg__));
    return sendok__;
}

auto PBrowserBridgeParent::SendScrollRectIntoView(
        const nsRect& aRect,
        const ScrollAxis& aVertical,
        const ScrollAxis& aHorizontal,
        const ScrollFlags& aScrollFlags,
        const int32_t& aAppUnitsPerDevPixel) -> bool
{
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg_ScrollRectIntoView(Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            this};

    IPC::WriteParam((&(writer__)), aRect);
    // Sentinel = 'aRect'
    ((&(writer__)))->WriteSentinel(94044656);
    IPC::WriteParam((&(writer__)), aVertical);
    // Sentinel = 'aVertical'
    ((&(writer__)))->WriteSentinel(298845084);
    IPC::WriteParam((&(writer__)), aHorizontal);
    // Sentinel = 'aHorizontal'
    ((&(writer__)))->WriteSentinel(447022220);
    IPC::WriteParam((&(writer__)), aScrollFlags);
    // Sentinel = 'aScrollFlags'
    ((&(writer__)))->WriteSentinel(510592190);
    IPC::WriteParam((&(writer__)), aAppUnitsPerDevPixel);
    // Sentinel = 'aAppUnitsPerDevPixel'
    ((&(writer__)))->WriteSentinel(1366296542);


    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            this->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg_ScrollRectIntoView", OTHER);

    bool sendok__ = ChannelSend(std::move(msg__));
    return sendok__;
}

auto PBrowserBridgeParent::SendSubFrameCrashed() -> bool
{
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg_SubFrameCrashed(Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            this};



    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            this->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg_SubFrameCrashed", OTHER);

    bool sendok__ = ChannelSend(std::move(msg__));
    return sendok__;
}

auto PBrowserBridgeParent::SendIntrinsicSizeOrRatioChanged(
        const mozilla::Maybe<IntrinsicSize>& aIntrinsicSize,
        const mozilla::Maybe<AspectRatio>& aIntrinsicRatio) -> bool
{
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg_IntrinsicSizeOrRatioChanged(Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            this};

    IPC::WriteParam((&(writer__)), aIntrinsicSize);
    // Sentinel = 'aIntrinsicSize'
    ((&(writer__)))->WriteSentinel(708052400);
    IPC::WriteParam((&(writer__)), aIntrinsicRatio);
    // Sentinel = 'aIntrinsicRatio'
    ((&(writer__)))->WriteSentinel(807667220);


    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            this->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg_IntrinsicSizeOrRatioChanged", OTHER);

    bool sendok__ = ChannelSend(std::move(msg__));
    return sendok__;
}

auto PBrowserBridgeParent::SendImageLoadComplete(const nsresult& aResult) -> bool
{
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg_ImageLoadComplete(Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            this};

    IPC::WriteParam((&(writer__)), aResult);
    // Sentinel = 'aResult'
    ((&(writer__)))->WriteSentinel(185205473);


    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            this->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg_ImageLoadComplete", OTHER);

    bool sendok__ = ChannelSend(std::move(msg__));
    return sendok__;
}

auto PBrowserBridgeParent::Send__delete__(PBrowserBridgeParent* actor) -> bool
{
    if (!actor || !actor->CanSend()) {
        NS_WARNING("Attempt to __delete__ missing or closed actor");
        return false;
    }
    UniquePtr<IPC::Message> msg__ = PBrowserBridge::Msg___delete__((actor)->Id());
    IPC::MessageWriter writer__{
            (*(msg__)),
            actor};


    if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
        mozilla::ipc::LogMessageForProtocol(
            "PBrowserBridgeParent",
            actor->ToplevelProtocol()->OtherPidMaybeInvalid(),
            "Sending ",
            msg__->type(),
            mozilla::ipc::MessageDirection::eSending);
    }
    AUTO_PROFILER_LABEL("PBrowserBridge::Msg___delete__", OTHER);

    bool sendok__ = (actor)->ChannelSend(std::move(msg__));

    actor->ActorDisconnected(Deletion);
    return sendok__;
}

auto PBrowserBridgeParent::DeallocManagee(
        mozilla::ipc::ProtocolId aProtocolId,
        IProtocol* aListener) -> void
{
    FatalError("unreached");
    return;
}

auto PBrowserBridgeParent::OnMessageReceived(const Message& msg__) -> PBrowserBridgeParent::Result
{
    switch (msg__.type()) {
    case MANAGED_ENDPOINT_BOUND_MESSAGE_TYPE:
        {
            if (!mAwaitingManagedEndpointBind) {
                NS_WARNING("Unexpected managed endpoint lifecycle message after actor bound!");
                return MsgNotAllowed;
            }
            mAwaitingManagedEndpointBind = false;
            return MsgProcessed;
        }
    case MANAGED_ENDPOINT_DROPPED_MESSAGE_TYPE:
        {
            if (!mAwaitingManagedEndpointBind) {
                NS_WARNING("Unexpected managed endpoint lifecycle message after actor bound!");
                return MsgNotAllowed;
            }
            mAwaitingManagedEndpointBind = false;
            this->ActorDisconnected(ManagedEndpointDropped);
            return MsgProcessed;
        }
    case PBrowserBridge::Reply___delete____ID:
        {
            return MsgProcessed;
        }
    case PBrowserBridge::Msg___delete____ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg___delete__", OTHER);

            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->Recv__delete__();
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }


            this->ActorDisconnected(Deletion);

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_BeginDestroy__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_BeginDestroy", OTHER);

            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvBeginDestroy();
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_LoadURL__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_LoadURL", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aLoadState = IPC::ReadParam<mozilla::NotNull<RefPtr<nsDocShellLoadState>>>((&(reader__)));
            if (!maybe__aLoadState) {
                FatalError("Error deserializing 'NotNull<nsDocShellLoadState>'");
                return MsgValueError;

            }
            auto& aLoadState = *maybe__aLoadState;
            // Sentinel = 'aLoadState'
            if ((!(((&(reader__)))->ReadSentinel(349570019)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'NotNull<nsDocShellLoadState>'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvLoadURL(aLoadState);
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_ResumeLoad__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_ResumeLoad", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aPendingSwitchID = IPC::ReadParam<uint64_t>((&(reader__)));
            if (!maybe__aPendingSwitchID) {
                FatalError("Error deserializing 'uint64_t'");
                return MsgValueError;

            }
            auto& aPendingSwitchID = *maybe__aPendingSwitchID;
            // Sentinel = 'aPendingSwitchID'
            if ((!(((&(reader__)))->ReadSentinel(892798502)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'uint64_t'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvResumeLoad(std::move(aPendingSwitchID));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_Show__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_Show", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__info = IPC::ReadParam<OwnerShowInfo>((&(reader__)));
            if (!maybe__info) {
                FatalError("Error deserializing 'OwnerShowInfo'");
                return MsgValueError;

            }
            auto& info = *maybe__info;
            // Sentinel = 'info'
            if ((!(((&(reader__)))->ReadSentinel(70058413)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'OwnerShowInfo'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvShow(std::move(info));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_ScrollbarPreferenceChanged__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_ScrollbarPreferenceChanged", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__pref = IPC::ReadParam<ScrollbarPreference>((&(reader__)));
            if (!maybe__pref) {
                FatalError("Error deserializing 'ScrollbarPreference'");
                return MsgValueError;

            }
            auto& pref = *maybe__pref;
            // Sentinel = 'pref'
            if ((!(((&(reader__)))->ReadSentinel(71958958)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'ScrollbarPreference'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvScrollbarPreferenceChanged(std::move(pref));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_UpdateDimensions__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_UpdateDimensions", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__rect = IPC::ReadParam<LayoutDeviceIntRect>((&(reader__)));
            if (!maybe__rect) {
                FatalError("Error deserializing 'LayoutDeviceIntRect'");
                return MsgValueError;

            }
            auto& rect = *maybe__rect;
            // Sentinel = 'rect'
            if ((!(((&(reader__)))->ReadSentinel(70582703)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'LayoutDeviceIntRect'");
                return MsgValueError;
            }
            auto maybe__size = IPC::ReadParam<LayoutDeviceIntSize>((&(reader__)));
            if (!maybe__size) {
                FatalError("Error deserializing 'LayoutDeviceIntSize'");
                return MsgValueError;

            }
            auto& size = *maybe__size;
            // Sentinel = 'size'
            if ((!(((&(reader__)))->ReadSentinel(73662908)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'LayoutDeviceIntSize'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvUpdateDimensions(std::move(rect), std::move(size));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_RenderLayers__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_RenderLayers", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aEnabled = IPC::ReadParam<bool>((&(reader__)));
            if (!maybe__aEnabled) {
                FatalError("Error deserializing 'bool'");
                return MsgValueError;

            }
            auto& aEnabled = *maybe__aEnabled;
            // Sentinel = 'aEnabled'
            if ((!(((&(reader__)))->ReadSentinel(224789261)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'bool'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvRenderLayers(std::move(aEnabled));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_UpdateEffects__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_UpdateEffects", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aEffects = IPC::ReadParam<EffectsInfo>((&(reader__)));
            if (!maybe__aEffects) {
                FatalError("Error deserializing 'EffectsInfo'");
                return MsgValueError;

            }
            auto& aEffects = *maybe__aEffects;
            // Sentinel = 'aEffects'
            if ((!(((&(reader__)))->ReadSentinel(225248034)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'EffectsInfo'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvUpdateEffects(std::move(aEffects));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_UpdateRemotePrintSettings__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_UpdateRemotePrintSettings", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aPrintData = IPC::ReadParam<PrintData>((&(reader__)));
            if (!maybe__aPrintData) {
                FatalError("Error deserializing 'PrintData'");
                return MsgValueError;

            }
            auto& aPrintData = *maybe__aPrintData;
            // Sentinel = 'aPrintData'
            if ((!(((&(reader__)))->ReadSentinel(359072745)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'PrintData'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvUpdateRemotePrintSettings(std::move(aPrintData));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_NavigateByKey__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_NavigateByKey", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aForward = IPC::ReadParam<bool>((&(reader__)));
            if (!maybe__aForward) {
                FatalError("Error deserializing 'bool'");
                return MsgValueError;

            }
            auto& aForward = *maybe__aForward;
            // Sentinel = 'aForward'
            if ((!(((&(reader__)))->ReadSentinel(236258103)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'bool'");
                return MsgValueError;
            }
            auto maybe__aForDocumentNavigation = IPC::ReadParam<bool>((&(reader__)));
            if (!maybe__aForDocumentNavigation) {
                FatalError("Error deserializing 'bool'");
                return MsgValueError;

            }
            auto& aForDocumentNavigation = *maybe__aForDocumentNavigation;
            // Sentinel = 'aForDocumentNavigation'
            if ((!(((&(reader__)))->ReadSentinel(1667434712)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'bool'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvNavigateByKey(std::move(aForward), std::move(aForDocumentNavigation));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_DispatchSynthesizedMouseEvent__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_DispatchSynthesizedMouseEvent", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__event = IPC::ReadParam<WidgetMouseEvent>((&(reader__)));
            if (!maybe__event) {
                FatalError("Error deserializing 'WidgetMouseEvent'");
                return MsgValueError;

            }
            auto& event = *maybe__event;
            // Sentinel = 'event'
            if ((!(((&(reader__)))->ReadSentinel(106234403)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'WidgetMouseEvent'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvDispatchSynthesizedMouseEvent(std::move(event));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_Activate__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_Activate", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aActionId = IPC::ReadParam<uint64_t>((&(reader__)));
            if (!maybe__aActionId) {
                FatalError("Error deserializing 'uint64_t'");
                return MsgValueError;

            }
            auto& aActionId = *maybe__aActionId;
            // Sentinel = 'aActionId'
            if ((!(((&(reader__)))->ReadSentinel(284164973)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'uint64_t'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvActivate(std::move(aActionId));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_Deactivate__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_Deactivate", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aWindowLowering = IPC::ReadParam<bool>((&(reader__)));
            if (!maybe__aWindowLowering) {
                FatalError("Error deserializing 'bool'");
                return MsgValueError;

            }
            auto& aWindowLowering = *maybe__aWindowLowering;
            // Sentinel = 'aWindowLowering'
            if ((!(((&(reader__)))->ReadSentinel(809502241)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'bool'");
                return MsgValueError;
            }
            auto maybe__aActionId = IPC::ReadParam<uint64_t>((&(reader__)));
            if (!maybe__aActionId) {
                FatalError("Error deserializing 'uint64_t'");
                return MsgValueError;

            }
            auto& aActionId = *maybe__aActionId;
            // Sentinel = 'aActionId'
            if ((!(((&(reader__)))->ReadSentinel(284164973)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'uint64_t'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvDeactivate(std::move(aWindowLowering), std::move(aActionId));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_UpdateRemoteStyle__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_UpdateRemoteStyle", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aImageRendering = IPC::ReadParam<StyleImageRendering>((&(reader__)));
            if (!maybe__aImageRendering) {
                FatalError("Error deserializing 'StyleImageRendering'");
                return MsgValueError;

            }
            auto& aImageRendering = *maybe__aImageRendering;
            // Sentinel = 'aImageRendering'
            if ((!(((&(reader__)))->ReadSentinel(768804323)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'StyleImageRendering'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvUpdateRemoteStyle(std::move(aImageRendering));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_WillChangeProcess__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_WillChangeProcess", OTHER);

            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvWillChangeProcess();
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    case PBrowserBridge::Msg_SetEmbedderAccessible__ID:
        {
            if (mozilla::ipc::LoggingEnabledFor("PBrowserBridge", mozilla::ipc::ParentSide)) {
                mozilla::ipc::LogMessageForProtocol(
                    "PBrowserBridgeParent",
                    this->ToplevelProtocol()->OtherPidMaybeInvalid(),
                    "Received ",
                    (&(msg__))->type(),
                    mozilla::ipc::MessageDirection::eReceiving);
            }
            AUTO_PROFILER_LABEL("PBrowserBridge::Msg_SetEmbedderAccessible", OTHER);

            IPC::MessageReader reader__{
                    msg__,
                    this};

            auto maybe__aDoc = IPC::ReadParam<PDocAccessibleParent*>((&(reader__)));
            if (!maybe__aDoc) {
                FatalError("Error deserializing 'PDocAccessible'");
                return MsgValueError;

            }
            auto& aDoc = *maybe__aDoc;
            // Sentinel = 'aDoc'
            if ((!(((&(reader__)))->ReadSentinel(60096888)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'PDocAccessible'");
                return MsgValueError;
            }
            auto maybe__aID = IPC::ReadParam<uint64_t>((&(reader__)));
            if (!maybe__aID) {
                FatalError("Error deserializing 'uint64_t'");
                return MsgValueError;

            }
            auto& aID = *maybe__aID;
            // Sentinel = 'aID'
            if ((!(((&(reader__)))->ReadSentinel(33292527)))) {
                mozilla::ipc::SentinelReadError("Error deserializing 'uint64_t'");
                return MsgValueError;
            }
            reader__.EndRead();
            mozilla::ipc::IPCResult __ok = (static_cast<BrowserBridgeParent*>(this))->RecvSetEmbedderAccessible(std::move(aDoc), std::move(aID));
            if ((!(__ok))) {
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
                // Error handled in mozilla::ipc::IPCResult
                return MsgProcessingError;
            }

            return MsgProcessed;
        }
    default:
        return MsgNotKnown;
    }
}

auto PBrowserBridgeParent::OnMessageReceived(
        const Message& msg__,
        UniquePtr<Message>& reply__) -> PBrowserBridgeParent::Result
{
    return MsgNotKnown;
}



} // namespace dom
} // namespace mozilla
namespace IPC {
auto ParamTraits<::mozilla::dom::PBrowserBridgeParent*>::Write(
        IPC::MessageWriter* aWriter,
        const paramType& aVar) -> void
{
    IPC::WriteParam(aWriter, static_cast<mozilla::ipc::IProtocol*>(aVar));
    // Sentinel = 'PBrowserBridge'
    (aWriter)->WriteSentinel(681903490);
}

auto ParamTraits<::mozilla::dom::PBrowserBridgeParent*>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult<paramType>
{
    auto maybe__actor = IPC::ReadParam<mozilla::ipc::IProtocol*>(aReader);
    if (!maybe__actor) {
        aReader->FatalError("Error deserializing managed PBrowserBridge actor");
        return {};

    }
    auto& actor = *maybe__actor;
    // Sentinel = 'PBrowserBridge'
    if ((!((aReader)->ReadSentinel(681903490)))) {
        mozilla::ipc::SentinelReadError("Error deserializing managed PBrowserBridge actor");
        return {};
    }

    if (actor && actor->GetProtocolId() != PBrowserBridgeMsgStart) {
        aReader->FatalError("Unexpected actor type (expected PBrowserBridge)");

        return {};
    }
    return static_cast<::mozilla::dom::PBrowserBridgeParent*>(actor);
}

} // namespace IPC
