[
  {
    "interfaces": [],
    "path": "uriloader/base/nsCURILoader.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentHandler",
        "members": [
          {
            "args": [
              {
                "name": "aContentType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aWindowContext",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              }
            ],
            "iid_is": null,
            "name": "handleContent",
            "type": "void"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsIContentHandler.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDocumentLoader",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "stop",
            "type": "void"
          },
          {
            "name": "container",
            "readonly": true,
            "type": "nsISupports"
          },
          {
            "name": "loadGroup",
            "readonly": true,
            "type": "nsILoadGroup"
          },
          {
            "name": "documentChannel",
            "readonly": true,
            "type": "nsIChannel"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsIDocumentLoader.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIWebProgressListener2",
        "callable": false,
        "consts": [
          {
            "name": "DOWNLOAD_ACCEPTABLE",
            "value": 0
          },
          {
            "name": "DOWNLOAD_FORBIDDEN",
            "value": 1
          },
          {
            "name": "DOWNLOAD_POTENTIALLY_UNSAFE",
            "value": 2
          }
        ],
        "enums": [],
        "id": "nsITransfer",
        "members": [
          {
            "args": [
              {
                "name": "aSource",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aSourceOriginalURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aTarget",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aDisplayName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aMIMEInfo",
                "optional": false,
                "type": "nsIMIMEInfo"
              },
              {
                "name": "startTime",
                "optional": false,
                "type": "PRTime"
              },
              {
                "name": "aTempFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "aCancelable",
                "optional": false,
                "type": "nsICancelable"
              },
              {
                "name": "aIsPrivate",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aDownloadClassification",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aReferrerInfo",
                "optional": false,
                "type": "nsIReferrerInfo"
              },
              {
                "name": "aOpenDownloadsListOnStart",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aFilesFolder",
                "optional": false,
                "type": "nsIFile"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSource",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aTarget",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aDisplayName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aMIMEInfo",
                "optional": false,
                "type": "nsIMIMEInfo"
              },
              {
                "name": "startTime",
                "optional": false,
                "type": "PRTime"
              },
              {
                "name": "aTempFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "aCancelable",
                "optional": false,
                "type": "nsICancelable"
              },
              {
                "name": "aIsPrivate",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aDownloadClassification",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aReferrerInfo",
                "optional": false,
                "type": "nsIReferrerInfo"
              },
              {
                "name": "aOpenDownloadsListOnStart",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aBrowsingContext",
                "optional": false,
                "type": "BrowsingContext"
              },
              {
                "name": "aHandleInternally",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aHttpChannel",
                "optional": false,
                "type": "nsIHttpChannel"
              }
            ],
            "iid_is": null,
            "name": "initWithBrowsingContext",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aHash",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setSha256Hash",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSignatureInfo",
                "optional": false,
                "type": "u8[][][]"
              }
            ],
            "iid_is": null,
            "name": "setSignatureInfo",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRedirects",
                "optional": false,
                "type": "nsIArray"
              }
            ],
            "iid_is": null,
            "name": "setRedirects",
            "type": "void"
          },
          {
            "name": "downloadPromise",
            "readonly": true,
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsITransfer.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIURIContentListener",
        "members": [
          {
            "args": [
              {
                "name": "aContentType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIsContentPreferred",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aContentHandler",
                "optional": false,
                "type": "OutParam<nsIStreamListener>"
              }
            ],
            "iid_is": null,
            "name": "doContent",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aContentType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aDesiredContentType",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "isPreferred",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aContentType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIsContentPreferred",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aDesiredContentType",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "canHandleContent",
            "type": "boolean"
          },
          {
            "name": "loadCookie",
            "readonly": false,
            "type": "nsISupports"
          },
          {
            "name": "parentContentListener",
            "readonly": false,
            "type": "nsIURIContentListener"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsIURIContentListener.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "IS_CONTENT_PREFERRED",
            "value": 1
          },
          {
            "name": "DONT_RETARGET",
            "value": 2
          },
          {
            "name": "IS_OBJECT_EMBED",
            "value": 4
          }
        ],
        "enums": [],
        "id": "nsIURILoader",
        "members": [
          {
            "args": [
              {
                "name": "aContentListener",
                "optional": false,
                "type": "nsIURIContentListener"
              }
            ],
            "iid_is": null,
            "name": "registerContentListener",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aContentListener",
                "optional": false,
                "type": "nsIURIContentListener"
              }
            ],
            "iid_is": null,
            "name": "unRegisterContentListener",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aChannel",
                "optional": false,
                "type": "nsIChannel"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aWindowContext",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              }
            ],
            "iid_is": null,
            "name": "openURI",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aChannel",
                "optional": false,
                "type": "nsIChannel"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aWindowContext",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              }
            ],
            "iid_is": null,
            "name": "openChannel",
            "type": "nsIStreamListener"
          },
          {
            "args": [
              {
                "name": "aLoadCookie",
                "optional": false,
                "type": "nsISupports"
              }
            ],
            "iid_is": null,
            "name": "stop",
            "type": "void"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsIURILoader.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "NOTIFY_STATE_REQUEST",
            "value": 1
          },
          {
            "name": "NOTIFY_STATE_DOCUMENT",
            "value": 2
          },
          {
            "name": "NOTIFY_STATE_NETWORK",
            "value": 4
          },
          {
            "name": "NOTIFY_STATE_WINDOW",
            "value": 8
          },
          {
            "name": "NOTIFY_STATE_ALL",
            "value": 15
          },
          {
            "name": "NOTIFY_PROGRESS",
            "value": 16
          },
          {
            "name": "NOTIFY_STATUS",
            "value": 32
          },
          {
            "name": "NOTIFY_SECURITY",
            "value": 64
          },
          {
            "name": "NOTIFY_LOCATION",
            "value": 128
          },
          {
            "name": "NOTIFY_REFRESH",
            "value": 256
          },
          {
            "name": "NOTIFY_CONTENT_BLOCKING",
            "value": 512
          },
          {
            "name": "NOTIFY_ALL",
            "value": 1023
          }
        ],
        "enums": [],
        "id": "nsIWebProgress",
        "members": [
          {
            "args": [
              {
                "name": "aListener",
                "optional": false,
                "type": "nsIWebProgressListener"
              },
              {
                "name": "aNotifyMask",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "addProgressListener",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aListener",
                "optional": false,
                "type": "nsIWebProgressListener"
              }
            ],
            "iid_is": null,
            "name": "removeProgressListener",
            "type": "void"
          },
          {
            "name": "browsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "name": "DOMWindow",
            "readonly": true,
            "type": "mozIDOMWindowProxy"
          },
          {
            "name": "isTopLevel",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isLoadingDocument",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "loadType",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "target",
            "readonly": false,
            "type": "nsIEventTarget"
          },
          {
            "name": "documentRequest",
            "readonly": true,
            "type": "nsIRequest"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsIWebProgress.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "STATE_START",
            "value": 1
          },
          {
            "name": "STATE_REDIRECTING",
            "value": 2
          },
          {
            "name": "STATE_TRANSFERRING",
            "value": 4
          },
          {
            "name": "STATE_NEGOTIATING",
            "value": 8
          },
          {
            "name": "STATE_STOP",
            "value": 16
          },
          {
            "name": "STATE_IS_REQUEST",
            "value": 65536
          },
          {
            "name": "STATE_IS_DOCUMENT",
            "value": 131072
          },
          {
            "name": "STATE_IS_NETWORK",
            "value": 262144
          },
          {
            "name": "STATE_IS_WINDOW",
            "value": 524288
          },
          {
            "name": "STATE_IS_REDIRECTED_DOCUMENT",
            "value": 1048576
          },
          {
            "name": "STATE_RESTORING",
            "value": 16777216
          },
          {
            "name": "STATE_IS_INSECURE",
            "value": 4
          },
          {
            "name": "STATE_IS_BROKEN",
            "value": 1
          },
          {
            "name": "STATE_IS_SECURE",
            "value": 2
          },
          {
            "name": "STATE_BLOCKED_MIXED_ACTIVE_CONTENT",
            "value": 16
          },
          {
            "name": "STATE_LOADED_MIXED_ACTIVE_CONTENT",
            "value": 32
          },
          {
            "name": "STATE_BLOCKED_MIXED_DISPLAY_CONTENT",
            "value": 256
          },
          {
            "name": "STATE_LOADED_MIXED_DISPLAY_CONTENT",
            "value": 512
          },
          {
            "name": "STATE_IDENTITY_EV_TOPLEVEL",
            "value": 1048576
          },
          {
            "name": "STATE_IDENTITY_ASSOCIATED",
            "value": 2097152
          },
          {
            "name": "STATE_USES_SSL_3",
            "value": 16777216
          },
          {
            "name": "STATE_USES_WEAK_CRYPTO",
            "value": 33554432
          },
          {
            "name": "STATE_CERT_USER_OVERRIDDEN",
            "value": 67108864
          },
          {
            "name": "STATE_BLOCKED_TRACKING_CONTENT",
            "value": 4096
          },
          {
            "name": "STATE_LOADED_LEVEL_1_TRACKING_CONTENT",
            "value": 8192
          },
          {
            "name": "STATE_LOADED_LEVEL_2_TRACKING_CONTENT",
            "value": 1048576
          },
          {
            "name": "STATE_BLOCKED_FINGERPRINTING_CONTENT",
            "value": 64
          },
          {
            "name": "STATE_LOADED_FINGERPRINTING_CONTENT",
            "value": 1024
          },
          {
            "name": "STATE_REPLACED_FINGERPRINTING_CONTENT",
            "value": 134217728
          },
          {
            "name": "STATE_ALLOWED_FINGERPRINTING_CONTENT",
            "value": 512
          },
          {
            "name": "STATE_BLOCKED_CRYPTOMINING_CONTENT",
            "value": 2048
          },
          {
            "name": "STATE_LOADED_CRYPTOMINING_CONTENT",
            "value": 2097152
          },
          {
            "name": "STATE_BLOCKED_UNSAFE_CONTENT",
            "value": 16384
          },
          {
            "name": "STATE_COOKIES_LOADED",
            "value": 32768
          },
          {
            "name": "STATE_COOKIES_LOADED_TRACKER",
            "value": 262144
          },
          {
            "name": "STATE_COOKIES_LOADED_SOCIALTRACKER",
            "value": 524288
          },
          {
            "name": "STATE_COOKIES_BLOCKED_BY_PERMISSION",
            "value": 268435456
          },
          {
            "name": "STATE_COOKIES_BLOCKED_TRACKER",
            "value": 536870912
          },
          {
            "name": "STATE_COOKIES_BLOCKED_SOCIALTRACKER",
            "value": 16777216
          },
          {
            "name": "STATE_COOKIES_BLOCKED_ALL",
            "value": 1073741824
          },
          {
            "name": "STATE_COOKIES_PARTITIONED_TRACKER",
            "value": 2
          },
          {
            "name": "STATE_COOKIES_PARTITIONED_FOREIGN",
            "value": 2147483648
          },
          {
            "name": "STATE_COOKIES_BLOCKED_FOREIGN",
            "value": 128
          },
          {
            "name": "STATE_BLOCKED_SOCIALTRACKING_CONTENT",
            "value": 65536
          },
          {
            "name": "STATE_LOADED_SOCIALTRACKING_CONTENT",
            "value": 131072
          },
          {
            "name": "STATE_REPLACED_TRACKING_CONTENT",
            "value": 16
          },
          {
            "name": "STATE_ALLOWED_TRACKING_CONTENT",
            "value": 32
          },
          {
            "name": "STATE_BLOCKED_EMAILTRACKING_CONTENT",
            "value": 4194304
          },
          {
            "name": "STATE_LOADED_EMAILTRACKING_LEVEL_1_CONTENT",
            "value": 8388608
          },
          {
            "name": "STATE_LOADED_EMAILTRACKING_LEVEL_2_CONTENT",
            "value": 256
          },
          {
            "name": "STATE_ALLOWED_CANVAS_FINGERPRINTING",
            "value": 33554432
          },
          {
            "name": "STATE_ALLOWED_FONT_FINGERPRINTING",
            "value": 67108864
          },
          {
            "name": "STATE_BLOCKED_SUSPICIOUS_FINGERPRINTING",
            "value": 4
          },
          {
            "name": "STATE_PURGED_BOUNCETRACKER",
            "value": 8
          },
          {
            "name": "STATE_HTTPS_ONLY_MODE_UPGRADED",
            "value": 4194304
          },
          {
            "name": "STATE_HTTPS_ONLY_MODE_UPGRADE_FAILED",
            "value": 8388608
          },
          {
            "name": "STATE_HTTPS_ONLY_MODE_UPGRADED_FIRST",
            "value": 134217728
          },
          {
            "name": "LOCATION_CHANGE_SAME_DOCUMENT",
            "value": 1
          },
          {
            "name": "LOCATION_CHANGE_ERROR_PAGE",
            "value": 2
          },
          {
            "name": "LOCATION_CHANGE_RELOAD",
            "value": 4
          },
          {
            "name": "LOCATION_CHANGE_HASHCHANGE",
            "value": 8
          },
          {
            "name": "LOCATION_CHANGE_SESSION_STORE",
            "value": 16
          }
        ],
        "enums": [],
        "id": "nsIWebProgressListener",
        "members": [
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aStateFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aStatus",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "onStateChange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aCurSelfProgress",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aMaxSelfProgress",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aCurTotalProgress",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aMaxTotalProgress",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "onProgressChange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aLocation",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "onLocationChange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aStatus",
                "optional": false,
                "type": "nsresult"
              },
              {
                "name": "aMessage",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "onStatusChange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aState",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "onSecurityChange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aEvent",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "onContentBlockingEvent",
            "type": "void"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsIWebProgressListener.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIWebProgressListener",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIWebProgressListener2",
        "members": [
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIRequest"
              },
              {
                "name": "aCurSelfProgress",
                "optional": false,
                "type": "i64"
              },
              {
                "name": "aMaxSelfProgress",
                "optional": false,
                "type": "i64"
              },
              {
                "name": "aCurTotalProgress",
                "optional": false,
                "type": "i64"
              },
              {
                "name": "aMaxTotalProgress",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "onProgressChange64",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWebProgress",
                "optional": false,
                "type": "nsIWebProgress"
              },
              {
                "name": "aRefreshURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aMillis",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aSameURI",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "onRefreshAttempted",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "uriloader/base/nsIWebProgressListener2.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]