[
  {
    "interfaces": [
      {
        "base": "nsIChannel",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIJARChannel",
        "members": [
          {
            "name": "jarFile",
            "readonly": false,
            "type": "nsIFile"
          },
          {
            "name": "zipEntry",
            "readonly": true,
            "type": "nsIZipEntry"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "ensureCached",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "modules/libjar/nsIJARChannel.idl",
    "typedefs": [
      [
        "CSPDirective",
        "nsIContentSecurityPolicy.CSPDirective"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "RequireTrustedTypesForDirectiveState",
        "nsIContentSecurityPolicy.RequireTrustedTypesForDirectiveState"
      ],
      [
        "nsContentPolicyType",
        "nsIContentPolicy.nsContentPolicyType"
      ],
      [
        "nsLoadFlags",
        "u32"
      ],
      [
        "nsSecurityFlags",
        "u32"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIURL",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIJARURI",
        "members": [
          {
            "name": "JARFile",
            "readonly": true,
            "type": "nsIURI"
          },
          {
            "name": "JAREntry",
            "readonly": true,
            "type": "string"
          }
        ]
      }
    ],
    "path": "modules/libjar/nsIJARURI.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIZipEntry",
        "members": [
          {
            "name": "compression",
            "readonly": true,
            "type": "u16"
          },
          {
            "name": "size",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "realSize",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "CRC32",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "isDirectory",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "lastModifiedTime",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "isSynthetic",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "permissions",
            "readonly": true,
            "type": "u32"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIZipReader",
        "members": [
          {
            "args": [
              {
                "name": "zipFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "open",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "zipReader",
                "optional": false,
                "type": "nsIZipReader"
              },
              {
                "name": "zipEntry",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "openInner",
            "type": "void"
          },
          {
            "name": "file",
            "readonly": true,
            "type": "nsIFile"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aEntryName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "test",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "zipEntry",
                "optional": false,
                "type": "string"
              },
              {
                "name": "outFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "extract",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "zipEntry",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getEntry",
            "type": "nsIZipEntry"
          },
          {
            "args": [
              {
                "name": "zipEntry",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "hasEntry",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aPattern",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "findEntries",
            "type": "nsIUTF8StringEnumerator"
          },
          {
            "args": [
              {
                "name": "zipEntry",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getInputStream",
            "type": "nsIInputStream"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIZipReaderCache",
        "members": [
          {
            "args": [
              {
                "name": "cacheSize",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "zipFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "getZip",
            "type": "nsIZipReader"
          },
          {
            "args": [
              {
                "name": "zipFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "getZipIfCached",
            "type": "nsIZipReader"
          },
          {
            "args": [
              {
                "name": "zipFile",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "isCached",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "zipFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "zipEntry",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getInnerZip",
            "type": "nsIZipReader"
          }
        ]
      }
    ],
    "path": "modules/libjar/nsIZipReader.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]