[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "SAMESITE_NONE",
            "value": 0
          },
          {
            "name": "SAMESITE_LAX",
            "value": 1
          },
          {
            "name": "SAMESITE_STRICT",
            "value": 2
          },
          {
            "name": "SAMESITE_UNSET",
            "value": 256
          }
        ],
        "enums": [
          {
            "id": "schemeType",
            "variants": [
              {
                "name": "SCHEME_UNSET",
                "value": 0
              },
              {
                "name": "SCHEME_HTTP",
                "value": 1
              },
              {
                "name": "SCHEME_HTTPS",
                "value": 2
              },
              {
                "name": "SCHEME_FILE",
                "value": 4
              }
            ]
          }
        ],
        "id": "nsICookie",
        "members": [
          {
            "name": "name",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "value",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "isDomain",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "host",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "rawHost",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "path",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "isSecure",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "expires",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "expiry",
            "readonly": true,
            "type": "i64"
          },
          {
            "name": "originAttributes",
            "readonly": true,
            "type": "any"
          },
          {
            "name": "isSession",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isHttpOnly",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "creationTime",
            "readonly": true,
            "type": "i64"
          },
          {
            "name": "updateTime",
            "readonly": true,
            "type": "i64"
          },
          {
            "name": "lastAccessed",
            "readonly": true,
            "type": "i64"
          },
          {
            "name": "sameSite",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "schemeMap",
            "readonly": true,
            "type": "nsICookie.schemeType"
          },
          {
            "name": "isPartitioned",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "netwerk/cookie/nsICookie.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ],
      [
        "nsCookiePolicy",
        "i32"
      ],
      [
        "nsCookieStatus",
        "i32"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISerializable",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICookieJarSettings",
        "members": [
          {
            "name": "cookieBehavior",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "isFirstPartyIsolated",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "shouldResistFingerprinting",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "rejectThirdPartyContexts",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "limitForeignContexts",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "blockingAllThirdPartyContexts",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "blockingAllContexts",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "partitionForeign",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "isOnContentBlockingAllowList",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "partitionKey",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "fingerprintingRandomizationKey",
            "readonly": true,
            "type": "u8[]"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "cookiePermission",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aIsPrivate",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "initWithURI",
            "type": "void"
          }
        ]
      }
    ],
    "path": "netwerk/cookie/nsICookieJarSettings.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICookieManager",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "removeAll",
            "type": "void"
          },
          {
            "name": "cookies",
            "readonly": true,
            "type": "nsICookie[]"
          },
          {
            "name": "sessionCookies",
            "readonly": true,
            "type": "nsICookie[]"
          },
          {
            "args": [
              {
                "name": "aIsPrivate",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getCookieBehavior",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPath",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "remove",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPath",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aValue",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIsSecure",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aIsHttpOnly",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aIsSession",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aExpiry",
                "optional": false,
                "type": "i64"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aSameSite",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aSchemeMap",
                "optional": false,
                "type": "nsICookie.schemeType"
              },
              {
                "name": "aIsPartitioned",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "add",
            "type": "nsICookieValidation"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPath",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "cookieExists",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "countCookiesFromHost",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPattern",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "hasCookiesForSite",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aSorted",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getCookiesFromHost",
            "type": "nsICookie[]"
          },
          {
            "args": [
              {
                "name": "aPattern",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aHost",
                "optional": true,
                "type": "string"
              },
              {
                "name": "aSorted",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getCookiesWithOriginAttributes",
            "type": "nsICookie[]"
          },
          {
            "args": [
              {
                "name": "aPattern",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aHost",
                "optional": true,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "removeCookiesWithOriginAttributes",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPattern",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "removeCookiesFromExactHost",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSinceWhen",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "removeAllSince",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aSinceWhen",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "getCookiesSince",
            "type": "nsICookie[]"
          },
          {
            "args": [
              {
                "name": "aExcpetions",
                "optional": false,
                "type": "nsIThirdPartyCookieExceptionEntry[]"
              }
            ],
            "iid_is": null,
            "name": "addThirdPartyCookieBlockingExceptions",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aExceptions",
                "optional": false,
                "type": "nsIThirdPartyCookieExceptionEntry[]"
              }
            ],
            "iid_is": null,
            "name": "removeThirdPartyCookieBlockingExceptions",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testGet3PCBExceptions",
            "type": "string[]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testCloseCookieDB",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testOpenCookieDB",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aExpiryInMSec",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "maybeCapExpiry",
            "type": "i64"
          }
        ]
      }
    ],
    "path": "netwerk/cookie/nsICookieManager.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ],
      [
        "nsCookiePolicy",
        "i32"
      ],
      [
        "nsCookieStatus",
        "i32"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "Action",
            "variants": [
              {
                "name": "COOKIE_DELETED",
                "value": 0
              },
              {
                "name": "COOKIE_ADDED",
                "value": 1
              },
              {
                "name": "COOKIE_CHANGED",
                "value": 2
              },
              {
                "name": "ALL_COOKIES_CLEARED",
                "value": 3
              },
              {
                "name": "COOKIES_BATCH_DELETED",
                "value": 4
              }
            ]
          }
        ],
        "id": "nsICookieNotification",
        "members": [
          {
            "name": "action",
            "readonly": true,
            "type": "nsICookieNotification.Action"
          },
          {
            "name": "cookie",
            "readonly": true,
            "type": "nsICookie"
          },
          {
            "name": "baseDomain",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "isThirdParty",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "batchDeletedCookies",
            "readonly": true,
            "type": "nsIArray"
          },
          {
            "name": "browsingContextId",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "browsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "name": "operationID",
            "readonly": true,
            "type": "nsID"
          }
        ]
      }
    ],
    "path": "netwerk/cookie/nsICookieNotification.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "ACCESS_DEFAULT",
            "value": 0
          },
          {
            "name": "ACCESS_ALLOW",
            "value": 1
          },
          {
            "name": "ACCESS_DENY",
            "value": 2
          },
          {
            "name": "ACCESS_SESSION",
            "value": 8
          }
        ],
        "enums": [],
        "id": "nsICookiePermission",
        "members": []
      }
    ],
    "path": "netwerk/cookie/nsICookiePermission.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ],
      [
        "nsCookieAccess",
        "i32"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "BEHAVIOR_ACCEPT",
            "value": 0
          },
          {
            "name": "BEHAVIOR_REJECT_FOREIGN",
            "value": 1
          },
          {
            "name": "BEHAVIOR_REJECT",
            "value": 2
          },
          {
            "name": "BEHAVIOR_LIMIT_FOREIGN",
            "value": 3
          },
          {
            "name": "BEHAVIOR_REJECT_TRACKER",
            "value": 4
          },
          {
            "name": "BEHAVIOR_PARTITION_FOREIGN",
            "value": 5
          },
          {
            "name": "BEHAVIOR_LAST",
            "value": 5
          }
        ],
        "enums": [],
        "id": "nsICookieService",
        "members": [
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aChannel",
                "optional": false,
                "type": "nsIChannel"
              }
            ],
            "iid_is": null,
            "name": "getCookieStringFromHttp",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aCookie",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aChannel",
                "optional": false,
                "type": "nsIChannel"
              }
            ],
            "iid_is": null,
            "name": "setCookieStringFromHttp",
            "type": "void"
          }
        ]
      }
    ],
    "path": "netwerk/cookie/nsICookieService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "ValidationError",
            "variants": [
              {
                "name": "eOK",
                "value": 0
              },
              {
                "name": "eRejectedEmptyNameAndValue",
                "value": 1
              },
              {
                "name": "eRejectedNameValueOversize",
                "value": 2
              },
              {
                "name": "eRejectedInvalidCharName",
                "value": 3
              },
              {
                "name": "eRejectedInvalidCharValue",
                "value": 4
              },
              {
                "name": "eRejectedInvalidPath",
                "value": 5
              },
              {
                "name": "eRejectedInvalidDomain",
                "value": 6
              },
              {
                "name": "eRejectedInvalidPrefix",
                "value": 7
              },
              {
                "name": "eRejectedNoneRequiresSecure",
                "value": 8
              },
              {
                "name": "eRejectedPartitionedRequiresSecure",
                "value": 9
              },
              {
                "name": "eRejectedHttpOnlyButFromScript",
                "value": 10
              },
              {
                "name": "eRejectedSecureButNonHttps",
                "value": 11
              },
              {
                "name": "eRejectedForNonSameSiteness",
                "value": 12
              },
              {
                "name": "eRejectedAttributePathOversize",
                "value": 13
              },
              {
                "name": "eRejectedAttributeDomainOversize",
                "value": 14
              },
              {
                "name": "eRejectedAttributeExpiryOversize",
                "value": 15
              }
            ]
          }
        ],
        "id": "nsICookieValidation",
        "members": [
          {
            "name": "result",
            "readonly": true,
            "type": "nsICookieValidation.ValidationError"
          },
          {
            "name": "errorString",
            "readonly": true,
            "type": "string"
          }
        ]
      }
    ],
    "path": "netwerk/cookie/nsICookieValidation.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIThirdPartyCookieBlockingExceptionListService",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "init",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "shutdown",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIThirdPartyCookieExceptionEntry",
        "members": [
          {
            "name": "firstPartySite",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "thirdPartySite",
            "readonly": true,
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "serialize",
            "type": "string"
          }
        ]
      }
    ],
    "path": "netwerk/cookie/nsIThirdPartyCookieBlockingExceptionListService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]