Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/ipc/IPCMessageUtils.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef __IPC_GLUE_IPCMESSAGEUTILS_H__
8
#define __IPC_GLUE_IPCMESSAGEUTILS_H__
9
10
#include "base/process_util.h"
11
#include "chrome/common/ipc_message_utils.h"
12
13
#include "mozilla/ArrayUtils.h"
14
#include "mozilla/Attributes.h"
15
#include "mozilla/DebugOnly.h"
16
#include "mozilla/dom/ipc/StructuredCloneData.h"
17
#include "mozilla/EnumSet.h"
18
#include "mozilla/EnumTypeTraits.h"
19
#include "mozilla/Maybe.h"
20
#include "mozilla/net/WebSocketFrame.h"
21
#include "mozilla/TimeStamp.h"
22
#ifdef XP_WIN
23
#include "mozilla/TimeStamp_windows.h"
24
#endif
25
#include "mozilla/TypeTraits.h"
26
#include "mozilla/IntegerTypeTraits.h"
27
28
#include <limits>
29
#include <stdint.h>
30
#include <type_traits>
31
32
#include "nsExceptionHandler.h"
33
#include "nsID.h"
34
#include "nsIWidget.h"
35
#include "nsMemory.h"
36
#include "nsString.h"
37
#include "nsTArray.h"
38
#include "js/StructuredClone.h"
39
#include "nsCSSPropertyID.h"
40
41
#ifdef _MSC_VER
42
#pragma warning( disable : 4800 )
43
#endif
44
45
#if !defined(OS_POSIX)
46
// This condition must be kept in sync with the one in
47
// ipc_message_utils.h, but this dummy definition of
48
// base::FileDescriptor acts as a static assert that we only get one
49
// def or the other (or neither, in which case code using
50
// FileDescriptor fails to build)
51
namespace base { struct FileDescriptor { }; }
52
#endif
53
54
namespace mozilla {
55
56
// This is a cross-platform approximation to HANDLE, which we expect
57
// to be typedef'd to void* or thereabouts.
58
typedef uintptr_t WindowsHandle;
59
60
// XXX there are out of place and might be generally useful.  Could
61
// move to nscore.h or something.
62
struct void_t {
63
  bool operator==(const void_t&) const { return true; }
64
};
65
struct null_t {
66
  bool operator==(const null_t&) const { return true; }
67
};
68
69
struct SerializedStructuredCloneBuffer final
70
{
71
  SerializedStructuredCloneBuffer()
72
   : data(JS::StructuredCloneScope::Unassigned)
73
  {
74
  }
75
76
  SerializedStructuredCloneBuffer(const SerializedStructuredCloneBuffer& aOther)
77
   : SerializedStructuredCloneBuffer()
78
  {
79
    *this = aOther;
80
  }
81
82
  SerializedStructuredCloneBuffer&
83
  operator=(const SerializedStructuredCloneBuffer& aOther)
84
  {
85
    data.Clear();
86
    data.initScope(aOther.data.scope());
87
    data.Append(aOther.data);
88
    return *this;
89
  }
90
91
  bool
92
  operator==(const SerializedStructuredCloneBuffer& aOther) const
93
  {
94
    // The copy assignment operator and the equality operator are
95
    // needed by the IPDL generated code. We relied on the copy
96
    // assignment operator at some places but we never use the
97
    // equality operator.
98
    return false;
99
  }
100
101
  JSStructuredCloneData data;
102
};
103
104
} // namespace mozilla
105
106
namespace IPC {
107
108
/**
109
 * Maximum size, in bytes, of a single IPC message.
110
 */
111
static const uint32_t MAX_MESSAGE_SIZE = 65536;
112
113
/**
114
 * Generic enum serializer.
115
 *
116
 * Consider using the specializations below, such as ContiguousEnumSerializer.
117
 *
118
 * This is a generic serializer for any enum type used in IPDL.
119
 * Programmers can define ParamTraits<E> for enum type E by deriving
120
 * EnumSerializer<E, MyEnumValidator> where MyEnumValidator is a struct
121
 * that has to define a static IsLegalValue function returning whether
122
 * a given value is a legal value of the enum type at hand.
123
 *
124
 * \sa https://developer.mozilla.org/en/IPDL/Type_Serialization
125
 */
126
template <typename E, typename EnumValidator>
127
struct EnumSerializer {
128
  typedef E paramType;
129
  typedef typename mozilla::UnsignedStdintTypeForSize<sizeof(paramType)>::Type
130
          uintParamType;
131
132
0
  static void Write(Message* aMsg, const paramType& aValue) {
133
0
    MOZ_RELEASE_ASSERT(EnumValidator::IsLegalValue(aValue));
134
0
    WriteParam(aMsg, uintParamType(aValue));
135
0
  }
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::ImageFormat, IPC::ContiguousEnumValidator<mozilla::wr::ImageFormat, (mozilla::wr::ImageFormat)1, (mozilla::wr::ImageFormat)7> >::Write(IPC::Message*, mozilla::wr::ImageFormat const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::LightType, IPC::ContiguousEnumValidator<mozilla::gfx::LightType, (mozilla::gfx::LightType)0, (mozilla::gfx::LightType)4> >::Write(IPC::Message*, mozilla::gfx::LightType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::ColorSpace, IPC::ContiguousEnumValidator<mozilla::gfx::ColorSpace, (mozilla::gfx::ColorSpace)0, (mozilla::gfx::ColorSpace)2> >::Write(IPC::Message*, mozilla::gfx::ColorSpace const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::EventMessage, IPC::ContiguousEnumValidator<mozilla::EventMessage, (mozilla::EventMessage)0, (mozilla::EventMessage)244> >::Write(IPC::Message*, mozilla::EventMessage const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::IMEState::Enabled, IPC::ContiguousEnumValidator<mozilla::widget::IMEState::Enabled, (mozilla::widget::IMEState::Enabled)0, (mozilla::widget::IMEState::Enabled)4> >::Write(IPC::Message*, mozilla::widget::IMEState::Enabled const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::IMEState::Open, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::IMEState::Open, (mozilla::widget::IMEState::Open)0, (mozilla::widget::IMEState::Open)2> >::Write(IPC::Message*, mozilla::widget::IMEState::Open const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::InputContext::Origin, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContext::Origin, (mozilla::widget::InputContext::Origin)0, (mozilla::widget::InputContext::Origin)1> >::Write(IPC::Message*, mozilla::widget::InputContext::Origin const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::InputContextAction::Cause, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::Cause, (mozilla::widget::InputContextAction::Cause)0, (mozilla::widget::InputContextAction::Cause)6> >::Write(IPC::Message*, mozilla::widget::InputContextAction::Cause const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::InputContextAction::FocusChange, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::FocusChange, (mozilla::widget::InputContextAction::FocusChange)0, (mozilla::widget::InputContextAction::FocusChange)5> >::Write(IPC::Message*, mozilla::widget::InputContextAction::FocusChange const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::InputType, IPC::ContiguousEnumValidatorInclusive<mozilla::InputType, (mozilla::InputType)0, (mozilla::InputType)6> >::Write(IPC::Message*, mozilla::InputType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MultiTouchInput::MultiTouchType, IPC::ContiguousEnumValidatorInclusive<mozilla::MultiTouchInput::MultiTouchType, (mozilla::MultiTouchInput::MultiTouchType)0, (mozilla::MultiTouchInput::MultiTouchType)3> >::Write(IPC::Message*, mozilla::MultiTouchInput::MultiTouchType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MouseInput::ButtonType, IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::ButtonType, (mozilla::MouseInput::ButtonType)0, (mozilla::MouseInput::ButtonType)3> >::Write(IPC::Message*, mozilla::MouseInput::ButtonType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MouseInput::MouseType, IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::MouseType, (mozilla::MouseInput::MouseType)0, (mozilla::MouseInput::MouseType)8> >::Write(IPC::Message*, mozilla::MouseInput::MouseType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::PanGestureInput::PanGestureType, IPC::ContiguousEnumValidatorInclusive<mozilla::PanGestureInput::PanGestureType, (mozilla::PanGestureInput::PanGestureType)0, (mozilla::PanGestureInput::PanGestureType)7> >::Write(IPC::Message*, mozilla::PanGestureInput::PanGestureType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::PinchGestureInput::PinchGestureType, IPC::ContiguousEnumValidatorInclusive<mozilla::PinchGestureInput::PinchGestureType, (mozilla::PinchGestureInput::PinchGestureType)0, (mozilla::PinchGestureInput::PinchGestureType)2> >::Write(IPC::Message*, mozilla::PinchGestureInput::PinchGestureType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::TapGestureInput::TapGestureType, IPC::ContiguousEnumValidatorInclusive<mozilla::TapGestureInput::TapGestureType, (mozilla::TapGestureInput::TapGestureType)0, (mozilla::TapGestureInput::TapGestureType)6> >::Write(IPC::Message*, mozilla::TapGestureInput::TapGestureType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::ScrollWheelInput::ScrollDeltaType, IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollDeltaType, (mozilla::ScrollWheelInput::ScrollDeltaType)0, (mozilla::ScrollWheelInput::ScrollDeltaType)2> >::Write(IPC::Message*, mozilla::ScrollWheelInput::ScrollDeltaType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::ScrollWheelInput::ScrollMode, IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollMode, (mozilla::ScrollWheelInput::ScrollMode)0, (mozilla::ScrollWheelInput::ScrollMode)1> >::Write(IPC::Message*, mozilla::ScrollWheelInput::ScrollMode const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::WheelDeltaAdjustmentStrategy, IPC::ContiguousEnumValidator<mozilla::WheelDeltaAdjustmentStrategy, (mozilla::WheelDeltaAdjustmentStrategy)0, (mozilla::WheelDeltaAdjustmentStrategy)4> >::Write(IPC::Message*, mozilla::WheelDeltaAdjustmentStrategy const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::KeyboardInput::KeyboardEventType, IPC::ContiguousEnumValidator<mozilla::KeyboardInput::KeyboardEventType, (mozilla::KeyboardInput::KeyboardEventType)0, (mozilla::KeyboardInput::KeyboardEventType)4> >::Write(IPC::Message*, mozilla::KeyboardInput::KeyboardEventType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::FrameMetrics::ScrollOffsetUpdateType, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::FrameMetrics::ScrollOffsetUpdateType, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)0, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)4> >::Write(IPC::Message*, mozilla::layers::FrameMetrics::ScrollOffsetUpdateType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::OverscrollBehavior, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::OverscrollBehavior, (mozilla::layers::OverscrollBehavior)0, (mozilla::layers::OverscrollBehavior)2> >::Write(IPC::Message*, mozilla::layers::OverscrollBehavior const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::ScrollDirection, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScrollDirection, (mozilla::layers::ScrollDirection)0, (mozilla::layers::ScrollDirection)1> >::Write(IPC::Message*, mozilla::layers::ScrollDirection const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::CompositableType, IPC::ContiguousEnumValidator<mozilla::layers::CompositableType, (mozilla::layers::CompositableType)0, (mozilla::layers::CompositableType)6> >::Write(IPC::Message*, mozilla::layers::CompositableType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::TextureFlags, IPC::BitFlagsEnumValidator<mozilla::layers::TextureFlags, (mozilla::layers::TextureFlags)131071> >::Write(IPC::Message*, mozilla::layers::TextureFlags const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)0, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)3> >::Write(IPC::Message*, mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::CompositorHitTestInfo, IPC::BitFlagsEnumValidator<mozilla::gfx::CompositorHitTestInfo, (mozilla::gfx::CompositorHitTestInfo)1023> >::Write(IPC::Message*, mozilla::gfx::CompositorHitTestInfo const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::StereoMode, IPC::ContiguousEnumValidator<mozilla::StereoMode, (mozilla::StereoMode)0, (mozilla::StereoMode)5> >::Write(IPC::Message*, mozilla::StereoMode const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::indexedDB::KeyPath::KeyPathType, IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::KeyPath::KeyPathType, (mozilla::dom::indexedDB::KeyPath::KeyPathType)0, (mozilla::dom::indexedDB::KeyPath::KeyPathType)3> >::Write(IPC::Message*, mozilla::dom::indexedDB::KeyPath::KeyPathType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::ScreenRotation, IPC::ContiguousEnumValidator<mozilla::ScreenRotation, (mozilla::ScreenRotation)0, (mozilla::ScreenRotation)4> >::Write(IPC::Message*, mozilla::ScreenRotation const&)
Unexecuted instantiation: IPC::EnumSerializer<nsCSSPropertyID, IPC::ContiguousEnumValidator<nsCSSPropertyID, (nsCSSPropertyID)-1, (nsCSSPropertyID)378> >::Write(IPC::Message*, nsCSSPropertyID const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::SamplingFilter, IPC::ContiguousEnumValidator<mozilla::gfx::SamplingFilter, (mozilla::gfx::SamplingFilter)0, (mozilla::gfx::SamplingFilter)3> >::Write(IPC::Message*, mozilla::gfx::SamplingFilter const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::EventRegionsOverride, IPC::BitFlagsEnumValidator<mozilla::layers::EventRegionsOverride, (mozilla::layers::EventRegionsOverride)3> >::Write(IPC::Message*, mozilla::layers::EventRegionsOverride const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::ScaleMode, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScaleMode, (mozilla::layers::ScaleMode)0, (mozilla::layers::ScaleMode)1> >::Write(IPC::Message*, mozilla::layers::ScaleMode const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::DiagnosticTypes, IPC::BitFlagsEnumValidator<mozilla::layers::DiagnosticTypes, (mozilla::layers::DiagnosticTypes)15> >::Write(IPC::Message*, mozilla::layers::DiagnosticTypes const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::YUVColorSpace, IPC::ContiguousEnumValidator<mozilla::YUVColorSpace, (mozilla::YUVColorSpace)0, (mozilla::YUVColorSpace)2> >::Write(IPC::Message*, mozilla::YUVColorSpace const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED, IPC::ContiguousEnumValidator<mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)0, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)12> >::Write(IPC::Message*, mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::GeckoContentController::TapType, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::TapType, (mozilla::layers::GeckoContentController::TapType)0, (mozilla::layers::GeckoContentController::TapType)4> >::Write(IPC::Message*, mozilla::layers::GeckoContentController::TapType const&)
Unexecuted instantiation: IPC::EnumSerializer<nsEventStatus, IPC::ContiguousEnumValidator<nsEventStatus, (nsEventStatus)0, (nsEventStatus)3> >::Write(IPC::Message*, nsEventStatus const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::GeckoContentController::APZStateChange, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::APZStateChange, (mozilla::layers::GeckoContentController::APZStateChange)0, (mozilla::layers::GeckoContentController::APZStateChange)4> >::Write(IPC::Message*, mozilla::layers::GeckoContentController::APZStateChange const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::DataStorageType, IPC::ContiguousEnumValidator<mozilla::DataStorageType, (mozilla::DataStorageType)0, (mozilla::DataStorageType)3> >::Write(IPC::Message*, mozilla::DataStorageType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::hal::ProcessPriority, IPC::ContiguousEnumValidator<mozilla::hal::ProcessPriority, (mozilla::hal::ProcessPriority)-1, (mozilla::hal::ProcessPriority)7> >::Write(IPC::Message*, mozilla::hal::ProcessPriority const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::RTCStatsType, IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsType, (mozilla::dom::RTCStatsType)0, (mozilla::dom::RTCStatsType)9> >::Write(IPC::Message*, mozilla::dom::RTCStatsType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::RTCStatsIceCandidatePairState, IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidatePairState, (mozilla::dom::RTCStatsIceCandidatePairState)0, (mozilla::dom::RTCStatsIceCandidatePairState)6> >::Write(IPC::Message*, mozilla::dom::RTCStatsIceCandidatePairState const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::RTCStatsIceCandidateType, IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidateType, (mozilla::dom::RTCStatsIceCandidateType)0, (mozilla::dom::RTCStatsIceCandidateType)4> >::Write(IPC::Message*, mozilla::dom::RTCStatsIceCandidateType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::VRDisplayCapabilityFlags, IPC::BitFlagsEnumValidator<mozilla::gfx::VRDisplayCapabilityFlags, (mozilla::gfx::VRDisplayCapabilityFlags)511> >::Write(IPC::Message*, mozilla::gfx::VRDisplayCapabilityFlags const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::VRDeviceType, IPC::ContiguousEnumValidator<mozilla::gfx::VRDeviceType, (mozilla::gfx::VRDeviceType)0, (mozilla::gfx::VRDeviceType)6> >::Write(IPC::Message*, mozilla::gfx::VRDeviceType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::a11y::roles::Role, IPC::ContiguousEnumValidatorInclusive<mozilla::a11y::roles::Role, (mozilla::a11y::roles::Role)0, (mozilla::a11y::roles::Role)177> >::Write(IPC::Message*, mozilla::a11y::roles::Role const&)
Unexecuted instantiation: IPC::EnumSerializer<NPWindowType, IPC::ContiguousEnumValidatorInclusive<NPWindowType, (NPWindowType)1, (NPWindowType)2> >::Write(IPC::Message*, NPWindowType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::hal::SensorType, IPC::ContiguousEnumValidator<mozilla::hal::SensorType, (mozilla::hal::SensorType)0, (mozilla::hal::SensorType)8> >::Write(IPC::Message*, mozilla::hal::SensorType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::hal::WakeLockControl, IPC::ContiguousEnumValidator<mozilla::hal::WakeLockControl, (mozilla::hal::WakeLockControl)-1, (mozilla::hal::WakeLockControl)2> >::Write(IPC::Message*, mozilla::hal::WakeLockControl const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MediaSystemResourceType, IPC::ContiguousEnumValidator<mozilla::MediaSystemResourceType, (mozilla::MediaSystemResourceType)0, (mozilla::MediaSystemResourceType)5> >::Write(IPC::Message*, mozilla::MediaSystemResourceType const&)
Unexecuted instantiation: IPC::EnumSerializer<NPNVariable, IPC::ContiguousEnumValidator<NPNVariable, (NPNVariable)1, (NPNVariable)4001> >::Write(IPC::Message*, NPNVariable const&)
Unexecuted instantiation: IPC::EnumSerializer<NPNURLVariable, IPC::ContiguousEnumValidatorInclusive<NPNURLVariable, (NPNURLVariable)502, (NPNURLVariable)502> >::Write(IPC::Message*, NPNURLVariable const&)
Unexecuted instantiation: IPC::EnumSerializer<NPCoordinateSpace, IPC::ContiguousEnumValidatorInclusive<NPCoordinateSpace, (NPCoordinateSpace)1, (NPCoordinateSpace)5> >::Write(IPC::Message*, NPCoordinateSpace const&)
Unexecuted instantiation: IPC::EnumSerializer<gfxSurfaceType, IPC::ContiguousEnumValidator<gfxSurfaceType, (gfxSurfaceType)0, (gfxSurfaceType)24> >::Write(IPC::Message*, gfxSurfaceType const&)
Unexecuted instantiation: IPC::EnumSerializer<JS::AsmJSCacheResult, IPC::ContiguousEnumValidator<JS::AsmJSCacheResult, (JS::AsmJSCacheResult)0, (JS::AsmJSCacheResult)10> >::Write(IPC::Message*, JS::AsmJSCacheResult const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::asmjscache::OpenMode, IPC::ContiguousEnumValidator<mozilla::dom::asmjscache::OpenMode, (mozilla::dom::asmjscache::OpenMode)0, (mozilla::dom::asmjscache::OpenMode)2> >::Write(IPC::Message*, mozilla::dom::asmjscache::OpenMode const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::quota::PersistenceType, IPC::ContiguousEnumValidator<mozilla::dom::quota::PersistenceType, (mozilla::dom::quota::PersistenceType)0, (mozilla::dom::quota::PersistenceType)3> >::Write(IPC::Message*, mozilla::dom::quota::PersistenceType const&)
Unexecuted instantiation: IPC::EnumSerializer<UIStateChangeType, IPC::ContiguousEnumValidator<UIStateChangeType, (UIStateChangeType)0, (UIStateChangeType)3> >::Write(IPC::Message*, UIStateChangeType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::IDBTransaction::Mode, IPC::ContiguousEnumValidator<mozilla::dom::IDBTransaction::Mode, (mozilla::dom::IDBTransaction::Mode)0, (mozilla::dom::IDBTransaction::Mode)5> >::Write(IPC::Message*, mozilla::dom::IDBTransaction::Mode const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::ImageRendering, IPC::ContiguousEnumValidator<mozilla::wr::ImageRendering, (mozilla::wr::ImageRendering)0, (mozilla::wr::ImageRendering)3> >::Write(IPC::Message*, mozilla::wr::ImageRendering const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::MixBlendMode, IPC::ContiguousEnumValidator<mozilla::wr::MixBlendMode, (mozilla::wr::MixBlendMode)0, (mozilla::wr::MixBlendMode)16> >::Write(IPC::Message*, mozilla::wr::MixBlendMode const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::indexedDB::StructuredCloneFile::FileType, IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::StructuredCloneFile::FileType, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)0, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)5> >::Write(IPC::Message*, mozilla::dom::indexedDB::StructuredCloneFile::FileType const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::IDBCursor::Direction, IPC::ContiguousEnumValidator<mozilla::dom::IDBCursor::Direction, (mozilla::dom::IDBCursor::Direction)0, (mozilla::dom::IDBCursor::Direction)4> >::Write(IPC::Message*, mozilla::dom::IDBCursor::Direction const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::FileMode, IPC::ContiguousEnumValidator<mozilla::dom::FileMode, (mozilla::dom::FileMode)0, (mozilla::dom::FileMode)2> >::Write(IPC::Message*, mozilla::dom::FileMode const&)
Unexecuted instantiation: IPC::EnumSerializer<nsCursor, IPC::ContiguousEnumValidator<nsCursor, (nsCursor)0, (nsCursor)35> >::Write(IPC::Message*, nsCursor const&)
Unexecuted instantiation: IPC::EnumSerializer<nsIWidget::TouchPointerState, IPC::BitFlagsEnumValidator<nsIWidget::TouchPointerState, (nsIWidget::TouchPointerState)15> >::Write(IPC::Message*, nsIWidget::TouchPointerState const&)
Unexecuted instantiation: IPC::EnumSerializer<nsSizeMode, IPC::ContiguousEnumValidator<nsSizeMode, (nsSizeMode)0, (nsSizeMode)4> >::Write(IPC::Message*, nsSizeMode const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::camera::CaptureEngine, IPC::ContiguousEnumValidator<mozilla::camera::CaptureEngine, (mozilla::camera::CaptureEngine)0, (mozilla::camera::CaptureEngine)6> >::Write(IPC::Message*, mozilla::camera::CaptureEngine const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::WebRenderError, IPC::ContiguousEnumValidator<mozilla::wr::WebRenderError, (mozilla::wr::WebRenderError)0, (mozilla::wr::WebRenderError)3> >::Write(IPC::Message*, mozilla::wr::WebRenderError const&)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::ErrNum, IPC::ContiguousEnumValidator<mozilla::dom::ErrNum, (mozilla::dom::ErrNum)0, (mozilla::dom::ErrNum)92> >::Write(IPC::Message*, mozilla::dom::ErrNum const&)
136
137
0
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) {
138
0
    uintParamType value;
139
0
    if (!ReadParam(aMsg, aIter, &value)) {
140
0
      CrashReporter::AnnotateCrashReport(
141
0
        CrashReporter::Annotation::IPCReadErrorReason,
142
0
        NS_LITERAL_CSTRING("Bad iter"));
143
0
      return false;
144
0
    } else if (!EnumValidator::IsLegalValue(paramType(value))) {
145
0
      CrashReporter::AnnotateCrashReport(
146
0
        CrashReporter::Annotation::IPCReadErrorReason,
147
0
        NS_LITERAL_CSTRING("Illegal value"));
148
0
      return false;
149
0
    }
150
0
    *aResult = paramType(value);
151
0
    return true;
152
0
  }
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::ImageFormat, IPC::ContiguousEnumValidator<mozilla::wr::ImageFormat, (mozilla::wr::ImageFormat)1, (mozilla::wr::ImageFormat)7> >::Read(IPC::Message const*, PickleIterator*, mozilla::wr::ImageFormat*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::LightType, IPC::ContiguousEnumValidator<mozilla::gfx::LightType, (mozilla::gfx::LightType)0, (mozilla::gfx::LightType)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::gfx::LightType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::ColorSpace, IPC::ContiguousEnumValidator<mozilla::gfx::ColorSpace, (mozilla::gfx::ColorSpace)0, (mozilla::gfx::ColorSpace)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::gfx::ColorSpace*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::EventMessage, IPC::ContiguousEnumValidator<mozilla::EventMessage, (mozilla::EventMessage)0, (mozilla::EventMessage)244> >::Read(IPC::Message const*, PickleIterator*, mozilla::EventMessage*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::IMEState::Enabled, IPC::ContiguousEnumValidator<mozilla::widget::IMEState::Enabled, (mozilla::widget::IMEState::Enabled)0, (mozilla::widget::IMEState::Enabled)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::widget::IMEState::Enabled*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::IMEState::Open, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::IMEState::Open, (mozilla::widget::IMEState::Open)0, (mozilla::widget::IMEState::Open)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::widget::IMEState::Open*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::InputContext::Origin, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContext::Origin, (mozilla::widget::InputContext::Origin)0, (mozilla::widget::InputContext::Origin)1> >::Read(IPC::Message const*, PickleIterator*, mozilla::widget::InputContext::Origin*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::InputContextAction::Cause, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::Cause, (mozilla::widget::InputContextAction::Cause)0, (mozilla::widget::InputContextAction::Cause)6> >::Read(IPC::Message const*, PickleIterator*, mozilla::widget::InputContextAction::Cause*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::widget::InputContextAction::FocusChange, IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::FocusChange, (mozilla::widget::InputContextAction::FocusChange)0, (mozilla::widget::InputContextAction::FocusChange)5> >::Read(IPC::Message const*, PickleIterator*, mozilla::widget::InputContextAction::FocusChange*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::InputType, IPC::ContiguousEnumValidatorInclusive<mozilla::InputType, (mozilla::InputType)0, (mozilla::InputType)6> >::Read(IPC::Message const*, PickleIterator*, mozilla::InputType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MultiTouchInput::MultiTouchType, IPC::ContiguousEnumValidatorInclusive<mozilla::MultiTouchInput::MultiTouchType, (mozilla::MultiTouchInput::MultiTouchType)0, (mozilla::MultiTouchInput::MultiTouchType)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::MultiTouchInput::MultiTouchType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MouseInput::ButtonType, IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::ButtonType, (mozilla::MouseInput::ButtonType)0, (mozilla::MouseInput::ButtonType)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::MouseInput::ButtonType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MouseInput::MouseType, IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::MouseType, (mozilla::MouseInput::MouseType)0, (mozilla::MouseInput::MouseType)8> >::Read(IPC::Message const*, PickleIterator*, mozilla::MouseInput::MouseType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::PanGestureInput::PanGestureType, IPC::ContiguousEnumValidatorInclusive<mozilla::PanGestureInput::PanGestureType, (mozilla::PanGestureInput::PanGestureType)0, (mozilla::PanGestureInput::PanGestureType)7> >::Read(IPC::Message const*, PickleIterator*, mozilla::PanGestureInput::PanGestureType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::PinchGestureInput::PinchGestureType, IPC::ContiguousEnumValidatorInclusive<mozilla::PinchGestureInput::PinchGestureType, (mozilla::PinchGestureInput::PinchGestureType)0, (mozilla::PinchGestureInput::PinchGestureType)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::PinchGestureInput::PinchGestureType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::TapGestureInput::TapGestureType, IPC::ContiguousEnumValidatorInclusive<mozilla::TapGestureInput::TapGestureType, (mozilla::TapGestureInput::TapGestureType)0, (mozilla::TapGestureInput::TapGestureType)6> >::Read(IPC::Message const*, PickleIterator*, mozilla::TapGestureInput::TapGestureType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::ScrollWheelInput::ScrollDeltaType, IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollDeltaType, (mozilla::ScrollWheelInput::ScrollDeltaType)0, (mozilla::ScrollWheelInput::ScrollDeltaType)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::ScrollWheelInput::ScrollDeltaType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::ScrollWheelInput::ScrollMode, IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollMode, (mozilla::ScrollWheelInput::ScrollMode)0, (mozilla::ScrollWheelInput::ScrollMode)1> >::Read(IPC::Message const*, PickleIterator*, mozilla::ScrollWheelInput::ScrollMode*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::WheelDeltaAdjustmentStrategy, IPC::ContiguousEnumValidator<mozilla::WheelDeltaAdjustmentStrategy, (mozilla::WheelDeltaAdjustmentStrategy)0, (mozilla::WheelDeltaAdjustmentStrategy)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::WheelDeltaAdjustmentStrategy*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::KeyboardInput::KeyboardEventType, IPC::ContiguousEnumValidator<mozilla::KeyboardInput::KeyboardEventType, (mozilla::KeyboardInput::KeyboardEventType)0, (mozilla::KeyboardInput::KeyboardEventType)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::KeyboardInput::KeyboardEventType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::FrameMetrics::ScrollOffsetUpdateType, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::FrameMetrics::ScrollOffsetUpdateType, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)0, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::FrameMetrics::ScrollOffsetUpdateType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::OverscrollBehavior, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::OverscrollBehavior, (mozilla::layers::OverscrollBehavior)0, (mozilla::layers::OverscrollBehavior)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::OverscrollBehavior*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::ScrollDirection, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScrollDirection, (mozilla::layers::ScrollDirection)0, (mozilla::layers::ScrollDirection)1> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::ScrollDirection*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::CompositableType, IPC::ContiguousEnumValidator<mozilla::layers::CompositableType, (mozilla::layers::CompositableType)0, (mozilla::layers::CompositableType)6> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::CompositableType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::TextureFlags, IPC::BitFlagsEnumValidator<mozilla::layers::TextureFlags, (mozilla::layers::TextureFlags)131071> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::TextureFlags*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)0, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::CompositorHitTestInfo, IPC::BitFlagsEnumValidator<mozilla::gfx::CompositorHitTestInfo, (mozilla::gfx::CompositorHitTestInfo)1023> >::Read(IPC::Message const*, PickleIterator*, mozilla::gfx::CompositorHitTestInfo*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::StereoMode, IPC::ContiguousEnumValidator<mozilla::StereoMode, (mozilla::StereoMode)0, (mozilla::StereoMode)5> >::Read(IPC::Message const*, PickleIterator*, mozilla::StereoMode*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::indexedDB::KeyPath::KeyPathType, IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::KeyPath::KeyPathType, (mozilla::dom::indexedDB::KeyPath::KeyPathType)0, (mozilla::dom::indexedDB::KeyPath::KeyPathType)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::indexedDB::KeyPath::KeyPathType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::ScreenRotation, IPC::ContiguousEnumValidator<mozilla::ScreenRotation, (mozilla::ScreenRotation)0, (mozilla::ScreenRotation)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::ScreenRotation*)
Unexecuted instantiation: IPC::EnumSerializer<nsCSSPropertyID, IPC::ContiguousEnumValidator<nsCSSPropertyID, (nsCSSPropertyID)-1, (nsCSSPropertyID)378> >::Read(IPC::Message const*, PickleIterator*, nsCSSPropertyID*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::SamplingFilter, IPC::ContiguousEnumValidator<mozilla::gfx::SamplingFilter, (mozilla::gfx::SamplingFilter)0, (mozilla::gfx::SamplingFilter)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::gfx::SamplingFilter*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::EventRegionsOverride, IPC::BitFlagsEnumValidator<mozilla::layers::EventRegionsOverride, (mozilla::layers::EventRegionsOverride)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::EventRegionsOverride*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::ScaleMode, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScaleMode, (mozilla::layers::ScaleMode)0, (mozilla::layers::ScaleMode)1> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::ScaleMode*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::DiagnosticTypes, IPC::BitFlagsEnumValidator<mozilla::layers::DiagnosticTypes, (mozilla::layers::DiagnosticTypes)15> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::DiagnosticTypes*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::YUVColorSpace, IPC::ContiguousEnumValidator<mozilla::YUVColorSpace, (mozilla::YUVColorSpace)0, (mozilla::YUVColorSpace)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::YUVColorSpace*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED, IPC::ContiguousEnumValidator<mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)0, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)12> >::Read(IPC::Message const*, PickleIterator*, mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::GeckoContentController::TapType, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::TapType, (mozilla::layers::GeckoContentController::TapType)0, (mozilla::layers::GeckoContentController::TapType)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::GeckoContentController::TapType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::layers::GeckoContentController::APZStateChange, IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::APZStateChange, (mozilla::layers::GeckoContentController::APZStateChange)0, (mozilla::layers::GeckoContentController::APZStateChange)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::layers::GeckoContentController::APZStateChange*)
Unexecuted instantiation: IPC::EnumSerializer<nsEventStatus, IPC::ContiguousEnumValidator<nsEventStatus, (nsEventStatus)0, (nsEventStatus)3> >::Read(IPC::Message const*, PickleIterator*, nsEventStatus*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::ipc::ResponseRejectReason, IPC::ContiguousEnumValidator<mozilla::ipc::ResponseRejectReason, (mozilla::ipc::ResponseRejectReason)0, (mozilla::ipc::ResponseRejectReason)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::ipc::ResponseRejectReason*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::DataStorageType, IPC::ContiguousEnumValidator<mozilla::DataStorageType, (mozilla::DataStorageType)0, (mozilla::DataStorageType)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::DataStorageType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::hal::ProcessPriority, IPC::ContiguousEnumValidator<mozilla::hal::ProcessPriority, (mozilla::hal::ProcessPriority)-1, (mozilla::hal::ProcessPriority)7> >::Read(IPC::Message const*, PickleIterator*, mozilla::hal::ProcessPriority*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::RTCStatsType, IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsType, (mozilla::dom::RTCStatsType)0, (mozilla::dom::RTCStatsType)9> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::RTCStatsType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::RTCStatsIceCandidatePairState, IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidatePairState, (mozilla::dom::RTCStatsIceCandidatePairState)0, (mozilla::dom::RTCStatsIceCandidatePairState)6> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::RTCStatsIceCandidatePairState*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::RTCStatsIceCandidateType, IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidateType, (mozilla::dom::RTCStatsIceCandidateType)0, (mozilla::dom::RTCStatsIceCandidateType)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::RTCStatsIceCandidateType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::VRDisplayCapabilityFlags, IPC::BitFlagsEnumValidator<mozilla::gfx::VRDisplayCapabilityFlags, (mozilla::gfx::VRDisplayCapabilityFlags)511> >::Read(IPC::Message const*, PickleIterator*, mozilla::gfx::VRDisplayCapabilityFlags*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::gfx::VRDeviceType, IPC::ContiguousEnumValidator<mozilla::gfx::VRDeviceType, (mozilla::gfx::VRDeviceType)0, (mozilla::gfx::VRDeviceType)6> >::Read(IPC::Message const*, PickleIterator*, mozilla::gfx::VRDeviceType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::a11y::roles::Role, IPC::ContiguousEnumValidatorInclusive<mozilla::a11y::roles::Role, (mozilla::a11y::roles::Role)0, (mozilla::a11y::roles::Role)177> >::Read(IPC::Message const*, PickleIterator*, mozilla::a11y::roles::Role*)
Unexecuted instantiation: IPC::EnumSerializer<NPWindowType, IPC::ContiguousEnumValidatorInclusive<NPWindowType, (NPWindowType)1, (NPWindowType)2> >::Read(IPC::Message const*, PickleIterator*, NPWindowType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::hal::SensorType, IPC::ContiguousEnumValidator<mozilla::hal::SensorType, (mozilla::hal::SensorType)0, (mozilla::hal::SensorType)8> >::Read(IPC::Message const*, PickleIterator*, mozilla::hal::SensorType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::hal::WakeLockControl, IPC::ContiguousEnumValidator<mozilla::hal::WakeLockControl, (mozilla::hal::WakeLockControl)-1, (mozilla::hal::WakeLockControl)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::hal::WakeLockControl*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::MediaSystemResourceType, IPC::ContiguousEnumValidator<mozilla::MediaSystemResourceType, (mozilla::MediaSystemResourceType)0, (mozilla::MediaSystemResourceType)5> >::Read(IPC::Message const*, PickleIterator*, mozilla::MediaSystemResourceType*)
Unexecuted instantiation: IPC::EnumSerializer<gfxSurfaceType, IPC::ContiguousEnumValidator<gfxSurfaceType, (gfxSurfaceType)0, (gfxSurfaceType)24> >::Read(IPC::Message const*, PickleIterator*, gfxSurfaceType*)
Unexecuted instantiation: IPC::EnumSerializer<NPNVariable, IPC::ContiguousEnumValidator<NPNVariable, (NPNVariable)1, (NPNVariable)4001> >::Read(IPC::Message const*, PickleIterator*, NPNVariable*)
Unexecuted instantiation: IPC::EnumSerializer<NPNURLVariable, IPC::ContiguousEnumValidatorInclusive<NPNURLVariable, (NPNURLVariable)502, (NPNURLVariable)502> >::Read(IPC::Message const*, PickleIterator*, NPNURLVariable*)
Unexecuted instantiation: IPC::EnumSerializer<NPCoordinateSpace, IPC::ContiguousEnumValidatorInclusive<NPCoordinateSpace, (NPCoordinateSpace)1, (NPCoordinateSpace)5> >::Read(IPC::Message const*, PickleIterator*, NPCoordinateSpace*)
Unexecuted instantiation: IPC::EnumSerializer<JS::AsmJSCacheResult, IPC::ContiguousEnumValidator<JS::AsmJSCacheResult, (JS::AsmJSCacheResult)0, (JS::AsmJSCacheResult)10> >::Read(IPC::Message const*, PickleIterator*, JS::AsmJSCacheResult*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::quota::PersistenceType, IPC::ContiguousEnumValidator<mozilla::dom::quota::PersistenceType, (mozilla::dom::quota::PersistenceType)0, (mozilla::dom::quota::PersistenceType)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::quota::PersistenceType*)
Unexecuted instantiation: IPC::EnumSerializer<UIStateChangeType, IPC::ContiguousEnumValidator<UIStateChangeType, (UIStateChangeType)0, (UIStateChangeType)3> >::Read(IPC::Message const*, PickleIterator*, UIStateChangeType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::IDBTransaction::Mode, IPC::ContiguousEnumValidator<mozilla::dom::IDBTransaction::Mode, (mozilla::dom::IDBTransaction::Mode)0, (mozilla::dom::IDBTransaction::Mode)5> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::IDBTransaction::Mode*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::ImageRendering, IPC::ContiguousEnumValidator<mozilla::wr::ImageRendering, (mozilla::wr::ImageRendering)0, (mozilla::wr::ImageRendering)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::wr::ImageRendering*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::MixBlendMode, IPC::ContiguousEnumValidator<mozilla::wr::MixBlendMode, (mozilla::wr::MixBlendMode)0, (mozilla::wr::MixBlendMode)16> >::Read(IPC::Message const*, PickleIterator*, mozilla::wr::MixBlendMode*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::indexedDB::StructuredCloneFile::FileType, IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::StructuredCloneFile::FileType, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)0, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)5> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::indexedDB::StructuredCloneFile::FileType*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::IDBCursor::Direction, IPC::ContiguousEnumValidator<mozilla::dom::IDBCursor::Direction, (mozilla::dom::IDBCursor::Direction)0, (mozilla::dom::IDBCursor::Direction)4> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::IDBCursor::Direction*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::FileMode, IPC::ContiguousEnumValidator<mozilla::dom::FileMode, (mozilla::dom::FileMode)0, (mozilla::dom::FileMode)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::FileMode*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::asmjscache::OpenMode, IPC::ContiguousEnumValidator<mozilla::dom::asmjscache::OpenMode, (mozilla::dom::asmjscache::OpenMode)0, (mozilla::dom::asmjscache::OpenMode)2> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::asmjscache::OpenMode*)
Unexecuted instantiation: IPC::EnumSerializer<nsSizeMode, IPC::ContiguousEnumValidator<nsSizeMode, (nsSizeMode)0, (nsSizeMode)4> >::Read(IPC::Message const*, PickleIterator*, nsSizeMode*)
Unexecuted instantiation: IPC::EnumSerializer<nsCursor, IPC::ContiguousEnumValidator<nsCursor, (nsCursor)0, (nsCursor)35> >::Read(IPC::Message const*, PickleIterator*, nsCursor*)
Unexecuted instantiation: IPC::EnumSerializer<nsIWidget::TouchPointerState, IPC::BitFlagsEnumValidator<nsIWidget::TouchPointerState, (nsIWidget::TouchPointerState)15> >::Read(IPC::Message const*, PickleIterator*, nsIWidget::TouchPointerState*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::camera::CaptureEngine, IPC::ContiguousEnumValidator<mozilla::camera::CaptureEngine, (mozilla::camera::CaptureEngine)0, (mozilla::camera::CaptureEngine)6> >::Read(IPC::Message const*, PickleIterator*, mozilla::camera::CaptureEngine*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::wr::WebRenderError, IPC::ContiguousEnumValidator<mozilla::wr::WebRenderError, (mozilla::wr::WebRenderError)0, (mozilla::wr::WebRenderError)3> >::Read(IPC::Message const*, PickleIterator*, mozilla::wr::WebRenderError*)
Unexecuted instantiation: IPC::EnumSerializer<mozilla::dom::ErrNum, IPC::ContiguousEnumValidator<mozilla::dom::ErrNum, (mozilla::dom::ErrNum)0, (mozilla::dom::ErrNum)92> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::ErrNum*)
153
};
154
155
template <typename E,
156
          E MinLegal,
157
          E HighBound>
158
class ContiguousEnumValidator
159
{
160
  // Silence overzealous -Wtype-limits bug in GCC fixed in GCC 4.8:
161
  // "comparison of unsigned expression >= 0 is always true"
162
  // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11856
163
  template <typename T>
164
0
  static bool IsLessThanOrEqual(T a, T b) { return a <= b; }
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::wr::ImageFormat, (mozilla::wr::ImageFormat)1, (mozilla::wr::ImageFormat)7>::IsLessThanOrEqual<mozilla::wr::ImageFormat>(mozilla::wr::ImageFormat, mozilla::wr::ImageFormat)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::gfx::LightType, (mozilla::gfx::LightType)0, (mozilla::gfx::LightType)4>::IsLessThanOrEqual<mozilla::gfx::LightType>(mozilla::gfx::LightType, mozilla::gfx::LightType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::gfx::ColorSpace, (mozilla::gfx::ColorSpace)0, (mozilla::gfx::ColorSpace)2>::IsLessThanOrEqual<mozilla::gfx::ColorSpace>(mozilla::gfx::ColorSpace, mozilla::gfx::ColorSpace)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::EventMessage, (mozilla::EventMessage)0, (mozilla::EventMessage)244>::IsLessThanOrEqual<mozilla::EventMessage>(mozilla::EventMessage, mozilla::EventMessage)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::widget::IMEState::Enabled, (mozilla::widget::IMEState::Enabled)0, (mozilla::widget::IMEState::Enabled)4>::IsLessThanOrEqual<mozilla::widget::IMEState::Enabled>(mozilla::widget::IMEState::Enabled, mozilla::widget::IMEState::Enabled)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::WheelDeltaAdjustmentStrategy, (mozilla::WheelDeltaAdjustmentStrategy)0, (mozilla::WheelDeltaAdjustmentStrategy)4>::IsLessThanOrEqual<mozilla::WheelDeltaAdjustmentStrategy>(mozilla::WheelDeltaAdjustmentStrategy, mozilla::WheelDeltaAdjustmentStrategy)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::KeyboardInput::KeyboardEventType, (mozilla::KeyboardInput::KeyboardEventType)0, (mozilla::KeyboardInput::KeyboardEventType)4>::IsLessThanOrEqual<mozilla::KeyboardInput::KeyboardEventType>(mozilla::KeyboardInput::KeyboardEventType, mozilla::KeyboardInput::KeyboardEventType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::layers::CompositableType, (mozilla::layers::CompositableType)0, (mozilla::layers::CompositableType)6>::IsLessThanOrEqual<mozilla::layers::CompositableType>(mozilla::layers::CompositableType, mozilla::layers::CompositableType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::StereoMode, (mozilla::StereoMode)0, (mozilla::StereoMode)5>::IsLessThanOrEqual<mozilla::StereoMode>(mozilla::StereoMode, mozilla::StereoMode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::KeyPath::KeyPathType, (mozilla::dom::indexedDB::KeyPath::KeyPathType)0, (mozilla::dom::indexedDB::KeyPath::KeyPathType)3>::IsLessThanOrEqual<mozilla::dom::indexedDB::KeyPath::KeyPathType>(mozilla::dom::indexedDB::KeyPath::KeyPathType, mozilla::dom::indexedDB::KeyPath::KeyPathType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::ScreenRotation, (mozilla::ScreenRotation)0, (mozilla::ScreenRotation)4>::IsLessThanOrEqual<mozilla::ScreenRotation>(mozilla::ScreenRotation, mozilla::ScreenRotation)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<nsCSSPropertyID, (nsCSSPropertyID)-1, (nsCSSPropertyID)378>::IsLessThanOrEqual<nsCSSPropertyID>(nsCSSPropertyID, nsCSSPropertyID)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::gfx::SamplingFilter, (mozilla::gfx::SamplingFilter)0, (mozilla::gfx::SamplingFilter)3>::IsLessThanOrEqual<mozilla::gfx::SamplingFilter>(mozilla::gfx::SamplingFilter, mozilla::gfx::SamplingFilter)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::YUVColorSpace, (mozilla::YUVColorSpace)0, (mozilla::YUVColorSpace)2>::IsLessThanOrEqual<mozilla::YUVColorSpace>(mozilla::YUVColorSpace, mozilla::YUVColorSpace)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)0, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)12>::IsLessThanOrEqual<mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED>(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED, mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<nsEventStatus, (nsEventStatus)0, (nsEventStatus)3>::IsLessThanOrEqual<nsEventStatus>(nsEventStatus, nsEventStatus)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::ipc::ResponseRejectReason, (mozilla::ipc::ResponseRejectReason)0, (mozilla::ipc::ResponseRejectReason)4>::IsLessThanOrEqual<mozilla::ipc::ResponseRejectReason>(mozilla::ipc::ResponseRejectReason, mozilla::ipc::ResponseRejectReason)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::DataStorageType, (mozilla::DataStorageType)0, (mozilla::DataStorageType)3>::IsLessThanOrEqual<mozilla::DataStorageType>(mozilla::DataStorageType, mozilla::DataStorageType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::hal::ProcessPriority, (mozilla::hal::ProcessPriority)-1, (mozilla::hal::ProcessPriority)7>::IsLessThanOrEqual<mozilla::hal::ProcessPriority>(mozilla::hal::ProcessPriority, mozilla::hal::ProcessPriority)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsType, (mozilla::dom::RTCStatsType)0, (mozilla::dom::RTCStatsType)9>::IsLessThanOrEqual<mozilla::dom::RTCStatsType>(mozilla::dom::RTCStatsType, mozilla::dom::RTCStatsType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidatePairState, (mozilla::dom::RTCStatsIceCandidatePairState)0, (mozilla::dom::RTCStatsIceCandidatePairState)6>::IsLessThanOrEqual<mozilla::dom::RTCStatsIceCandidatePairState>(mozilla::dom::RTCStatsIceCandidatePairState, mozilla::dom::RTCStatsIceCandidatePairState)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidateType, (mozilla::dom::RTCStatsIceCandidateType)0, (mozilla::dom::RTCStatsIceCandidateType)4>::IsLessThanOrEqual<mozilla::dom::RTCStatsIceCandidateType>(mozilla::dom::RTCStatsIceCandidateType, mozilla::dom::RTCStatsIceCandidateType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::gfx::VRDeviceType, (mozilla::gfx::VRDeviceType)0, (mozilla::gfx::VRDeviceType)6>::IsLessThanOrEqual<mozilla::gfx::VRDeviceType>(mozilla::gfx::VRDeviceType, mozilla::gfx::VRDeviceType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::hal::SensorType, (mozilla::hal::SensorType)0, (mozilla::hal::SensorType)8>::IsLessThanOrEqual<mozilla::hal::SensorType>(mozilla::hal::SensorType, mozilla::hal::SensorType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::hal::WakeLockControl, (mozilla::hal::WakeLockControl)-1, (mozilla::hal::WakeLockControl)2>::IsLessThanOrEqual<mozilla::hal::WakeLockControl>(mozilla::hal::WakeLockControl, mozilla::hal::WakeLockControl)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::MediaSystemResourceType, (mozilla::MediaSystemResourceType)0, (mozilla::MediaSystemResourceType)5>::IsLessThanOrEqual<mozilla::MediaSystemResourceType>(mozilla::MediaSystemResourceType, mozilla::MediaSystemResourceType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<NPNVariable, (NPNVariable)1, (NPNVariable)4001>::IsLessThanOrEqual<NPNVariable>(NPNVariable, NPNVariable)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<gfxSurfaceType, (gfxSurfaceType)0, (gfxSurfaceType)24>::IsLessThanOrEqual<gfxSurfaceType>(gfxSurfaceType, gfxSurfaceType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<JS::AsmJSCacheResult, (JS::AsmJSCacheResult)0, (JS::AsmJSCacheResult)10>::IsLessThanOrEqual<JS::AsmJSCacheResult>(JS::AsmJSCacheResult, JS::AsmJSCacheResult)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::asmjscache::OpenMode, (mozilla::dom::asmjscache::OpenMode)0, (mozilla::dom::asmjscache::OpenMode)2>::IsLessThanOrEqual<mozilla::dom::asmjscache::OpenMode>(mozilla::dom::asmjscache::OpenMode, mozilla::dom::asmjscache::OpenMode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::quota::PersistenceType, (mozilla::dom::quota::PersistenceType)0, (mozilla::dom::quota::PersistenceType)3>::IsLessThanOrEqual<mozilla::dom::quota::PersistenceType>(mozilla::dom::quota::PersistenceType, mozilla::dom::quota::PersistenceType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<UIStateChangeType, (UIStateChangeType)0, (UIStateChangeType)3>::IsLessThanOrEqual<UIStateChangeType>(UIStateChangeType, UIStateChangeType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::IDBTransaction::Mode, (mozilla::dom::IDBTransaction::Mode)0, (mozilla::dom::IDBTransaction::Mode)5>::IsLessThanOrEqual<mozilla::dom::IDBTransaction::Mode>(mozilla::dom::IDBTransaction::Mode, mozilla::dom::IDBTransaction::Mode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::wr::ImageRendering, (mozilla::wr::ImageRendering)0, (mozilla::wr::ImageRendering)3>::IsLessThanOrEqual<mozilla::wr::ImageRendering>(mozilla::wr::ImageRendering, mozilla::wr::ImageRendering)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::wr::MixBlendMode, (mozilla::wr::MixBlendMode)0, (mozilla::wr::MixBlendMode)16>::IsLessThanOrEqual<mozilla::wr::MixBlendMode>(mozilla::wr::MixBlendMode, mozilla::wr::MixBlendMode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::StructuredCloneFile::FileType, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)0, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)5>::IsLessThanOrEqual<mozilla::dom::indexedDB::StructuredCloneFile::FileType>(mozilla::dom::indexedDB::StructuredCloneFile::FileType, mozilla::dom::indexedDB::StructuredCloneFile::FileType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::IDBCursor::Direction, (mozilla::dom::IDBCursor::Direction)0, (mozilla::dom::IDBCursor::Direction)4>::IsLessThanOrEqual<mozilla::dom::IDBCursor::Direction>(mozilla::dom::IDBCursor::Direction, mozilla::dom::IDBCursor::Direction)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::FileMode, (mozilla::dom::FileMode)0, (mozilla::dom::FileMode)2>::IsLessThanOrEqual<mozilla::dom::FileMode>(mozilla::dom::FileMode, mozilla::dom::FileMode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<nsCursor, (nsCursor)0, (nsCursor)35>::IsLessThanOrEqual<nsCursor>(nsCursor, nsCursor)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<nsSizeMode, (nsSizeMode)0, (nsSizeMode)4>::IsLessThanOrEqual<nsSizeMode>(nsSizeMode, nsSizeMode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::camera::CaptureEngine, (mozilla::camera::CaptureEngine)0, (mozilla::camera::CaptureEngine)6>::IsLessThanOrEqual<mozilla::camera::CaptureEngine>(mozilla::camera::CaptureEngine, mozilla::camera::CaptureEngine)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::wr::WebRenderError, (mozilla::wr::WebRenderError)0, (mozilla::wr::WebRenderError)3>::IsLessThanOrEqual<mozilla::wr::WebRenderError>(mozilla::wr::WebRenderError, mozilla::wr::WebRenderError)
Unexecuted instantiation: bool IPC::ContiguousEnumValidator<mozilla::dom::ErrNum, (mozilla::dom::ErrNum)0, (mozilla::dom::ErrNum)92>::IsLessThanOrEqual<mozilla::dom::ErrNum>(mozilla::dom::ErrNum, mozilla::dom::ErrNum)
165
166
public:
167
  static bool IsLegalValue(E e)
168
0
  {
169
0
    return IsLessThanOrEqual(MinLegal, e) && e < HighBound;
170
0
  }
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::wr::ImageFormat, (mozilla::wr::ImageFormat)1, (mozilla::wr::ImageFormat)7>::IsLegalValue(mozilla::wr::ImageFormat)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::gfx::LightType, (mozilla::gfx::LightType)0, (mozilla::gfx::LightType)4>::IsLegalValue(mozilla::gfx::LightType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::gfx::ColorSpace, (mozilla::gfx::ColorSpace)0, (mozilla::gfx::ColorSpace)2>::IsLegalValue(mozilla::gfx::ColorSpace)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::EventMessage, (mozilla::EventMessage)0, (mozilla::EventMessage)244>::IsLegalValue(mozilla::EventMessage)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::widget::IMEState::Enabled, (mozilla::widget::IMEState::Enabled)0, (mozilla::widget::IMEState::Enabled)4>::IsLegalValue(mozilla::widget::IMEState::Enabled)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::WheelDeltaAdjustmentStrategy, (mozilla::WheelDeltaAdjustmentStrategy)0, (mozilla::WheelDeltaAdjustmentStrategy)4>::IsLegalValue(mozilla::WheelDeltaAdjustmentStrategy)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::KeyboardInput::KeyboardEventType, (mozilla::KeyboardInput::KeyboardEventType)0, (mozilla::KeyboardInput::KeyboardEventType)4>::IsLegalValue(mozilla::KeyboardInput::KeyboardEventType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::layers::CompositableType, (mozilla::layers::CompositableType)0, (mozilla::layers::CompositableType)6>::IsLegalValue(mozilla::layers::CompositableType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::StereoMode, (mozilla::StereoMode)0, (mozilla::StereoMode)5>::IsLegalValue(mozilla::StereoMode)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::KeyPath::KeyPathType, (mozilla::dom::indexedDB::KeyPath::KeyPathType)0, (mozilla::dom::indexedDB::KeyPath::KeyPathType)3>::IsLegalValue(mozilla::dom::indexedDB::KeyPath::KeyPathType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::ScreenRotation, (mozilla::ScreenRotation)0, (mozilla::ScreenRotation)4>::IsLegalValue(mozilla::ScreenRotation)
Unexecuted instantiation: IPC::ContiguousEnumValidator<nsCSSPropertyID, (nsCSSPropertyID)-1, (nsCSSPropertyID)378>::IsLegalValue(nsCSSPropertyID)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::gfx::SamplingFilter, (mozilla::gfx::SamplingFilter)0, (mozilla::gfx::SamplingFilter)3>::IsLegalValue(mozilla::gfx::SamplingFilter)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::YUVColorSpace, (mozilla::YUVColorSpace)0, (mozilla::YUVColorSpace)2>::IsLegalValue(mozilla::YUVColorSpace)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)0, (mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)12>::IsLegalValue(mozilla::Telemetry::LABELS_DOCUMENT_ANALYTICS_TRACKER_FASTBLOCKED)
Unexecuted instantiation: IPC::ContiguousEnumValidator<nsEventStatus, (nsEventStatus)0, (nsEventStatus)3>::IsLegalValue(nsEventStatus)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::ipc::ResponseRejectReason, (mozilla::ipc::ResponseRejectReason)0, (mozilla::ipc::ResponseRejectReason)4>::IsLegalValue(mozilla::ipc::ResponseRejectReason)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::DataStorageType, (mozilla::DataStorageType)0, (mozilla::DataStorageType)3>::IsLegalValue(mozilla::DataStorageType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::hal::ProcessPriority, (mozilla::hal::ProcessPriority)-1, (mozilla::hal::ProcessPriority)7>::IsLegalValue(mozilla::hal::ProcessPriority)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsType, (mozilla::dom::RTCStatsType)0, (mozilla::dom::RTCStatsType)9>::IsLegalValue(mozilla::dom::RTCStatsType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidatePairState, (mozilla::dom::RTCStatsIceCandidatePairState)0, (mozilla::dom::RTCStatsIceCandidatePairState)6>::IsLegalValue(mozilla::dom::RTCStatsIceCandidatePairState)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::RTCStatsIceCandidateType, (mozilla::dom::RTCStatsIceCandidateType)0, (mozilla::dom::RTCStatsIceCandidateType)4>::IsLegalValue(mozilla::dom::RTCStatsIceCandidateType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::gfx::VRDeviceType, (mozilla::gfx::VRDeviceType)0, (mozilla::gfx::VRDeviceType)6>::IsLegalValue(mozilla::gfx::VRDeviceType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::hal::SensorType, (mozilla::hal::SensorType)0, (mozilla::hal::SensorType)8>::IsLegalValue(mozilla::hal::SensorType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::hal::WakeLockControl, (mozilla::hal::WakeLockControl)-1, (mozilla::hal::WakeLockControl)2>::IsLegalValue(mozilla::hal::WakeLockControl)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::MediaSystemResourceType, (mozilla::MediaSystemResourceType)0, (mozilla::MediaSystemResourceType)5>::IsLegalValue(mozilla::MediaSystemResourceType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<NPNVariable, (NPNVariable)1, (NPNVariable)4001>::IsLegalValue(NPNVariable)
Unexecuted instantiation: IPC::ContiguousEnumValidator<gfxSurfaceType, (gfxSurfaceType)0, (gfxSurfaceType)24>::IsLegalValue(gfxSurfaceType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<JS::AsmJSCacheResult, (JS::AsmJSCacheResult)0, (JS::AsmJSCacheResult)10>::IsLegalValue(JS::AsmJSCacheResult)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::asmjscache::OpenMode, (mozilla::dom::asmjscache::OpenMode)0, (mozilla::dom::asmjscache::OpenMode)2>::IsLegalValue(mozilla::dom::asmjscache::OpenMode)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::quota::PersistenceType, (mozilla::dom::quota::PersistenceType)0, (mozilla::dom::quota::PersistenceType)3>::IsLegalValue(mozilla::dom::quota::PersistenceType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<UIStateChangeType, (UIStateChangeType)0, (UIStateChangeType)3>::IsLegalValue(UIStateChangeType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::IDBTransaction::Mode, (mozilla::dom::IDBTransaction::Mode)0, (mozilla::dom::IDBTransaction::Mode)5>::IsLegalValue(mozilla::dom::IDBTransaction::Mode)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::wr::ImageRendering, (mozilla::wr::ImageRendering)0, (mozilla::wr::ImageRendering)3>::IsLegalValue(mozilla::wr::ImageRendering)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::wr::MixBlendMode, (mozilla::wr::MixBlendMode)0, (mozilla::wr::MixBlendMode)16>::IsLegalValue(mozilla::wr::MixBlendMode)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::indexedDB::StructuredCloneFile::FileType, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)0, (mozilla::dom::indexedDB::StructuredCloneFile::FileType)5>::IsLegalValue(mozilla::dom::indexedDB::StructuredCloneFile::FileType)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::IDBCursor::Direction, (mozilla::dom::IDBCursor::Direction)0, (mozilla::dom::IDBCursor::Direction)4>::IsLegalValue(mozilla::dom::IDBCursor::Direction)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::FileMode, (mozilla::dom::FileMode)0, (mozilla::dom::FileMode)2>::IsLegalValue(mozilla::dom::FileMode)
Unexecuted instantiation: IPC::ContiguousEnumValidator<nsCursor, (nsCursor)0, (nsCursor)35>::IsLegalValue(nsCursor)
Unexecuted instantiation: IPC::ContiguousEnumValidator<nsSizeMode, (nsSizeMode)0, (nsSizeMode)4>::IsLegalValue(nsSizeMode)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::camera::CaptureEngine, (mozilla::camera::CaptureEngine)0, (mozilla::camera::CaptureEngine)6>::IsLegalValue(mozilla::camera::CaptureEngine)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::wr::WebRenderError, (mozilla::wr::WebRenderError)0, (mozilla::wr::WebRenderError)3>::IsLegalValue(mozilla::wr::WebRenderError)
Unexecuted instantiation: IPC::ContiguousEnumValidator<mozilla::dom::ErrNum, (mozilla::dom::ErrNum)0, (mozilla::dom::ErrNum)92>::IsLegalValue(mozilla::dom::ErrNum)
171
};
172
173
template <typename E,
174
          E MinLegal,
175
          E MaxLegal>
176
class ContiguousEnumValidatorInclusive
177
{
178
  // Silence overzealous -Wtype-limits bug in GCC fixed in GCC 4.8:
179
  // "comparison of unsigned expression >= 0 is always true"
180
  // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11856
181
  template <typename T>
182
0
  static bool IsLessThanOrEqual(T a, T b) { return a <= b; }
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::widget::IMEState::Open, (mozilla::widget::IMEState::Open)0, (mozilla::widget::IMEState::Open)2>::IsLessThanOrEqual<mozilla::widget::IMEState::Open>(mozilla::widget::IMEState::Open, mozilla::widget::IMEState::Open)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContext::Origin, (mozilla::widget::InputContext::Origin)0, (mozilla::widget::InputContext::Origin)1>::IsLessThanOrEqual<mozilla::widget::InputContext::Origin>(mozilla::widget::InputContext::Origin, mozilla::widget::InputContext::Origin)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::Cause, (mozilla::widget::InputContextAction::Cause)0, (mozilla::widget::InputContextAction::Cause)6>::IsLessThanOrEqual<mozilla::widget::InputContextAction::Cause>(mozilla::widget::InputContextAction::Cause, mozilla::widget::InputContextAction::Cause)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::FocusChange, (mozilla::widget::InputContextAction::FocusChange)0, (mozilla::widget::InputContextAction::FocusChange)5>::IsLessThanOrEqual<mozilla::widget::InputContextAction::FocusChange>(mozilla::widget::InputContextAction::FocusChange, mozilla::widget::InputContextAction::FocusChange)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::InputType, (mozilla::InputType)0, (mozilla::InputType)6>::IsLessThanOrEqual<mozilla::InputType>(mozilla::InputType, mozilla::InputType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::MultiTouchInput::MultiTouchType, (mozilla::MultiTouchInput::MultiTouchType)0, (mozilla::MultiTouchInput::MultiTouchType)3>::IsLessThanOrEqual<mozilla::MultiTouchInput::MultiTouchType>(mozilla::MultiTouchInput::MultiTouchType, mozilla::MultiTouchInput::MultiTouchType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::ButtonType, (mozilla::MouseInput::ButtonType)0, (mozilla::MouseInput::ButtonType)3>::IsLessThanOrEqual<mozilla::MouseInput::ButtonType>(mozilla::MouseInput::ButtonType, mozilla::MouseInput::ButtonType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::MouseType, (mozilla::MouseInput::MouseType)0, (mozilla::MouseInput::MouseType)8>::IsLessThanOrEqual<mozilla::MouseInput::MouseType>(mozilla::MouseInput::MouseType, mozilla::MouseInput::MouseType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::PanGestureInput::PanGestureType, (mozilla::PanGestureInput::PanGestureType)0, (mozilla::PanGestureInput::PanGestureType)7>::IsLessThanOrEqual<mozilla::PanGestureInput::PanGestureType>(mozilla::PanGestureInput::PanGestureType, mozilla::PanGestureInput::PanGestureType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::PinchGestureInput::PinchGestureType, (mozilla::PinchGestureInput::PinchGestureType)0, (mozilla::PinchGestureInput::PinchGestureType)2>::IsLessThanOrEqual<mozilla::PinchGestureInput::PinchGestureType>(mozilla::PinchGestureInput::PinchGestureType, mozilla::PinchGestureInput::PinchGestureType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::TapGestureInput::TapGestureType, (mozilla::TapGestureInput::TapGestureType)0, (mozilla::TapGestureInput::TapGestureType)6>::IsLessThanOrEqual<mozilla::TapGestureInput::TapGestureType>(mozilla::TapGestureInput::TapGestureType, mozilla::TapGestureInput::TapGestureType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollDeltaType, (mozilla::ScrollWheelInput::ScrollDeltaType)0, (mozilla::ScrollWheelInput::ScrollDeltaType)2>::IsLessThanOrEqual<mozilla::ScrollWheelInput::ScrollDeltaType>(mozilla::ScrollWheelInput::ScrollDeltaType, mozilla::ScrollWheelInput::ScrollDeltaType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollMode, (mozilla::ScrollWheelInput::ScrollMode)0, (mozilla::ScrollWheelInput::ScrollMode)1>::IsLessThanOrEqual<mozilla::ScrollWheelInput::ScrollMode>(mozilla::ScrollWheelInput::ScrollMode, mozilla::ScrollWheelInput::ScrollMode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::layers::FrameMetrics::ScrollOffsetUpdateType, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)0, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)4>::IsLessThanOrEqual<mozilla::layers::FrameMetrics::ScrollOffsetUpdateType>(mozilla::layers::FrameMetrics::ScrollOffsetUpdateType, mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::layers::OverscrollBehavior, (mozilla::layers::OverscrollBehavior)0, (mozilla::layers::OverscrollBehavior)2>::IsLessThanOrEqual<mozilla::layers::OverscrollBehavior>(mozilla::layers::OverscrollBehavior, mozilla::layers::OverscrollBehavior)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScrollDirection, (mozilla::layers::ScrollDirection)0, (mozilla::layers::ScrollDirection)1>::IsLessThanOrEqual<mozilla::layers::ScrollDirection>(mozilla::layers::ScrollDirection, mozilla::layers::ScrollDirection)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)0, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)3>::IsLessThanOrEqual<mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType>(mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType, mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScaleMode, (mozilla::layers::ScaleMode)0, (mozilla::layers::ScaleMode)1>::IsLessThanOrEqual<mozilla::layers::ScaleMode>(mozilla::layers::ScaleMode, mozilla::layers::ScaleMode)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::TapType, (mozilla::layers::GeckoContentController::TapType)0, (mozilla::layers::GeckoContentController::TapType)4>::IsLessThanOrEqual<mozilla::layers::GeckoContentController::TapType>(mozilla::layers::GeckoContentController::TapType, mozilla::layers::GeckoContentController::TapType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::APZStateChange, (mozilla::layers::GeckoContentController::APZStateChange)0, (mozilla::layers::GeckoContentController::APZStateChange)4>::IsLessThanOrEqual<mozilla::layers::GeckoContentController::APZStateChange>(mozilla::layers::GeckoContentController::APZStateChange, mozilla::layers::GeckoContentController::APZStateChange)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<mozilla::a11y::roles::Role, (mozilla::a11y::roles::Role)0, (mozilla::a11y::roles::Role)177>::IsLessThanOrEqual<mozilla::a11y::roles::Role>(mozilla::a11y::roles::Role, mozilla::a11y::roles::Role)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<NPWindowType, (NPWindowType)1, (NPWindowType)2>::IsLessThanOrEqual<NPWindowType>(NPWindowType, NPWindowType)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<NPNURLVariable, (NPNURLVariable)502, (NPNURLVariable)502>::IsLessThanOrEqual<NPNURLVariable>(NPNURLVariable, NPNURLVariable)
Unexecuted instantiation: bool IPC::ContiguousEnumValidatorInclusive<NPCoordinateSpace, (NPCoordinateSpace)1, (NPCoordinateSpace)5>::IsLessThanOrEqual<NPCoordinateSpace>(NPCoordinateSpace, NPCoordinateSpace)
183
184
public:
185
  static bool IsLegalValue(E e)
186
0
  {
187
0
    return IsLessThanOrEqual(MinLegal, e) && e <= MaxLegal;
188
0
  }
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::widget::IMEState::Open, (mozilla::widget::IMEState::Open)0, (mozilla::widget::IMEState::Open)2>::IsLegalValue(mozilla::widget::IMEState::Open)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContext::Origin, (mozilla::widget::InputContext::Origin)0, (mozilla::widget::InputContext::Origin)1>::IsLegalValue(mozilla::widget::InputContext::Origin)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::Cause, (mozilla::widget::InputContextAction::Cause)0, (mozilla::widget::InputContextAction::Cause)6>::IsLegalValue(mozilla::widget::InputContextAction::Cause)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::widget::InputContextAction::FocusChange, (mozilla::widget::InputContextAction::FocusChange)0, (mozilla::widget::InputContextAction::FocusChange)5>::IsLegalValue(mozilla::widget::InputContextAction::FocusChange)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::InputType, (mozilla::InputType)0, (mozilla::InputType)6>::IsLegalValue(mozilla::InputType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::MultiTouchInput::MultiTouchType, (mozilla::MultiTouchInput::MultiTouchType)0, (mozilla::MultiTouchInput::MultiTouchType)3>::IsLegalValue(mozilla::MultiTouchInput::MultiTouchType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::ButtonType, (mozilla::MouseInput::ButtonType)0, (mozilla::MouseInput::ButtonType)3>::IsLegalValue(mozilla::MouseInput::ButtonType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::MouseInput::MouseType, (mozilla::MouseInput::MouseType)0, (mozilla::MouseInput::MouseType)8>::IsLegalValue(mozilla::MouseInput::MouseType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::PanGestureInput::PanGestureType, (mozilla::PanGestureInput::PanGestureType)0, (mozilla::PanGestureInput::PanGestureType)7>::IsLegalValue(mozilla::PanGestureInput::PanGestureType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::PinchGestureInput::PinchGestureType, (mozilla::PinchGestureInput::PinchGestureType)0, (mozilla::PinchGestureInput::PinchGestureType)2>::IsLegalValue(mozilla::PinchGestureInput::PinchGestureType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::TapGestureInput::TapGestureType, (mozilla::TapGestureInput::TapGestureType)0, (mozilla::TapGestureInput::TapGestureType)6>::IsLegalValue(mozilla::TapGestureInput::TapGestureType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollDeltaType, (mozilla::ScrollWheelInput::ScrollDeltaType)0, (mozilla::ScrollWheelInput::ScrollDeltaType)2>::IsLegalValue(mozilla::ScrollWheelInput::ScrollDeltaType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::ScrollWheelInput::ScrollMode, (mozilla::ScrollWheelInput::ScrollMode)0, (mozilla::ScrollWheelInput::ScrollMode)1>::IsLegalValue(mozilla::ScrollWheelInput::ScrollMode)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::layers::FrameMetrics::ScrollOffsetUpdateType, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)0, (mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)4>::IsLegalValue(mozilla::layers::FrameMetrics::ScrollOffsetUpdateType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::layers::OverscrollBehavior, (mozilla::layers::OverscrollBehavior)0, (mozilla::layers::OverscrollBehavior)2>::IsLegalValue(mozilla::layers::OverscrollBehavior)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScrollDirection, (mozilla::layers::ScrollDirection)0, (mozilla::layers::ScrollDirection)1>::IsLegalValue(mozilla::layers::ScrollDirection)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)0, (mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)3>::IsLegalValue(mozilla::layers::KeyboardScrollAction::KeyboardScrollActionType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::layers::ScaleMode, (mozilla::layers::ScaleMode)0, (mozilla::layers::ScaleMode)1>::IsLegalValue(mozilla::layers::ScaleMode)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::TapType, (mozilla::layers::GeckoContentController::TapType)0, (mozilla::layers::GeckoContentController::TapType)4>::IsLegalValue(mozilla::layers::GeckoContentController::TapType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::layers::GeckoContentController::APZStateChange, (mozilla::layers::GeckoContentController::APZStateChange)0, (mozilla::layers::GeckoContentController::APZStateChange)4>::IsLegalValue(mozilla::layers::GeckoContentController::APZStateChange)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<mozilla::a11y::roles::Role, (mozilla::a11y::roles::Role)0, (mozilla::a11y::roles::Role)177>::IsLegalValue(mozilla::a11y::roles::Role)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<NPWindowType, (NPWindowType)1, (NPWindowType)2>::IsLegalValue(NPWindowType)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<NPNURLVariable, (NPNURLVariable)502, (NPNURLVariable)502>::IsLegalValue(NPNURLVariable)
Unexecuted instantiation: IPC::ContiguousEnumValidatorInclusive<NPCoordinateSpace, (NPCoordinateSpace)1, (NPCoordinateSpace)5>::IsLegalValue(NPCoordinateSpace)
189
};
190
191
template <typename E,
192
          E AllBits>
193
struct BitFlagsEnumValidator
194
{
195
  static bool IsLegalValue(E e)
196
0
  {
197
0
    return (e & AllBits) == e;
198
0
  }
Unexecuted instantiation: IPC::BitFlagsEnumValidator<mozilla::layers::TextureFlags, (mozilla::layers::TextureFlags)131071>::IsLegalValue(mozilla::layers::TextureFlags)
Unexecuted instantiation: IPC::BitFlagsEnumValidator<mozilla::gfx::CompositorHitTestInfo, (mozilla::gfx::CompositorHitTestInfo)1023>::IsLegalValue(mozilla::gfx::CompositorHitTestInfo)
Unexecuted instantiation: IPC::BitFlagsEnumValidator<mozilla::layers::EventRegionsOverride, (mozilla::layers::EventRegionsOverride)3>::IsLegalValue(mozilla::layers::EventRegionsOverride)
Unexecuted instantiation: IPC::BitFlagsEnumValidator<mozilla::layers::DiagnosticTypes, (mozilla::layers::DiagnosticTypes)15>::IsLegalValue(mozilla::layers::DiagnosticTypes)
Unexecuted instantiation: IPC::BitFlagsEnumValidator<mozilla::gfx::VRDisplayCapabilityFlags, (mozilla::gfx::VRDisplayCapabilityFlags)511>::IsLegalValue(mozilla::gfx::VRDisplayCapabilityFlags)
Unexecuted instantiation: IPC::BitFlagsEnumValidator<nsIWidget::TouchPointerState, (nsIWidget::TouchPointerState)15>::IsLegalValue(nsIWidget::TouchPointerState)
199
};
200
201
/**
202
 * Specialization of EnumSerializer for enums with contiguous enum values.
203
 *
204
 * Provide two values: MinLegal, HighBound. An enum value x will be
205
 * considered legal if MinLegal <= x < HighBound.
206
 *
207
 * For example, following is definition of serializer for enum type FOO.
208
 * \code
209
 * enum FOO { FOO_FIRST, FOO_SECOND, FOO_LAST, NUM_FOO };
210
 *
211
 * template <>
212
 * struct ParamTraits<FOO>:
213
 *     public ContiguousEnumSerializer<FOO, FOO_FIRST, NUM_FOO> {};
214
 * \endcode
215
 * FOO_FIRST, FOO_SECOND, and FOO_LAST are valid value.
216
 */
217
template <typename E,
218
          E MinLegal,
219
          E HighBound>
220
struct ContiguousEnumSerializer
221
  : EnumSerializer<E,
222
                   ContiguousEnumValidator<E, MinLegal, HighBound>>
223
{};
224
225
/**
226
 * This is similar to ContiguousEnumSerializer, but the last template
227
 * parameter is expected to be the highest legal value, rather than a
228
 * sentinel value. This is intended to support enumerations that don't
229
 * have sentinel values.
230
 */
231
template <typename E,
232
          E MinLegal,
233
          E MaxLegal>
234
struct ContiguousEnumSerializerInclusive
235
  : EnumSerializer<E,
236
                   ContiguousEnumValidatorInclusive<E, MinLegal, MaxLegal>>
237
{};
238
239
/**
240
 * Specialization of EnumSerializer for enums representing bit flags.
241
 *
242
 * Provide one value: AllBits. An enum value x will be
243
 * considered legal if (x & AllBits) == x;
244
 *
245
 * Example:
246
 * \code
247
 * enum FOO {
248
 *   FOO_FIRST =  1 << 0,
249
 *   FOO_SECOND = 1 << 1,
250
 *   FOO_LAST =   1 << 2,
251
 *   ALL_BITS =   (1 << 3) - 1
252
 * };
253
 *
254
 * template <>
255
 * struct ParamTraits<FOO>:
256
 *     public BitFlagsEnumSerializer<FOO, FOO::ALL_BITS> {};
257
 * \endcode
258
 */
259
template <typename E,
260
          E AllBits>
261
struct BitFlagsEnumSerializer
262
  : EnumSerializer<E,
263
                   BitFlagsEnumValidator<E, AllBits>>
264
{};
265
266
/**
267
 * A helper class for serializing plain-old data (POD) structures.
268
 * The memory representation of the structure is written to and read from
269
 * the serialized stream directly, without individual processing of the
270
 * structure's members.
271
 *
272
 * Derive ParamTraits<T> from PlainOldDataSerializer<T> if T is POD.
273
 *
274
 * Note: For POD structures with enumeration fields, this will not do
275
 *   validation of the enum values the way serializing the fields
276
 *   individually would. Prefer serializing the fields individually
277
 *   in such cases.
278
 */
279
template <typename T>
280
struct PlainOldDataSerializer
281
{
282
  // TODO: Once the mozilla::IsPod trait is in good enough shape (bug 900042),
283
  //       static_assert that mozilla::IsPod<T>::value is true.
284
  typedef T paramType;
285
286
0
  static void Write(Message* aMsg, const paramType& aParam) {
287
0
    aMsg->WriteBytes(&aParam, sizeof(aParam));
288
0
  }
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::SimpleLayerAttributes>::Write(IPC::Message*, mozilla::layers::SimpleLayerAttributes const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::TransactionId>::Write(IPC::Message*, mozilla::layers::TransactionId const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::WrExternalImageId>::Write(IPC::Message*, mozilla::wr::WrExternalImageId const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::MemoryReport>::Write(IPC::Message*, mozilla::wr::MemoryReport const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::Telemetry::DiscardedData>::Write(IPC::Message*, mozilla::Telemetry::DiscardedData const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::LayersObserverEpoch>::Write(IPC::Message*, mozilla::layers::LayersObserverEpoch const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::TypedSize2D<float, mozilla::wr::LayoutPixel> >::Write(IPC::Message*, mozilla::wr::TypedSize2D<float, mozilla::wr::LayoutPixel> const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::BuiltDisplayListDescriptor>::Write(IPC::Message*, mozilla::wr::BuiltDisplayListDescriptor const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::ScrollbarData>::Write(IPC::Message*, mozilla::layers::ScrollbarData const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::IdNamespace>::Write(IPC::Message*, mozilla::wr::IdNamespace const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::ScrollUpdateInfo>::Write(IPC::Message*, mozilla::layers::ScrollUpdateInfo const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::ImageKey>::Write(IPC::Message*, mozilla::wr::ImageKey const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::PipelineId>::Write(IPC::Message*, mozilla::wr::PipelineId const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontKey>::Write(IPC::Message*, mozilla::wr::FontKey const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontInstanceOptions>::Write(IPC::Message*, mozilla::wr::FontInstanceOptions const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontInstancePlatformOptions>::Write(IPC::Message*, mozilla::wr::FontInstancePlatformOptions const&)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontInstanceKey>::Write(IPC::Message*, mozilla::wr::FontInstanceKey const&)
289
290
0
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) {
291
0
    return aMsg->ReadBytesInto(aIter, aResult, sizeof(paramType));
292
0
  }
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::SimpleLayerAttributes>::Read(IPC::Message const*, PickleIterator*, mozilla::layers::SimpleLayerAttributes*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::TransactionId>::Read(IPC::Message const*, PickleIterator*, mozilla::layers::TransactionId*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::MemoryReport>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::MemoryReport*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::WrExternalImageId>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::WrExternalImageId*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::Telemetry::DiscardedData>::Read(IPC::Message const*, PickleIterator*, mozilla::Telemetry::DiscardedData*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::LayersObserverEpoch>::Read(IPC::Message const*, PickleIterator*, mozilla::layers::LayersObserverEpoch*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::IdNamespace>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::IdNamespace*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::TypedSize2D<float, mozilla::wr::LayoutPixel> >::Read(IPC::Message const*, PickleIterator*, mozilla::wr::TypedSize2D<float, mozilla::wr::LayoutPixel>*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::BuiltDisplayListDescriptor>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::BuiltDisplayListDescriptor*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::ScrollbarData>::Read(IPC::Message const*, PickleIterator*, mozilla::layers::ScrollbarData*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::layers::ScrollUpdateInfo>::Read(IPC::Message const*, PickleIterator*, mozilla::layers::ScrollUpdateInfo*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::ImageKey>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::ImageKey*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::PipelineId>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::PipelineId*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontKey>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::FontKey*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontInstanceOptions>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::FontInstanceOptions*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontInstancePlatformOptions>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::FontInstancePlatformOptions*)
Unexecuted instantiation: IPC::PlainOldDataSerializer<mozilla::wr::FontInstanceKey>::Read(IPC::Message const*, PickleIterator*, mozilla::wr::FontInstanceKey*)
293
};
294
295
/**
296
 * A helper class for serializing empty structs. Since the struct is empty there
297
 * is nothing to write, and a priori we know the result of the read.
298
 */
299
template <typename T>
300
struct EmptyStructSerializer
301
{
302
  typedef T paramType;
303
304
0
  static void Write(Message* aMsg, const paramType& aParam) {}
305
306
0
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) {
307
0
    *aResult = {};
308
0
    return true;
309
0
  }
310
};
311
312
template<>
313
struct ParamTraits<int8_t>
314
{
315
  typedef int8_t paramType;
316
317
  static void Write(Message* aMsg, const paramType& aParam)
318
0
  {
319
0
    aMsg->WriteBytes(&aParam, sizeof(aParam));
320
0
  }
321
322
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
323
0
  {
324
0
    return aMsg->ReadBytesInto(aIter, aResult, sizeof(*aResult));
325
0
  }
326
327
  static void Log(const paramType& aParam, std::wstring* aLog)
328
0
  {
329
0
    // Use 0xff to avoid sign extension.
330
0
    aLog->append(StringPrintf(L"0x%02x", aParam & 0xff));
331
0
  }
332
};
333
334
template<>
335
struct ParamTraits<uint8_t>
336
{
337
  typedef uint8_t paramType;
338
339
  static void Write(Message* aMsg, const paramType& aParam)
340
0
  {
341
0
    aMsg->WriteBytes(&aParam, sizeof(aParam));
342
0
  }
343
344
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
345
0
  {
346
0
    return aMsg->ReadBytesInto(aIter, aResult, sizeof(*aResult));
347
0
  }
348
349
  static void Log(const paramType& aParam, std::wstring* aLog)
350
0
  {
351
0
    aLog->append(StringPrintf(L"0x%02x", aParam));
352
0
  }
353
};
354
355
#if !defined(OS_POSIX)
356
// See above re: keeping definitions in sync
357
template<>
358
struct ParamTraits<base::FileDescriptor>
359
{
360
  typedef base::FileDescriptor paramType;
361
  static void Write(Message* aMsg, const paramType& aParam) {
362
    MOZ_CRASH("FileDescriptor isn't meaningful on this platform");
363
  }
364
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) {
365
    MOZ_CRASH("FileDescriptor isn't meaningful on this platform");
366
    return false;
367
  }
368
};
369
#endif  // !defined(OS_POSIX)
370
371
template <>
372
struct ParamTraits<nsACString>
373
{
374
  typedef nsACString paramType;
375
376
  static void Write(Message* aMsg, const paramType& aParam)
377
0
  {
378
0
    bool isVoid = aParam.IsVoid();
379
0
    aMsg->WriteBool(isVoid);
380
0
381
0
    if (isVoid)
382
0
      // represents a nullptr pointer
383
0
      return;
384
0
385
0
    uint32_t length = aParam.Length();
386
0
    WriteParam(aMsg, length);
387
0
    aMsg->WriteBytes(aParam.BeginReading(), length);
388
0
  }
389
390
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
391
0
  {
392
0
    bool isVoid;
393
0
    if (!aMsg->ReadBool(aIter, &isVoid))
394
0
      return false;
395
0
396
0
    if (isVoid) {
397
0
      aResult->SetIsVoid(true);
398
0
      return true;
399
0
    }
400
0
401
0
    uint32_t length;
402
0
    if (!ReadParam(aMsg, aIter, &length)) {
403
0
      return false;
404
0
    }
405
0
    if (!aMsg->HasBytesAvailable(aIter, length)) {
406
0
      return false;
407
0
    }
408
0
    aResult->SetLength(length);
409
0
410
0
    return aMsg->ReadBytesInto(aIter, aResult->BeginWriting(), length);
411
0
  }
412
413
  static void Log(const paramType& aParam, std::wstring* aLog)
414
0
  {
415
0
    if (aParam.IsVoid())
416
0
      aLog->append(L"(NULL)");
417
0
    else
418
0
      aLog->append(UTF8ToWide(aParam.BeginReading()));
419
0
  }
420
};
421
422
template <>
423
struct ParamTraits<nsAString>
424
{
425
  typedef nsAString paramType;
426
427
  static void Write(Message* aMsg, const paramType& aParam)
428
  {
429
    bool isVoid = aParam.IsVoid();
430
    aMsg->WriteBool(isVoid);
431
432
    if (isVoid)
433
      // represents a nullptr pointer
434
      return;
435
436
    uint32_t length = aParam.Length();
437
    WriteParam(aMsg, length);
438
    aMsg->WriteBytes(aParam.BeginReading(), length * sizeof(char16_t));
439
  }
440
441
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
442
  {
443
    bool isVoid;
444
    if (!aMsg->ReadBool(aIter, &isVoid))
445
      return false;
446
447
    if (isVoid) {
448
      aResult->SetIsVoid(true);
449
      return true;
450
    }
451
452
    uint32_t length;
453
    if (!ReadParam(aMsg, aIter, &length)) {
454
      return false;
455
    }
456
457
    mozilla::CheckedInt<uint32_t> byteLength = mozilla::CheckedInt<uint32_t>(length) * sizeof(char16_t);
458
    if (!byteLength.isValid() || !aMsg->HasBytesAvailable(aIter, byteLength.value())) {
459
      return false;
460
    }
461
462
    aResult->SetLength(length);
463
464
    return aMsg->ReadBytesInto(aIter, aResult->BeginWriting(), byteLength.value());
465
  }
466
467
  static void Log(const paramType& aParam, std::wstring* aLog)
468
0
  {
469
0
    if (aParam.IsVoid())
470
0
      aLog->append(L"(NULL)");
471
0
    else {
472
0
#ifdef WCHAR_T_IS_UTF16
473
0
      aLog->append(reinterpret_cast<const wchar_t*>(aParam.BeginReading()));
474
0
#else
475
0
      uint32_t length = aParam.Length();
476
0
      for (uint32_t index = 0; index < length; index++) {
477
0
        aLog->push_back(std::wstring::value_type(aParam[index]));
478
0
      }
479
0
#endif
480
0
    }
481
0
  }
482
};
483
484
template <>
485
struct ParamTraits<nsCString> : ParamTraits<nsACString>
486
{
487
  typedef nsCString paramType;
488
};
489
490
template <>
491
struct ParamTraits<nsLiteralCString> : ParamTraits<nsACString>
492
{
493
  typedef nsLiteralCString paramType;
494
};
495
496
#ifdef MOZILLA_INTERNAL_API
497
498
template<>
499
struct ParamTraits<nsAutoCString> : ParamTraits<nsCString>
500
{
501
  typedef nsAutoCString paramType;
502
};
503
504
#endif  // MOZILLA_INTERNAL_API
505
506
template <>
507
struct ParamTraits<nsString> : ParamTraits<nsAString>
508
{
509
  typedef nsString paramType;
510
};
511
512
template <>
513
struct ParamTraits<nsLiteralString> : ParamTraits<nsAString>
514
{
515
  typedef nsLiteralString paramType;
516
};
517
518
template <>
519
struct ParamTraits<nsDependentSubstring> : ParamTraits<nsAString>
520
{
521
  typedef nsDependentSubstring paramType;
522
};
523
524
template <>
525
struct ParamTraits<nsDependentCSubstring> : ParamTraits<nsACString>
526
{
527
  typedef nsDependentCSubstring paramType;
528
};
529
530
#ifdef MOZILLA_INTERNAL_API
531
532
template<>
533
struct ParamTraits<nsAutoString> : ParamTraits<nsString>
534
{
535
  typedef nsAutoString paramType;
536
};
537
538
#endif  // MOZILLA_INTERNAL_API
539
540
// Pickle::ReadBytes and ::WriteBytes take the length in ints, so we must
541
// ensure there is no overflow. This returns |false| if it would overflow.
542
// Otherwise, it returns |true| and places the byte length in |aByteLength|.
543
bool ByteLengthIsValid(uint32_t aNumElements, size_t aElementSize, int* aByteLength);
544
545
// Note: IPDL will sometimes codegen specialized implementations of
546
// nsTArray serialization and deserialization code in
547
// implementSpecialArrayPickling(). This is needed when ParamTraits<E>
548
// is not defined.
549
template <typename E>
550
struct ParamTraits<nsTArray<E>>
551
{
552
  typedef nsTArray<E> paramType;
553
554
  // We write arrays of integer or floating-point data using a single pickling
555
  // call, rather than writing each element individually.  We deliberately do
556
  // not use mozilla::IsPod here because it is perfectly reasonable to have
557
  // a data structure T for which IsPod<T>::value is true, yet also have a
558
  // ParamTraits<T> specialization.
559
  static const bool sUseWriteBytes = (mozilla::IsIntegral<E>::value ||
560
                                      mozilla::IsFloatingPoint<E>::value);
561
562
  static void Write(Message* aMsg, const paramType& aParam)
563
0
  {
564
0
    uint32_t length = aParam.Length();
565
0
    WriteParam(aMsg, length);
566
0
567
0
    if (sUseWriteBytes) {
568
0
      int pickledLength = 0;
569
0
      MOZ_RELEASE_ASSERT(ByteLengthIsValid(length, sizeof(E), &pickledLength));
570
0
      aMsg->WriteBytes(aParam.Elements(), pickledLength);
571
0
    } else {
572
0
      const E* elems = aParam.Elements();
573
0
      for (uint32_t index = 0; index < length; index++) {
574
0
        WriteParam(aMsg, elems[index]);
575
0
      }
576
0
    }
577
0
  }
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::Telemetry::EventExtraEntry> >::Write(IPC::Message*, nsTArray<mozilla::Telemetry::EventExtraEntry> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::net::nsHttpHeaderArray::nsEntry> >::Write(IPC::Message*, nsTArray<mozilla::net::nsHttpHeaderArray::nsEntry> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<float> >::Write(IPC::Message*, nsTArray<float> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::gfx::FilterPrimitiveDescription> >::Write(IPC::Message*, nsTArray<mozilla::gfx::FilterPrimitiveDescription> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<unsigned char> >::Write(IPC::Message*, nsTArray<unsigned char> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::AlternativeCharCode> >::Write(IPC::Message*, nsTArray<mozilla::AlternativeCharCode> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<signed char> >::Write(IPC::Message*, nsTArray<signed char> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::FontRange> >::Write(IPC::Message*, nsTArray<mozilla::FontRange> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> > >::Write(IPC::Message*, nsTArray<mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> > const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::SingleTouchData> >::Write(IPC::Message*, nsTArray<mozilla::SingleTouchData> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::ShortcutKeyCandidate> >::Write(IPC::Message*, nsTArray<mozilla::ShortcutKeyCandidate> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<nsPoint> >::Write(IPC::Message*, nsTArray<nsPoint> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::KeyboardShortcut> >::Write(IPC::Message*, nsTArray<mozilla::layers::KeyboardShortcut> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::APZTestData::HitResult> >::Write(IPC::Message*, nsTArray<mozilla::layers::APZTestData::HitResult> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<nsTString<char16_t> > >::Write(IPC::Message*, nsTArray<nsTString<char16_t> > const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCCodecStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCCodecStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCIceCandidatePairStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCIceCandidatePairStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCIceCandidateStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCIceCandidateStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCIceComponentStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCIceComponentStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCInboundRTPStreamStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCInboundRTPStreamStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCMediaStreamStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCMediaStreamStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCMediaStreamTrackStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCMediaStreamTrackStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCOutboundRTPStreamStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCOutboundRTPStreamStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCTransportStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCTransportStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCRTPContributingSourceStats> >::Write(IPC::Message*, nsTArray<mozilla::dom::RTCRTPContributingSourceStats> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::ScrollMetadata> >::Write(IPC::Message*, nsTArray<mozilla::layers::ScrollMetadata> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::WebRenderLayerScrollData> >::Write(IPC::Message*, nsTArray<mozilla::layers::WebRenderLayerScrollData> const&)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<unsigned long> >::Write(IPC::Message*, nsTArray<unsigned long> const&)
578
579
  // This method uses infallible allocation so that an OOM failure will
580
  // show up as an OOM crash rather than an IPC FatalError.
581
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
582
0
  {
583
0
    uint32_t length;
584
0
    if (!ReadParam(aMsg, aIter, &length)) {
585
0
      return false;
586
0
    }
587
0
588
0
    if (sUseWriteBytes) {
589
0
      int pickledLength = 0;
590
0
      if (!ByteLengthIsValid(length, sizeof(E), &pickledLength)) {
591
0
        return false;
592
0
      }
593
0
594
0
      E* elements = aResult->AppendElements(length);
595
0
      return aMsg->ReadBytesInto(aIter, elements, pickledLength);
596
0
    } else {
597
0
598
0
      // Each ReadParam<E> may read more than 1 byte each; this is an attempt
599
0
      // to minimally validate that the length isn't much larger than what's
600
0
      // actually available in aMsg.
601
0
      if (!aMsg->HasBytesAvailable(aIter, length)) {
602
0
        return false;
603
0
      }
604
0
605
0
      aResult->SetCapacity(length);
606
0
607
0
      for (uint32_t index = 0; index < length; index++) {
608
0
        E* element = aResult->AppendElement();
609
0
        if (!ReadParam(aMsg, aIter, element)) {
610
0
          return false;
611
0
        }
612
0
      }
613
0
      return true;
614
0
    }
615
0
  }
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::Telemetry::EventExtraEntry> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::Telemetry::EventExtraEntry>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::net::nsHttpHeaderArray::nsEntry> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::net::nsHttpHeaderArray::nsEntry>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<float> >::Read(IPC::Message const*, PickleIterator*, nsTArray<float>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::gfx::FilterPrimitiveDescription> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::gfx::FilterPrimitiveDescription>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<unsigned char> >::Read(IPC::Message const*, PickleIterator*, nsTArray<unsigned char>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::AlternativeCharCode> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::AlternativeCharCode>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<signed char> >::Read(IPC::Message const*, PickleIterator*, nsTArray<signed char>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::FontRange> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::FontRange>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> > >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> >*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::SingleTouchData> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::SingleTouchData>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::ShortcutKeyCandidate> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::ShortcutKeyCandidate>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<nsPoint> >::Read(IPC::Message const*, PickleIterator*, nsTArray<nsPoint>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::KeyboardShortcut> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::layers::KeyboardShortcut>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::APZTestData::HitResult> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::layers::APZTestData::HitResult>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<nsTString<char16_t> > >::Read(IPC::Message const*, PickleIterator*, nsTArray<nsTString<char16_t> >*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCCodecStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCCodecStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCIceCandidatePairStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCIceCandidatePairStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCIceCandidateStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCIceCandidateStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCIceComponentStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCIceComponentStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCInboundRTPStreamStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCInboundRTPStreamStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCMediaStreamStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCMediaStreamStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCMediaStreamTrackStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCMediaStreamTrackStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCOutboundRTPStreamStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCOutboundRTPStreamStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCTransportStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCTransportStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::dom::RTCRTPContributingSourceStats> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::dom::RTCRTPContributingSourceStats>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::ScrollMetadata> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::layers::ScrollMetadata>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<mozilla::layers::WebRenderLayerScrollData> >::Read(IPC::Message const*, PickleIterator*, nsTArray<mozilla::layers::WebRenderLayerScrollData>*)
Unexecuted instantiation: IPC::ParamTraits<nsTArray<unsigned long> >::Read(IPC::Message const*, PickleIterator*, nsTArray<unsigned long>*)
616
617
  static void Log(const paramType& aParam, std::wstring* aLog)
618
0
  {
619
0
    for (uint32_t index = 0; index < aParam.Length(); index++) {
620
0
      if (index) {
621
0
        aLog->append(L" ");
622
0
      }
623
0
      LogParam(aParam[index], aLog);
624
0
    }
625
0
  }
626
};
627
628
template<typename E>
629
struct ParamTraits<FallibleTArray<E>>
630
{
631
  typedef FallibleTArray<E> paramType;
632
633
  static void Write(Message* aMsg, const paramType& aParam)
634
0
  {
635
0
    WriteParam(aMsg, static_cast<const nsTArray<E>&>(aParam));
636
0
  }
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCCodecStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCCodecStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCIceCandidatePairStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCIceCandidatePairStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCIceCandidateStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCIceCandidateStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCIceComponentStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCIceComponentStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCInboundRTPStreamStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCInboundRTPStreamStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCMediaStreamStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCMediaStreamStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCMediaStreamTrackStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCMediaStreamTrackStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCOutboundRTPStreamStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCOutboundRTPStreamStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCTransportStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCTransportStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCRTPContributingSourceStats> >::Write(IPC::Message*, FallibleTArray<mozilla::dom::RTCRTPContributingSourceStats> const&)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<nsTString<char16_t> > >::Write(IPC::Message*, FallibleTArray<nsTString<char16_t> > const&)
637
638
  // Deserialize the array infallibly, but return a FallibleTArray.
639
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
640
0
  {
641
0
    nsTArray<E> temp;
642
0
    if (!ReadParam(aMsg, aIter, &temp))
643
0
      return false;
644
0
645
0
    aResult->SwapElements(temp);
646
0
    return true;
647
0
  }
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCCodecStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCCodecStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCIceCandidatePairStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCIceCandidatePairStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCIceCandidateStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCIceCandidateStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCIceComponentStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCIceComponentStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCInboundRTPStreamStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCInboundRTPStreamStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCMediaStreamStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCMediaStreamStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCMediaStreamTrackStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCMediaStreamTrackStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCOutboundRTPStreamStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCOutboundRTPStreamStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCTransportStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCTransportStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<mozilla::dom::RTCRTPContributingSourceStats> >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<mozilla::dom::RTCRTPContributingSourceStats>*)
Unexecuted instantiation: IPC::ParamTraits<FallibleTArray<nsTString<char16_t> > >::Read(IPC::Message const*, PickleIterator*, FallibleTArray<nsTString<char16_t> >*)
648
649
  static void Log(const paramType& aParam, std::wstring* aLog)
650
  {
651
    LogParam(static_cast<const nsTArray<E>&>(aParam), aLog);
652
  }
653
};
654
655
template<typename E, size_t N>
656
struct ParamTraits<AutoTArray<E, N>> : ParamTraits<nsTArray<E>>
657
{
658
  typedef AutoTArray<E, N> paramType;
659
};
660
661
template<>
662
struct ParamTraits<float>
663
{
664
  typedef float paramType;
665
666
  static void Write(Message* aMsg, const paramType& aParam)
667
  {
668
    aMsg->WriteBytes(&aParam, sizeof(paramType));
669
  }
670
671
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
672
  {
673
    return aMsg->ReadBytesInto(aIter, aResult, sizeof(*aResult));
674
  }
675
676
  static void Log(const paramType& aParam, std::wstring* aLog)
677
0
  {
678
0
    aLog->append(StringPrintf(L"%g", aParam));
679
0
  }
680
};
681
682
template <>
683
struct ParamTraits<nsCSSPropertyID>
684
  : public ContiguousEnumSerializer<nsCSSPropertyID,
685
                                    eCSSProperty_UNKNOWN,
686
                                    eCSSProperty_COUNT>
687
{};
688
689
template<>
690
struct ParamTraits<mozilla::void_t>
691
{
692
  typedef mozilla::void_t paramType;
693
  static void Write(Message* aMsg, const paramType& aParam) { }
694
  static bool
695
  Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
696
  {
697
    *aResult = paramType();
698
    return true;
699
  }
700
};
701
702
template<>
703
struct ParamTraits<mozilla::null_t>
704
{
705
  typedef mozilla::null_t paramType;
706
  static void Write(Message* aMsg, const paramType& aParam) { }
707
  static bool
708
  Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
709
  {
710
    *aResult = paramType();
711
    return true;
712
  }
713
};
714
715
template<>
716
struct ParamTraits<nsID>
717
{
718
  typedef nsID paramType;
719
720
  static void Write(Message* aMsg, const paramType& aParam)
721
  {
722
    WriteParam(aMsg, aParam.m0);
723
    WriteParam(aMsg, aParam.m1);
724
    WriteParam(aMsg, aParam.m2);
725
    for (unsigned int i = 0; i < mozilla::ArrayLength(aParam.m3); i++) {
726
      WriteParam(aMsg, aParam.m3[i]);
727
    }
728
  }
729
730
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
731
  {
732
    if(!ReadParam(aMsg, aIter, &(aResult->m0)) ||
733
       !ReadParam(aMsg, aIter, &(aResult->m1)) ||
734
       !ReadParam(aMsg, aIter, &(aResult->m2)))
735
      return false;
736
737
    for (unsigned int i = 0; i < mozilla::ArrayLength(aResult->m3); i++)
738
      if (!ReadParam(aMsg, aIter, &(aResult->m3[i])))
739
        return false;
740
741
    return true;
742
  }
743
744
  static void Log(const paramType& aParam, std::wstring* aLog)
745
0
  {
746
0
    aLog->append(L"{");
747
0
    aLog->append(StringPrintf(L"%8.8X-%4.4X-%4.4X-",
748
0
                              aParam.m0,
749
0
                              aParam.m1,
750
0
                              aParam.m2));
751
0
    for (unsigned int i = 0; i < mozilla::ArrayLength(aParam.m3); i++)
752
0
      aLog->append(StringPrintf(L"%2.2X", aParam.m3[i]));
753
0
    aLog->append(L"}");
754
0
  }
755
};
756
757
template<>
758
struct ParamTraits<mozilla::TimeDuration>
759
{
760
  typedef mozilla::TimeDuration paramType;
761
  static void Write(Message* aMsg, const paramType& aParam)
762
  {
763
    WriteParam(aMsg, aParam.mValue);
764
  }
765
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
766
  {
767
    return ReadParam(aMsg, aIter, &aResult->mValue);
768
  };
769
};
770
771
template<>
772
struct ParamTraits<mozilla::TimeStamp>
773
{
774
  typedef mozilla::TimeStamp paramType;
775
  static void Write(Message* aMsg, const paramType& aParam)
776
  {
777
    WriteParam(aMsg, aParam.mValue);
778
  }
779
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
780
  {
781
    return ReadParam(aMsg, aIter, &aResult->mValue);
782
  };
783
};
784
785
#ifdef XP_WIN
786
787
template<>
788
struct ParamTraits<mozilla::TimeStampValue>
789
{
790
  typedef mozilla::TimeStampValue paramType;
791
  static void Write(Message* aMsg, const paramType& aParam)
792
  {
793
    WriteParam(aMsg, aParam.mGTC);
794
    WriteParam(aMsg, aParam.mQPC);
795
    WriteParam(aMsg, aParam.mHasQPC);
796
    WriteParam(aMsg, aParam.mIsNull);
797
  }
798
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
799
  {
800
    return (ReadParam(aMsg, aIter, &aResult->mGTC) &&
801
            ReadParam(aMsg, aIter, &aResult->mQPC) &&
802
            ReadParam(aMsg, aIter, &aResult->mHasQPC) &&
803
            ReadParam(aMsg, aIter, &aResult->mIsNull));
804
  }
805
};
806
807
#endif
808
809
template <>
810
struct ParamTraits<mozilla::dom::ipc::StructuredCloneData>
811
{
812
  typedef mozilla::dom::ipc::StructuredCloneData paramType;
813
814
  static void Write(Message* aMsg, const paramType& aParam)
815
0
  {
816
0
    aParam.WriteIPCParams(aMsg);
817
0
  }
818
819
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
820
0
  {
821
0
    return aResult->ReadIPCParams(aMsg, aIter);
822
0
  }
823
824
  static void Log(const paramType& aParam, std::wstring* aLog)
825
0
  {
826
0
    LogParam(aParam.DataLength(), aLog);
827
0
  }
828
};
829
830
template <>
831
struct ParamTraits<mozilla::net::WebSocketFrameData>
832
{
833
  typedef mozilla::net::WebSocketFrameData paramType;
834
835
  static void Write(Message* aMsg, const paramType& aParam)
836
0
  {
837
0
    aParam.WriteIPCParams(aMsg);
838
0
  }
839
840
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
841
0
  {
842
0
    return aResult->ReadIPCParams(aMsg, aIter);
843
0
  }
844
};
845
846
template <>
847
struct ParamTraits<JSStructuredCloneData>
848
{
849
  typedef JSStructuredCloneData paramType;
850
851
  static void Write(Message* aMsg, const paramType& aParam)
852
  {
853
    MOZ_ASSERT(!(aParam.Size() % sizeof(uint64_t)));
854
    WriteParam(aMsg, aParam.Size());
855
    aParam.ForEachDataChunk([&](const char* aData, size_t aSize) {
856
        return aMsg->WriteBytes(aData, aSize, sizeof(uint64_t));
857
    });
858
  }
859
860
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
861
  {
862
    size_t length = 0;
863
    if (!ReadParam(aMsg, aIter, &length)) {
864
      return false;
865
    }
866
    MOZ_ASSERT(!(length % sizeof(uint64_t)));
867
868
    mozilla::BufferList<InfallibleAllocPolicy> buffers(0, 0, 4096);
869
870
    // Borrowing is not suitable to use for IPC to hand out data
871
    // because we often want to store the data somewhere for
872
    // processing after IPC has released the underlying buffers. One
873
    // case is PContentChild::SendGetXPCOMProcessAttributes. We can't
874
    // return a borrowed buffer because the out param outlives the
875
    // IPDL callback.
876
    if (length && !aMsg->ExtractBuffers(aIter, length, &buffers, sizeof(uint64_t))) {
877
      return false;
878
    }
879
880
    bool success;
881
    mozilla::BufferList<js::SystemAllocPolicy> out =
882
      buffers.MoveFallible<js::SystemAllocPolicy>(&success);
883
    if (!success) {
884
      return false;
885
    }
886
887
    *aResult = JSStructuredCloneData(std::move(out), JS::StructuredCloneScope::DifferentProcess);
888
889
    return true;
890
  }
891
};
892
893
template <>
894
struct ParamTraits<mozilla::SerializedStructuredCloneBuffer>
895
{
896
  typedef mozilla::SerializedStructuredCloneBuffer paramType;
897
898
  static void Write(Message* aMsg, const paramType& aParam)
899
  {
900
    WriteParam(aMsg, aParam.data);
901
  }
902
903
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
904
  {
905
    return ReadParam(aMsg, aIter, &aResult->data);
906
  }
907
908
  static void Log(const paramType& aParam, std::wstring* aLog)
909
0
  {
910
0
    LogParam(aParam.data.Size(), aLog);
911
0
  }
912
};
913
914
template <>
915
struct ParamTraits<nsIWidget::TouchPointerState>
916
  : public BitFlagsEnumSerializer<nsIWidget::TouchPointerState,
917
                                  nsIWidget::TouchPointerState::ALL_BITS>
918
{
919
};
920
921
template<class T>
922
struct ParamTraits<mozilla::Maybe<T>>
923
{
924
  typedef mozilla::Maybe<T> paramType;
925
926
  static void Write(Message* msg, const paramType& param)
927
0
  {
928
0
    if (param.isSome()) {
929
0
      WriteParam(msg, true);
930
0
      WriteParam(msg, param.value());
931
0
    } else {
932
0
      WriteParam(msg, false);
933
0
    }
934
0
  }
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<nsTString<char> > >::Write(IPC::Message*, mozilla::Maybe<nsTString<char> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<int> >::Write(IPC::Message*, mozilla::Maybe<int> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<unsigned long> >::Write(IPC::Message*, mozilla::Maybe<unsigned long> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::LayerClip> >::Write(IPC::Message*, mozilla::Maybe<mozilla::layers::LayerClip> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::ScrollDirection> >::Write(IPC::Message*, mozilla::Maybe<mozilla::layers::ScrollDirection> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::ZoomConstraints> >::Write(IPC::Message*, mozilla::Maybe<mozilla::layers::ZoomConstraints> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::wr::WrExternalImageId> >::Write(IPC::Message*, mozilla::Maybe<mozilla::wr::WrExternalImageId> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::LayersId> >::Write(IPC::Message*, mozilla::Maybe<mozilla::layers::LayersId> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> > >::Write(IPC::Message*, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::wr::FontInstanceOptions> >::Write(IPC::Message*, mozilla::Maybe<mozilla::wr::FontInstanceOptions> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::wr::FontInstancePlatformOptions> >::Write(IPC::Message*, mozilla::Maybe<mozilla::wr::FontInstancePlatformOptions> const&)
935
936
  static bool Read(const Message* msg, PickleIterator* iter, paramType* result)
937
0
  {
938
0
    bool isSome;
939
0
    if (!ReadParam(msg, iter, &isSome)) {
940
0
      return false;
941
0
    }
942
0
    if (isSome) {
943
0
      T tmp;
944
0
      if (!ReadParam(msg, iter, &tmp)) {
945
0
        return false;
946
0
      }
947
0
      *result = mozilla::Some(std::move(tmp));
948
0
    } else {
949
0
      *result = mozilla::Nothing();
950
0
    }
951
0
    return true;
952
0
  }
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<nsTString<char> > >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<nsTString<char> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<int> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<int>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<unsigned long> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<unsigned long>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::LayerClip> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::layers::LayerClip>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::ScrollDirection> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::layers::ScrollDirection>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::ZoomConstraints> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::layers::ZoomConstraints>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::wr::WrExternalImageId> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::wr::WrExternalImageId>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::layers::LayersId> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::layers::LayersId>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> > >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::wr::FontInstanceOptions> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::wr::FontInstanceOptions>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Maybe<mozilla::wr::FontInstancePlatformOptions> >::Read(IPC::Message const*, PickleIterator*, mozilla::Maybe<mozilla::wr::FontInstancePlatformOptions>*)
953
};
954
955
template<typename T, typename U>
956
struct ParamTraits<mozilla::EnumSet<T, U>>
957
{
958
  typedef mozilla::EnumSet<T, U> paramType;
959
  typedef U serializedType;
960
961
  static void Write(Message* msg, const paramType& param)
962
  {
963
    MOZ_RELEASE_ASSERT(IsLegalValue(param.serialize()));
964
    WriteParam(msg, param.serialize());
965
  }
966
967
  static bool Read(const Message* msg, PickleIterator* iter, paramType* result)
968
  {
969
    serializedType tmp;
970
971
    if (ReadParam(msg, iter, &tmp)) {
972
      if (IsLegalValue(tmp)) {
973
        result->deserialize(tmp);
974
        return true;
975
      }
976
    }
977
978
    return false;
979
  }
980
981
  static constexpr serializedType AllEnumBits()
982
  {
983
    return ~serializedType(0) >>
984
           (std::numeric_limits<serializedType>::digits - (mozilla::MaxEnumValue<T>::value + 1));
985
  }
986
987
  static constexpr bool IsLegalValue(const serializedType value)
988
  {
989
    static_assert(mozilla::MaxEnumValue<T>::value < std::numeric_limits<serializedType>::digits,
990
                  "Enum max value is not in the range!");
991
    static_assert(std::is_unsigned<decltype(mozilla::MaxEnumValue<T>::value)>::value,
992
                  "Type of MaxEnumValue<T>::value specialization should be unsigned!");
993
994
    return (value & AllEnumBits()) == value;
995
  }
996
};
997
998
template<class... Ts>
999
struct ParamTraits<mozilla::Variant<Ts...>>
1000
{
1001
  typedef mozilla::Variant<Ts...> paramType;
1002
  using Tag = typename mozilla::detail::VariantTag<Ts...>::Type;
1003
1004
  struct VariantWriter
1005
  {
1006
    Message* msg;
1007
1008
    template<class T>
1009
0
    void match(const T& t) {
1010
0
      WriteParam(msg, t);
1011
0
    }
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::EmptyAttributes>(mozilla::gfx::EmptyAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::BlendAttributes>(mozilla::gfx::BlendAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::MorphologyAttributes>(mozilla::gfx::MorphologyAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::ColorMatrixAttributes>(mozilla::gfx::ColorMatrixAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::FloodAttributes>(mozilla::gfx::FloodAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::TileAttributes>(mozilla::gfx::TileAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::ComponentTransferAttributes>(mozilla::gfx::ComponentTransferAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::OpacityAttributes>(mozilla::gfx::OpacityAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::ConvolveMatrixAttributes>(mozilla::gfx::ConvolveMatrixAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::OffsetAttributes>(mozilla::gfx::OffsetAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::DisplacementMapAttributes>(mozilla::gfx::DisplacementMapAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::TurbulenceAttributes>(mozilla::gfx::TurbulenceAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::CompositeAttributes>(mozilla::gfx::CompositeAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::MergeAttributes>(mozilla::gfx::MergeAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::ImageAttributes>(mozilla::gfx::ImageAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::GaussianBlurAttributes>(mozilla::gfx::GaussianBlurAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::DropShadowAttributes>(mozilla::gfx::DropShadowAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::DiffuseLightingAttributes>(mozilla::gfx::DiffuseLightingAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::SpecularLightingAttributes>(mozilla::gfx::SpecularLightingAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantWriter::match<mozilla::gfx::ToAlphaAttributes>(mozilla::gfx::ToAlphaAttributes const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::VariantWriter::match<mozilla::layers::LayersId>(mozilla::layers::LayersId const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::VariantWriter::match<mozilla::layers::FocusTarget::ScrollTargets>(mozilla::layers::FocusTarget::ScrollTargets const&)
Unexecuted instantiation: void IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::VariantWriter::match<mozilla::layers::FocusTarget::NoFocusTarget>(mozilla::layers::FocusTarget::NoFocusTarget const&)
1012
  };
1013
1014
  static void Write(Message* msg, const paramType& param)
1015
0
  {
1016
0
    WriteParam(msg, param.tag);
1017
0
    param.match(VariantWriter{msg});
1018
0
  }
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::Write(IPC::Message*, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::Write(IPC::Message*, mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> const&)
1019
1020
  // Because VariantReader is a nested struct, we need the dummy template
1021
  // parameter to avoid making VariantReader<0> an explicit specialization,
1022
  // which is not allowed for a nested class template
1023
  template<size_t N, typename dummy = void>
1024
  struct VariantReader
1025
  {
1026
    using Next = VariantReader<N-1>;
1027
1028
    static bool Read(const Message* msg, PickleIterator* iter,
1029
        Tag tag, paramType* result)
1030
0
    {
1031
0
      // Since the VariantReader specializations start at N , we need to
1032
0
      // subtract one to look at N - 1, the first valid tag.  This means our
1033
0
      // comparisons are off by 1.  If we get to N = 0 then we have failed to
1034
0
      // find a match to the tag.
1035
0
      if (tag == N - 1) {
1036
0
        // Recall, even though the template parameter is N, we are
1037
0
        // actually interested in the N - 1 tag.
1038
0
        typename mozilla::detail::Nth<N - 1, Ts...>::Type val;
1039
0
        if (ReadParam(msg, iter, &val)) {
1040
0
          *result = mozilla::AsVariant(val);
1041
0
          return true;
1042
0
        }
1043
0
        return false;
1044
0
      } else {
1045
0
        return Next::Read(msg, iter, tag, result);
1046
0
      }
1047
0
    }
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<20ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<19ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<18ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<17ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<16ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<15ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<14ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<13ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<12ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<11ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<10ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<9ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<8ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<7ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<6ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<5ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<4ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<3ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<2ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<1ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::VariantReader<3ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::VariantReader<2ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::VariantReader<1ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget>*)
1048
1049
  }; // VariantReader<N>
1050
1051
  // Since we are conditioning on tag = N - 1 in the preceding specialization,
1052
  // if we get to `VariantReader<0, dummy>` we have failed to find
1053
  // a matching tag.
1054
  template<typename dummy>
1055
  struct VariantReader<0, dummy>
1056
  {
1057
    static bool Read(const Message* msg, PickleIterator* iter,
1058
        Tag tag, paramType* result)
1059
0
    {
1060
0
      return false;
1061
0
    }
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::VariantReader<0ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::VariantReader<0ul, void>::Read(IPC::Message const*, PickleIterator*, unsigned char, mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget>*)
1062
  };
1063
1064
  static bool Read(const Message* msg, PickleIterator* iter, paramType* result)
1065
0
  {
1066
0
    Tag tag;
1067
0
    if (ReadParam(msg, iter, &tag)) {
1068
0
      return VariantReader<sizeof...(Ts)>::Read(msg, iter, tag, result);
1069
0
    }
1070
0
    return false;
1071
0
  }
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes> >::Read(IPC::Message const*, PickleIterator*, mozilla::Variant<mozilla::gfx::EmptyAttributes, mozilla::gfx::BlendAttributes, mozilla::gfx::MorphologyAttributes, mozilla::gfx::ColorMatrixAttributes, mozilla::gfx::FloodAttributes, mozilla::gfx::TileAttributes, mozilla::gfx::ComponentTransferAttributes, mozilla::gfx::OpacityAttributes, mozilla::gfx::ConvolveMatrixAttributes, mozilla::gfx::OffsetAttributes, mozilla::gfx::DisplacementMapAttributes, mozilla::gfx::TurbulenceAttributes, mozilla::gfx::CompositeAttributes, mozilla::gfx::MergeAttributes, mozilla::gfx::ImageAttributes, mozilla::gfx::GaussianBlurAttributes, mozilla::gfx::DropShadowAttributes, mozilla::gfx::DiffuseLightingAttributes, mozilla::gfx::SpecularLightingAttributes, mozilla::gfx::ToAlphaAttributes>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget> >::Read(IPC::Message const*, PickleIterator*, mozilla::Variant<mozilla::layers::LayersId, mozilla::layers::FocusTarget::ScrollTargets, mozilla::layers::FocusTarget::NoFocusTarget>*)
1072
};
1073
1074
template<typename T>
1075
struct ParamTraits<mozilla::dom::Optional<T>>
1076
{
1077
  typedef mozilla::dom::Optional<T> paramType;
1078
1079
  static void Write(Message* aMsg, const paramType& aParam)
1080
0
  {
1081
0
    if (aParam.WasPassed()) {
1082
0
      WriteParam(aMsg, true);
1083
0
      WriteParam(aMsg, aParam.Value());
1084
0
      return;
1085
0
    }
1086
0
1087
0
    WriteParam(aMsg, false);
1088
0
  }
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<unsigned int> >::Write(IPC::Message*, mozilla::dom::Optional<unsigned int> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<nsTString<char16_t> > >::Write(IPC::Message*, mozilla::dom::Optional<nsTString<char16_t> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<bool> >::Write(IPC::Message*, mozilla::dom::Optional<bool> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCCodecStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCCodecStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidatePairStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidatePairStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidateStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidateStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceComponentStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceComponentStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCInboundRTPStreamStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCInboundRTPStreamStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamTrackStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamTrackStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCOutboundRTPStreamStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCOutboundRTPStreamStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<double> >::Write(IPC::Message*, mozilla::dom::Optional<double> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCTransportStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCTransportStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCRTPContributingSourceStats> > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCRTPContributingSourceStats> > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<nsTString<char16_t> > > >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::Sequence<nsTString<char16_t> > > const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::RTCStatsType> >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::RTCStatsType> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<unsigned long> >::Write(IPC::Message*, mozilla::dom::Optional<unsigned long> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidatePairState> >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidatePairState> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidateType> >::Write(IPC::Message*, mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidateType> const&)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<int> >::Write(IPC::Message*, mozilla::dom::Optional<int> const&)
1089
1090
  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
1091
0
  {
1092
0
    bool wasPassed = false;
1093
0
1094
0
    if (!ReadParam(aMsg, aIter, &wasPassed)) {
1095
0
      return false;
1096
0
    }
1097
0
1098
0
    aResult->Reset();
1099
0
1100
0
    if (wasPassed) {
1101
0
      if (!ReadParam(aMsg, aIter, &aResult->Construct())) {
1102
0
        return false;
1103
0
      }
1104
0
    }
1105
0
1106
0
    return true;
1107
0
  }
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<unsigned int> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<unsigned int>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<nsTString<char16_t> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<nsTString<char16_t> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<bool> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<bool>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCCodecStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCCodecStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidatePairStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidatePairStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidateStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceCandidateStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceComponentStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCIceComponentStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCInboundRTPStreamStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCInboundRTPStreamStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamTrackStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCMediaStreamTrackStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCOutboundRTPStreamStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCOutboundRTPStreamStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<double> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<double>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCTransportStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCTransportStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCRTPContributingSourceStats> > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<mozilla::dom::RTCRTPContributingSourceStats> >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::Sequence<nsTString<char16_t> > > >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::Sequence<nsTString<char16_t> > >*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::RTCStatsType> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::RTCStatsType>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<unsigned long> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<unsigned long>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidatePairState> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidatePairState>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidateType> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<mozilla::dom::RTCStatsIceCandidateType>*)
Unexecuted instantiation: IPC::ParamTraits<mozilla::dom::Optional<int> >::Read(IPC::Message const*, PickleIterator*, mozilla::dom::Optional<int>*)
1108
};
1109
1110
} /* namespace IPC */
1111
1112
#endif /* __IPC_GLUE_IPCMESSAGEUTILS_H__ */