/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using mozilla::PrincipalOriginAttributes from "mozilla/ipc/BackgroundUtils.h"; using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; namespace mozilla { namespace ipc { union ContentPrincipalInfoOriginNoSuffix { nsCString; void_t; }; struct ContentPrincipalInfo { PrincipalOriginAttributes attrs; // nsIPrincipal.originNoSuffix can fail. In case this happens, this value // will be set to void_t. So far, this is used only for dom/media. // It will be removed in bug 1347817. ContentPrincipalInfoOriginNoSuffix originNoSuffix; nsCString spec; }; struct SystemPrincipalInfo { }; struct NullPrincipalInfo { PrincipalOriginAttributes attrs; }; struct ExpandedPrincipalInfo { PrincipalOriginAttributes attrs; PrincipalInfo[] whitelist; }; union PrincipalInfo { ContentPrincipalInfo; SystemPrincipalInfo; NullPrincipalInfo; ExpandedPrincipalInfo; }; union OptionalPrincipalInfo { void_t; PrincipalInfo; }; } // namespace ipc } // namespace mozilla