// // Automatically generated by ipdlc. // Edit at your own risk // #include "mozilla/dom/BindingIPCUtils.h" #include "mozilla/dom/ClientIPCUtils.h" #include "ipc/ErrorIPCUtils.h" #include "mozilla/dom/DomSecurityIPCUtils.h" #include "mozilla/GfxMessageUtils.h" #include "mozilla/dom/CSPMessageUtils.h" #include "mozilla/dom/PolicyContainerMessageUtils.h" #include "mozilla/dom/DocShellMessageUtils.h" #include "mozilla/dom/NavigationAPIIPCUtils.h" #include "mozilla/dom/PermissionMessageUtils.h" #include "mozilla/dom/PropertyBagUtils.h" #include "mozilla/dom/ReferrerInfoUtils.h" #include "mozilla/dom/TabMessageUtils.h" #include "mozilla/dom/notification/IPCUtils.h" #include "mozilla/ipc/URIUtils.h" #include "mozilla/layers/LayersMessageUtils.h" #include "mozilla/net/NeckoMessageUtils.h" #include "mozilla/URLClassifierIPCUtils.h" #include "mozilla/dom/JSIPCValue.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" //----------------------------------------------------------------------------- // Method definitions for the IPDL type |struct JSIPCDOMRect| // namespace mozilla { namespace dom { auto JSIPCDOMRect::StaticAssertions() const -> void { static_assert( (offsetof(JSIPCDOMRect, height_) - offsetof(JSIPCDOMRect, x_)) == 24, "Bad assumptions about field layout!"); } } // namespace dom } // namespace mozilla namespace IPC { auto ParamTraits<::mozilla::dom::JSIPCDOMRect>::Write( IPC::MessageWriter* aWriter, const paramType& aVar) -> void { (aWriter)->WriteBytes((&((aVar).x())), 32); // Sentinel = 'x | y | width | height' (aWriter)->WriteSentinel(1431373759); } auto ParamTraits<::mozilla::dom::JSIPCDOMRect>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult { IPC::ReadResult result__{ std::in_place, double{0}, double{0}, double{0}, double{0}}; if ((!((aReader)->ReadBytesInto((&((result__)->x())), 32)))) { aReader->FatalError("Error bulk reading fields from double"); return {}; } // Sentinel = 'x | y | width | height' if ((!((aReader)->ReadSentinel(1431373759)))) { mozilla::ipc::SentinelReadError("Error bulk reading fields from double"); return {}; } return result__; } } // namespace IPC //----------------------------------------------------------------------------- // Method definitions for the IPDL type |struct JSIPCProperty| // namespace mozilla { namespace dom { } // namespace dom } // namespace mozilla namespace IPC { auto ParamTraits<::mozilla::dom::JSIPCProperty>::Write( IPC::MessageWriter* aWriter, const paramType& aVar) -> void { IPC::WriteParam(aWriter, (aVar).name()); // Sentinel = 'name' (aWriter)->WriteSentinel(69075362); IPC::WriteParam(aWriter, (aVar).value()); // Sentinel = 'value' (aWriter)->WriteSentinel(107610654); } auto ParamTraits<::mozilla::dom::JSIPCProperty>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult { auto maybe___name = IPC::ReadParam<::nsString>(aReader); if (!maybe___name) { aReader->FatalError("Error deserializing 'name' (nsString) member of 'JSIPCProperty'"); return {}; } auto& _name = *maybe___name; // Sentinel = 'name' if ((!((aReader)->ReadSentinel(69075362)))) { mozilla::ipc::SentinelReadError("Error deserializing 'name' (nsString) member of 'JSIPCProperty'"); return {}; } auto maybe___value = IPC::ReadParam<::mozilla::dom::JSIPCValue>(aReader); if (!maybe___value) { aReader->FatalError("Error deserializing 'value' (JSIPCValue) member of 'JSIPCProperty'"); return {}; } auto& _value = *maybe___value; // Sentinel = 'value' if ((!((aReader)->ReadSentinel(107610654)))) { mozilla::ipc::SentinelReadError("Error deserializing 'value' (JSIPCValue) member of 'JSIPCProperty'"); return {}; } IPC::ReadResult result__{ std::in_place, std::move(_name), std::move(_value)}; return result__; } } // namespace IPC //----------------------------------------------------------------------------- // Method definitions for the IPDL type |struct JSIPCArray| // namespace mozilla { namespace dom { } // namespace dom } // namespace mozilla namespace IPC { auto ParamTraits<::mozilla::dom::JSIPCArray>::Write( IPC::MessageWriter* aWriter, const paramType& aVar) -> void { IPC::WriteParam(aWriter, (aVar).elements()); // Sentinel = 'elements' (aWriter)->WriteSentinel(249299806); } auto ParamTraits<::mozilla::dom::JSIPCArray>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult { auto maybe___elements = IPC::ReadParam>(aReader); if (!maybe___elements) { aReader->FatalError("Error deserializing 'elements' (JSIPCValue[]) member of 'JSIPCArray'"); return {}; } auto& _elements = *maybe___elements; // Sentinel = 'elements' if ((!((aReader)->ReadSentinel(249299806)))) { mozilla::ipc::SentinelReadError("Error deserializing 'elements' (JSIPCValue[]) member of 'JSIPCArray'"); return {}; } IPC::ReadResult result__{ std::in_place, std::move(_elements)}; return result__; } } // namespace IPC //----------------------------------------------------------------------------- // Method definitions for the IPDL type |struct JSIPCSet| // namespace mozilla { namespace dom { } // namespace dom } // namespace mozilla namespace IPC { auto ParamTraits<::mozilla::dom::JSIPCSet>::Write( IPC::MessageWriter* aWriter, const paramType& aVar) -> void { IPC::WriteParam(aWriter, (aVar).elements()); // Sentinel = 'elements' (aWriter)->WriteSentinel(249299806); } auto ParamTraits<::mozilla::dom::JSIPCSet>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult { auto maybe___elements = IPC::ReadParam>(aReader); if (!maybe___elements) { aReader->FatalError("Error deserializing 'elements' (JSIPCValue[]) member of 'JSIPCSet'"); return {}; } auto& _elements = *maybe___elements; // Sentinel = 'elements' if ((!((aReader)->ReadSentinel(249299806)))) { mozilla::ipc::SentinelReadError("Error deserializing 'elements' (JSIPCValue[]) member of 'JSIPCSet'"); return {}; } IPC::ReadResult result__{ std::in_place, std::move(_elements)}; return result__; } } // namespace IPC //----------------------------------------------------------------------------- // Method definitions for the IPDL type |struct JSIPCMapEntry| // namespace mozilla { namespace dom { } // namespace dom } // namespace mozilla namespace IPC { auto ParamTraits<::mozilla::dom::JSIPCMapEntry>::Write( IPC::MessageWriter* aWriter, const paramType& aVar) -> void { IPC::WriteParam(aWriter, (aVar).key()); // Sentinel = 'key' (aWriter)->WriteSentinel(42402122); IPC::WriteParam(aWriter, (aVar).value()); // Sentinel = 'value' (aWriter)->WriteSentinel(107610654); } auto ParamTraits<::mozilla::dom::JSIPCMapEntry>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult { auto maybe___key = IPC::ReadParam<::mozilla::dom::JSIPCValue>(aReader); if (!maybe___key) { aReader->FatalError("Error deserializing 'key' (JSIPCValue) member of 'JSIPCMapEntry'"); return {}; } auto& _key = *maybe___key; // Sentinel = 'key' if ((!((aReader)->ReadSentinel(42402122)))) { mozilla::ipc::SentinelReadError("Error deserializing 'key' (JSIPCValue) member of 'JSIPCMapEntry'"); return {}; } auto maybe___value = IPC::ReadParam<::mozilla::dom::JSIPCValue>(aReader); if (!maybe___value) { aReader->FatalError("Error deserializing 'value' (JSIPCValue) member of 'JSIPCMapEntry'"); return {}; } auto& _value = *maybe___value; // Sentinel = 'value' if ((!((aReader)->ReadSentinel(107610654)))) { mozilla::ipc::SentinelReadError("Error deserializing 'value' (JSIPCValue) member of 'JSIPCMapEntry'"); return {}; } IPC::ReadResult result__{ std::in_place, std::move(_key), std::move(_value)}; return result__; } } // namespace IPC //----------------------------------------------------------------------------- // Method definitions for the IPDL type |union JSIPCValue| // namespace mozilla { namespace dom { auto JSIPCValue::MaybeDestroy() -> void { if ((mType) == (T__None)) { return; } switch (mType) { case Tvoid_t: { (ptr_void_t())->~void_t__tdef(); break; } case Tnull_t: { (ptr_null_t())->~null_t__tdef(); break; } case TnsString: { (ptr_nsString())->~nsString__tdef(); break; } case Tbool: { (ptr_bool())->~bool__tdef(); break; } case Tdouble: { (ptr_double())->~double__tdef(); break; } case Tint32_t: { (ptr_int32_t())->~int32_t__tdef(); break; } case TStructuredCloneData: { (ptr_StructuredCloneData())->~StructuredCloneData__tdef(); break; } case TnsIPrincipal: { (ptr_nsIPrincipal())->~nsIPrincipal__tdef(); break; } case TMaybeDiscardedBrowsingContext: { (ptr_MaybeDiscardedBrowsingContext())->~MaybeDiscardedBrowsingContext__tdef(); break; } case TJSIPCDOMRect: { (ptr_JSIPCDOMRect())->~JSIPCDOMRect__tdef(); break; } case TArrayOfJSIPCProperty: { delete ptr_ArrayOfJSIPCProperty(); break; } case TJSIPCArray: { delete ptr_JSIPCArray(); break; } case TJSIPCSet: { delete ptr_JSIPCSet(); break; } case TArrayOfJSIPCMapEntry: { delete ptr_ArrayOfJSIPCMapEntry(); break; } default: { mozilla::ipc::LogicError("not reached"); break; } } } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const void_t& aOther) { new (mozilla::KnownNotNull, ptr_void_t()) void_t(aOther); mType = Tvoid_t; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(void_t&& aOther) { new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move(aOther)); mType = Tvoid_t; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const null_t& aOther) { new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther); mType = Tnull_t; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(null_t&& aOther) { new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther)); mType = Tnull_t; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const nsString& aOther) { new (mozilla::KnownNotNull, ptr_nsString()) nsString(aOther); mType = TnsString; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(nsString&& aOther) { new (mozilla::KnownNotNull, ptr_nsString()) nsString(std::move(aOther)); mType = TnsString; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const bool& aOther) { new (mozilla::KnownNotNull, ptr_bool()) bool(aOther); mType = Tbool; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(bool&& aOther) { new (mozilla::KnownNotNull, ptr_bool()) bool(std::move(aOther)); mType = Tbool; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const double& aOther) { new (mozilla::KnownNotNull, ptr_double()) double(aOther); mType = Tdouble; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(double&& aOther) { new (mozilla::KnownNotNull, ptr_double()) double(std::move(aOther)); mType = Tdouble; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const int32_t& aOther) { new (mozilla::KnownNotNull, ptr_int32_t()) int32_t(aOther); mType = Tint32_t; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(int32_t&& aOther) { new (mozilla::KnownNotNull, ptr_int32_t()) int32_t(std::move(aOther)); mType = Tint32_t; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(mozilla::NotNull aOther) { new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>(aOther); mType = TStructuredCloneData; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(mozilla::NotNull>&& aOther) { new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>(std::move(aOther)); mType = TStructuredCloneData; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(mozilla::NotNull aOther) { new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>(aOther); mType = TnsIPrincipal; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(mozilla::NotNull>&& aOther) { new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>(std::move(aOther)); mType = TnsIPrincipal; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const MaybeDiscardedBrowsingContext& aOther) { new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext(aOther); mType = TMaybeDiscardedBrowsingContext; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(MaybeDiscardedBrowsingContext&& aOther) { new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext(std::move(aOther)); mType = TMaybeDiscardedBrowsingContext; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const JSIPCDOMRect& aOther) { new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect(aOther); mType = TJSIPCDOMRect; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(JSIPCDOMRect&& aOther) { new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect(std::move(aOther)); mType = TJSIPCDOMRect; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const nsTArray& aOther) { ptr_ArrayOfJSIPCProperty() = new nsTArray((aOther).Clone()); mType = TArrayOfJSIPCProperty; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(nsTArray&& aOther) { ptr_ArrayOfJSIPCProperty() = new nsTArray(std::move(aOther)); mType = TArrayOfJSIPCProperty; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const JSIPCArray& aOther) { ptr_JSIPCArray() = new JSIPCArray(aOther); mType = TJSIPCArray; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(JSIPCArray&& aOther) { ptr_JSIPCArray() = new JSIPCArray(std::move(aOther)); mType = TJSIPCArray; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const JSIPCSet& aOther) { ptr_JSIPCSet() = new JSIPCSet(aOther); mType = TJSIPCSet; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(JSIPCSet&& aOther) { ptr_JSIPCSet() = new JSIPCSet(std::move(aOther)); mType = TJSIPCSet; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const nsTArray& aOther) { ptr_ArrayOfJSIPCMapEntry() = new nsTArray((aOther).Clone()); mType = TArrayOfJSIPCMapEntry; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(nsTArray&& aOther) { ptr_ArrayOfJSIPCMapEntry() = new nsTArray(std::move(aOther)); mType = TArrayOfJSIPCMapEntry; } MOZ_IMPLICIT JSIPCValue::JSIPCValue(const JSIPCValue& aOther) { (aOther).AssertSanity(); switch ((aOther).type()) { case Tvoid_t: { new (mozilla::KnownNotNull, ptr_void_t()) void_t((aOther).get_void_t()); break; } case Tnull_t: { new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t()); break; } case TnsString: { new (mozilla::KnownNotNull, ptr_nsString()) nsString((aOther).get_nsString()); break; } case Tbool: { new (mozilla::KnownNotNull, ptr_bool()) bool((aOther).get_bool()); break; } case Tdouble: { new (mozilla::KnownNotNull, ptr_double()) double((aOther).get_double()); break; } case Tint32_t: { new (mozilla::KnownNotNull, ptr_int32_t()) int32_t((aOther).get_int32_t()); break; } case TStructuredCloneData: { new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>((aOther).get_StructuredCloneData()); break; } case TnsIPrincipal: { new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>((aOther).get_nsIPrincipal()); break; } case TMaybeDiscardedBrowsingContext: { new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext((aOther).get_MaybeDiscardedBrowsingContext()); break; } case TJSIPCDOMRect: { new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect((aOther).get_JSIPCDOMRect()); break; } case TArrayOfJSIPCProperty: { ptr_ArrayOfJSIPCProperty() = new nsTArray(((aOther).get_ArrayOfJSIPCProperty()).Clone()); break; } case TJSIPCArray: { ptr_JSIPCArray() = new JSIPCArray((aOther).get_JSIPCArray()); break; } case TJSIPCSet: { ptr_JSIPCSet() = new JSIPCSet((aOther).get_JSIPCSet()); break; } case TArrayOfJSIPCMapEntry: { ptr_ArrayOfJSIPCMapEntry() = new nsTArray(((aOther).get_ArrayOfJSIPCMapEntry()).Clone()); break; } case T__None: { break; } default: { mozilla::ipc::LogicError("unreached"); return; } } mType = (aOther).type(); } MOZ_IMPLICIT JSIPCValue::JSIPCValue(JSIPCValue&& aOther) { (aOther).AssertSanity(); Type t = (aOther).type(); switch (t) { case Tvoid_t: { new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move((aOther).get_void_t())); (aOther).MaybeDestroy(); break; } case Tnull_t: { new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t())); (aOther).MaybeDestroy(); break; } case TnsString: { new (mozilla::KnownNotNull, ptr_nsString()) nsString(std::move((aOther).get_nsString())); (aOther).MaybeDestroy(); break; } case Tbool: { new (mozilla::KnownNotNull, ptr_bool()) bool(std::move((aOther).get_bool())); (aOther).MaybeDestroy(); break; } case Tdouble: { new (mozilla::KnownNotNull, ptr_double()) double(std::move((aOther).get_double())); (aOther).MaybeDestroy(); break; } case Tint32_t: { new (mozilla::KnownNotNull, ptr_int32_t()) int32_t(std::move((aOther).get_int32_t())); (aOther).MaybeDestroy(); break; } case TStructuredCloneData: { new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>(std::move((aOther).get_StructuredCloneData())); (aOther).MaybeDestroy(); break; } case TnsIPrincipal: { new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>(std::move((aOther).get_nsIPrincipal())); (aOther).MaybeDestroy(); break; } case TMaybeDiscardedBrowsingContext: { new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext(std::move((aOther).get_MaybeDiscardedBrowsingContext())); (aOther).MaybeDestroy(); break; } case TJSIPCDOMRect: { new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect(std::move((aOther).get_JSIPCDOMRect())); (aOther).MaybeDestroy(); break; } case TArrayOfJSIPCProperty: { ptr_ArrayOfJSIPCProperty() = (aOther).ptr_ArrayOfJSIPCProperty(); break; } case TJSIPCArray: { ptr_JSIPCArray() = (aOther).ptr_JSIPCArray(); break; } case TJSIPCSet: { ptr_JSIPCSet() = (aOther).ptr_JSIPCSet(); break; } case TArrayOfJSIPCMapEntry: { ptr_ArrayOfJSIPCMapEntry() = (aOther).ptr_ArrayOfJSIPCMapEntry(); break; } case T__None: { break; } default: { mozilla::ipc::LogicError("unreached"); return; } } (aOther).mType = T__None; mType = t; } JSIPCValue::~JSIPCValue() { MaybeDestroy(); } auto JSIPCValue::operator=(const void_t& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_void_t()) void_t(aRhs); mType = Tvoid_t; return (*(this)); } auto JSIPCValue::operator=(void_t&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move(aRhs)); mType = Tvoid_t; return (*(this)); } auto JSIPCValue::operator=(const null_t& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_null_t()) null_t(aRhs); mType = Tnull_t; return (*(this)); } auto JSIPCValue::operator=(null_t&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aRhs)); mType = Tnull_t; return (*(this)); } auto JSIPCValue::operator=(const nsString& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsString()) nsString(aRhs); mType = TnsString; return (*(this)); } auto JSIPCValue::operator=(nsString&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsString()) nsString(std::move(aRhs)); mType = TnsString; return (*(this)); } auto JSIPCValue::operator=(const bool& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_bool()) bool(aRhs); mType = Tbool; return (*(this)); } auto JSIPCValue::operator=(bool&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_bool()) bool(std::move(aRhs)); mType = Tbool; return (*(this)); } auto JSIPCValue::operator=(const double& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_double()) double(aRhs); mType = Tdouble; return (*(this)); } auto JSIPCValue::operator=(double&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_double()) double(std::move(aRhs)); mType = Tdouble; return (*(this)); } auto JSIPCValue::operator=(const int32_t& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_int32_t()) int32_t(aRhs); mType = Tint32_t; return (*(this)); } auto JSIPCValue::operator=(int32_t&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_int32_t()) int32_t(std::move(aRhs)); mType = Tint32_t; return (*(this)); } auto JSIPCValue::operator=(mozilla::NotNull aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>(aRhs); mType = TStructuredCloneData; return (*(this)); } auto JSIPCValue::operator=(mozilla::NotNull>&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>(std::move(aRhs)); mType = TStructuredCloneData; return (*(this)); } auto JSIPCValue::operator=(mozilla::NotNull aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>(aRhs); mType = TnsIPrincipal; return (*(this)); } auto JSIPCValue::operator=(mozilla::NotNull>&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>(std::move(aRhs)); mType = TnsIPrincipal; return (*(this)); } auto JSIPCValue::operator=(const MaybeDiscardedBrowsingContext& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext(aRhs); mType = TMaybeDiscardedBrowsingContext; return (*(this)); } auto JSIPCValue::operator=(MaybeDiscardedBrowsingContext&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext(std::move(aRhs)); mType = TMaybeDiscardedBrowsingContext; return (*(this)); } auto JSIPCValue::operator=(const JSIPCDOMRect& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect(aRhs); mType = TJSIPCDOMRect; return (*(this)); } auto JSIPCValue::operator=(JSIPCDOMRect&& aRhs) -> JSIPCValue& { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect(std::move(aRhs)); mType = TJSIPCDOMRect; return (*(this)); } auto JSIPCValue::operator=(const nsTArray& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_ArrayOfJSIPCProperty() = new nsTArray((aRhs).Clone()); mType = TArrayOfJSIPCProperty; return (*(this)); } auto JSIPCValue::operator=(nsTArray&& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_ArrayOfJSIPCProperty() = new nsTArray(std::move(aRhs)); mType = TArrayOfJSIPCProperty; return (*(this)); } auto JSIPCValue::operator=(const JSIPCArray& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_JSIPCArray() = new JSIPCArray(aRhs); mType = TJSIPCArray; return (*(this)); } auto JSIPCValue::operator=(JSIPCArray&& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_JSIPCArray() = new JSIPCArray(std::move(aRhs)); mType = TJSIPCArray; return (*(this)); } auto JSIPCValue::operator=(const JSIPCSet& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_JSIPCSet() = new JSIPCSet(aRhs); mType = TJSIPCSet; return (*(this)); } auto JSIPCValue::operator=(JSIPCSet&& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_JSIPCSet() = new JSIPCSet(std::move(aRhs)); mType = TJSIPCSet; return (*(this)); } auto JSIPCValue::operator=(const nsTArray& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_ArrayOfJSIPCMapEntry() = new nsTArray((aRhs).Clone()); mType = TArrayOfJSIPCMapEntry; return (*(this)); } auto JSIPCValue::operator=(nsTArray&& aRhs) -> JSIPCValue& { MaybeDestroy(); ptr_ArrayOfJSIPCMapEntry() = new nsTArray(std::move(aRhs)); mType = TArrayOfJSIPCMapEntry; return (*(this)); } auto JSIPCValue::operator=(const JSIPCValue& aRhs) -> JSIPCValue& { (aRhs).AssertSanity(); Type t = (aRhs).type(); switch (t) { case Tvoid_t: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_void_t()) void_t((aRhs).get_void_t()); break; } case Tnull_t: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_null_t()) null_t((aRhs).get_null_t()); break; } case TnsString: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsString()) nsString((aRhs).get_nsString()); break; } case Tbool: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_bool()) bool((aRhs).get_bool()); break; } case Tdouble: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_double()) double((aRhs).get_double()); break; } case Tint32_t: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_int32_t()) int32_t((aRhs).get_int32_t()); break; } case TStructuredCloneData: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>((aRhs).get_StructuredCloneData()); break; } case TnsIPrincipal: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>((aRhs).get_nsIPrincipal()); break; } case TMaybeDiscardedBrowsingContext: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext((aRhs).get_MaybeDiscardedBrowsingContext()); break; } case TJSIPCDOMRect: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect((aRhs).get_JSIPCDOMRect()); break; } case TArrayOfJSIPCProperty: { MaybeDestroy(); ptr_ArrayOfJSIPCProperty() = new nsTArray(((aRhs).get_ArrayOfJSIPCProperty()).Clone()); break; } case TJSIPCArray: { MaybeDestroy(); ptr_JSIPCArray() = new JSIPCArray((aRhs).get_JSIPCArray()); break; } case TJSIPCSet: { MaybeDestroy(); ptr_JSIPCSet() = new JSIPCSet((aRhs).get_JSIPCSet()); break; } case TArrayOfJSIPCMapEntry: { MaybeDestroy(); ptr_ArrayOfJSIPCMapEntry() = new nsTArray(((aRhs).get_ArrayOfJSIPCMapEntry()).Clone()); break; } case T__None: { MaybeDestroy(); break; } default: { mozilla::ipc::LogicError("unreached"); break; } } mType = t; return (*(this)); } auto JSIPCValue::operator=(JSIPCValue&& aRhs) -> JSIPCValue& { (aRhs).AssertSanity(); Type t = (aRhs).type(); switch (t) { case Tvoid_t: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move((aRhs).get_void_t())); (aRhs).MaybeDestroy(); break; } case Tnull_t: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aRhs).get_null_t())); (aRhs).MaybeDestroy(); break; } case TnsString: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsString()) nsString(std::move((aRhs).get_nsString())); (aRhs).MaybeDestroy(); break; } case Tbool: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_bool()) bool(std::move((aRhs).get_bool())); (aRhs).MaybeDestroy(); break; } case Tdouble: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_double()) double(std::move((aRhs).get_double())); (aRhs).MaybeDestroy(); break; } case Tint32_t: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_int32_t()) int32_t(std::move((aRhs).get_int32_t())); (aRhs).MaybeDestroy(); break; } case TStructuredCloneData: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_StructuredCloneData()) mozilla::NotNull>(std::move((aRhs).get_StructuredCloneData())); (aRhs).MaybeDestroy(); break; } case TnsIPrincipal: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_nsIPrincipal()) mozilla::NotNull>(std::move((aRhs).get_nsIPrincipal())); (aRhs).MaybeDestroy(); break; } case TMaybeDiscardedBrowsingContext: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_MaybeDiscardedBrowsingContext()) MaybeDiscardedBrowsingContext(std::move((aRhs).get_MaybeDiscardedBrowsingContext())); (aRhs).MaybeDestroy(); break; } case TJSIPCDOMRect: { MaybeDestroy(); new (mozilla::KnownNotNull, ptr_JSIPCDOMRect()) JSIPCDOMRect(std::move((aRhs).get_JSIPCDOMRect())); (aRhs).MaybeDestroy(); break; } case TArrayOfJSIPCProperty: { MaybeDestroy(); ptr_ArrayOfJSIPCProperty() = (aRhs).ptr_ArrayOfJSIPCProperty(); break; } case TJSIPCArray: { MaybeDestroy(); ptr_JSIPCArray() = (aRhs).ptr_JSIPCArray(); break; } case TJSIPCSet: { MaybeDestroy(); ptr_JSIPCSet() = (aRhs).ptr_JSIPCSet(); break; } case TArrayOfJSIPCMapEntry: { MaybeDestroy(); ptr_ArrayOfJSIPCMapEntry() = (aRhs).ptr_ArrayOfJSIPCMapEntry(); break; } case T__None: { MaybeDestroy(); break; } default: { mozilla::ipc::LogicError("unreached"); break; } } (aRhs).mType = T__None; mType = t; return (*(this)); } } // namespace dom } // namespace mozilla namespace IPC { auto ParamTraits<::mozilla::dom::JSIPCValue>::Write( IPC::MessageWriter* aWriter, const paramType& aVar) -> void { typedef ::mozilla::dom::JSIPCValue union__; int type = (aVar).type(); IPC::WriteParam(aWriter, type); // Sentinel = 'JSIPCValue' (aWriter)->WriteSentinel(296223607); switch (type) { case union__::Tvoid_t: { IPC::WriteParam(aWriter, (aVar).get_void_t()); // Sentinel = 'Tvoid_t' (aWriter)->WriteSentinel(189006554); return; } case union__::Tnull_t: { IPC::WriteParam(aWriter, (aVar).get_null_t()); // Sentinel = 'Tnull_t' (aWriter)->WriteSentinel(190186211); return; } case union__::TnsString: { IPC::WriteParam(aWriter, (aVar).get_nsString()); // Sentinel = 'TnsString' (aWriter)->WriteSentinel(302908333); return; } case union__::Tbool: { IPC::WriteParam(aWriter, (aVar).get_bool()); // Sentinel = 'Tbool' (aWriter)->WriteSentinel(96993793); return; } case union__::Tdouble: { IPC::WriteParam(aWriter, (aVar).get_double()); // Sentinel = 'Tdouble' (aWriter)->WriteSentinel(185402064); return; } case union__::Tint32_t: { IPC::WriteParam(aWriter, (aVar).get_int32_t()); // Sentinel = 'Tint32_t' (aWriter)->WriteSentinel(217252568); return; } case union__::TStructuredCloneData: { IPC::WriteParam(aWriter, (aVar).get_StructuredCloneData()); // Sentinel = 'TStructuredCloneData' (aWriter)->WriteSentinel(1414596597); return; } case union__::TnsIPrincipal: { IPC::WriteParam(aWriter, (aVar).get_nsIPrincipal()); // Sentinel = 'TnsIPrincipal' (aWriter)->WriteSentinel(589825313); return; } case union__::TMaybeDiscardedBrowsingContext: { IPC::WriteParam(aWriter, (aVar).get_MaybeDiscardedBrowsingContext()); // Sentinel = 'TMaybeDiscardedBrowsingContext' (aWriter)->WriteSentinel(3021999094); return; } case union__::TJSIPCDOMRect: { IPC::WriteParam(aWriter, (aVar).get_JSIPCDOMRect()); // Sentinel = 'TJSIPCDOMRect' (aWriter)->WriteSentinel(470025276); return; } case union__::TArrayOfJSIPCProperty: { IPC::WriteParam(aWriter, (aVar).get_ArrayOfJSIPCProperty()); // Sentinel = 'TArrayOfJSIPCProperty' (aWriter)->WriteSentinel(1404307431); return; } case union__::TJSIPCArray: { IPC::WriteParam(aWriter, (aVar).get_JSIPCArray()); // Sentinel = 'TJSIPCArray' (aWriter)->WriteSentinel(354288589); return; } case union__::TJSIPCSet: { IPC::WriteParam(aWriter, (aVar).get_JSIPCSet()); // Sentinel = 'TJSIPCSet' (aWriter)->WriteSentinel(236651258); return; } case union__::TArrayOfJSIPCMapEntry: { IPC::WriteParam(aWriter, (aVar).get_ArrayOfJSIPCMapEntry()); // Sentinel = 'TArrayOfJSIPCMapEntry' (aWriter)->WriteSentinel(1383729074); return; } default: { aWriter->FatalError("unknown variant of union JSIPCValue"); return; } } } auto ParamTraits<::mozilla::dom::JSIPCValue>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult { typedef ::mozilla::dom::JSIPCValue union__; auto maybe__type = IPC::ReadParam(aReader); if (!maybe__type) { aReader->FatalError("Error deserializing type of union JSIPCValue"); return {}; } auto& type = *maybe__type; // Sentinel = 'JSIPCValue' if ((!((aReader)->ReadSentinel(296223607)))) { mozilla::ipc::SentinelReadError("Error deserializing type of union JSIPCValue"); return {}; } switch (type) { case union__::Tvoid_t: { auto maybe__tmp = IPC::ReadParam<::mozilla::void_t>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant Tvoid_t of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'Tvoid_t' if ((!((aReader)->ReadSentinel(189006554)))) { mozilla::ipc::SentinelReadError("Error deserializing variant Tvoid_t of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::Tnull_t: { auto maybe__tmp = IPC::ReadParam<::mozilla::null_t>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant Tnull_t of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'Tnull_t' if ((!((aReader)->ReadSentinel(190186211)))) { mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TnsString: { auto maybe__tmp = IPC::ReadParam<::nsString>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TnsString of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TnsString' if ((!((aReader)->ReadSentinel(302908333)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TnsString of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::Tbool: { auto maybe__tmp = IPC::ReadParam(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant Tbool of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'Tbool' if ((!((aReader)->ReadSentinel(96993793)))) { mozilla::ipc::SentinelReadError("Error deserializing variant Tbool of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::Tdouble: { auto maybe__tmp = IPC::ReadParam(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant Tdouble of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'Tdouble' if ((!((aReader)->ReadSentinel(185402064)))) { mozilla::ipc::SentinelReadError("Error deserializing variant Tdouble of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::Tint32_t: { auto maybe__tmp = IPC::ReadParam<::int32_t>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant Tint32_t of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'Tint32_t' if ((!((aReader)->ReadSentinel(217252568)))) { mozilla::ipc::SentinelReadError("Error deserializing variant Tint32_t of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TStructuredCloneData: { auto maybe__tmp = IPC::ReadParam>>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TStructuredCloneData of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TStructuredCloneData' if ((!((aReader)->ReadSentinel(1414596597)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TStructuredCloneData of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TnsIPrincipal: { auto maybe__tmp = IPC::ReadParam>>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TnsIPrincipal of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TnsIPrincipal' if ((!((aReader)->ReadSentinel(589825313)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TnsIPrincipal of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TMaybeDiscardedBrowsingContext: { auto maybe__tmp = IPC::ReadParam<::mozilla::dom::MaybeDiscardedBrowsingContext>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TMaybeDiscardedBrowsingContext of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TMaybeDiscardedBrowsingContext' if ((!((aReader)->ReadSentinel(3021999094)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TMaybeDiscardedBrowsingContext of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TJSIPCDOMRect: { auto maybe__tmp = IPC::ReadParam<::mozilla::dom::JSIPCDOMRect>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TJSIPCDOMRect of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TJSIPCDOMRect' if ((!((aReader)->ReadSentinel(470025276)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TJSIPCDOMRect of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TArrayOfJSIPCProperty: { auto maybe__tmp = IPC::ReadParam>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TArrayOfJSIPCProperty of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TArrayOfJSIPCProperty' if ((!((aReader)->ReadSentinel(1404307431)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TArrayOfJSIPCProperty of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TJSIPCArray: { auto maybe__tmp = IPC::ReadParam<::mozilla::dom::JSIPCArray>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TJSIPCArray of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TJSIPCArray' if ((!((aReader)->ReadSentinel(354288589)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TJSIPCArray of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TJSIPCSet: { auto maybe__tmp = IPC::ReadParam<::mozilla::dom::JSIPCSet>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TJSIPCSet of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TJSIPCSet' if ((!((aReader)->ReadSentinel(236651258)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TJSIPCSet of union JSIPCValue"); return {}; } return std::move(tmp); } case union__::TArrayOfJSIPCMapEntry: { auto maybe__tmp = IPC::ReadParam>(aReader); if (!maybe__tmp) { aReader->FatalError("Error deserializing variant TArrayOfJSIPCMapEntry of union JSIPCValue"); return {}; } auto& tmp = *maybe__tmp; // Sentinel = 'TArrayOfJSIPCMapEntry' if ((!((aReader)->ReadSentinel(1383729074)))) { mozilla::ipc::SentinelReadError("Error deserializing variant TArrayOfJSIPCMapEntry of union JSIPCValue"); return {}; } return std::move(tmp); } default: { aReader->FatalError("unknown variant of union JSIPCValue"); return {}; } } } } // namespace IPC