DomSecurityIPCUtils.h (1665B)
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 file, 5 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef mozilla_dom_domsecurityipcutils_h 8 #define mozilla_dom_domsecurityipcutils_h 9 10 #include "ipc/EnumSerializer.h" 11 #include "nsIContentSecurityPolicy.h" 12 #include "nsILoadInfo.h" 13 14 namespace IPC { 15 16 // nsILoadInfo::HTTPSUpgradeTelemetryType over IPC. 17 template <> 18 struct ParamTraits<nsILoadInfo::HTTPSUpgradeTelemetryType> 19 : public ContiguousEnumSerializerInclusive< 20 nsILoadInfo::HTTPSUpgradeTelemetryType, 21 nsILoadInfo::HTTPSUpgradeTelemetryType::NOT_INITIALIZED, 22 nsILoadInfo::HTTPSUpgradeTelemetryType::UPGRADE_EXCEPTION> {}; 23 24 template <> 25 struct ParamTraits<nsILoadInfo::SchemelessInputType> 26 : public ContiguousEnumSerializerInclusive< 27 nsILoadInfo::SchemelessInputType, 28 nsILoadInfo::SchemelessInputType::SchemelessInputTypeUnset, 29 nsILoadInfo::SchemelessInputType::SchemelessInputTypeSchemeless> {}; 30 31 template <> 32 struct ParamTraits< 33 nsIContentSecurityPolicy::RequireTrustedTypesForDirectiveState> 34 : public ContiguousEnumSerializerInclusive< 35 nsIContentSecurityPolicy::RequireTrustedTypesForDirectiveState, 36 nsIContentSecurityPolicy::RequireTrustedTypesForDirectiveState::NONE, 37 nsIContentSecurityPolicy::RequireTrustedTypesForDirectiveState:: 38 ENFORCE> {}; 39 40 } // namespace IPC 41 42 #endif // mozilla_dom_domsecurityipcutils_h