Source code

Revision control

Copy as Markdown

Other Tools

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/.
*/
/**
* Used by principals and the script security manager to represent origin
* attributes. The first dictionary is designed to contain the full set of
* OriginAttributes, the second is used for pattern-matching (i.e. does this
* OriginAttributesDictionary match the non-empty attributes in this pattern).
*
* IMPORTANT: If you add any members here, you need to do the following:
* (1) Add them to both dictionaries.
* (2) Update the methods on mozilla::OriginAttributes, including equality,
* serialization, deserialization, and inheritance.
* (3) Update the methods on mozilla::OriginAttributesPattern, including matching.
*/
[GenerateInitFromJSON, GenerateEqualityOperator]
dictionary OriginAttributesDictionary {
unsigned long userContextId = 0;
unsigned long privateBrowsingId = 0;
DOMString firstPartyDomain = "";
DOMString geckoViewSessionContextId = "";
DOMString partitionKey = "";
};
[GenerateInitFromJSON, GenerateToJSON]
dictionary OriginAttributesPatternDictionary {
unsigned long userContextId;
unsigned long privateBrowsingId;
DOMString firstPartyDomain;
DOMString geckoViewSessionContextId;
// partitionKey takes precedence over partitionKeyPattern.
DOMString partitionKey;
PartitionKeyPatternDictionary partitionKeyPattern;
};
dictionary PartitionKeyPatternDictionary {
DOMString scheme;
DOMString baseDomain;
long port;
boolean foreignByAncestorContext;
};