[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "imgICache",
        "members": [
          {
            "args": [
              {
                "name": "chrome",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "clearCache",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "removeEntriesFromPrincipalInAllProcesses",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aBaseDomain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "OriginAttributesPattern",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "removeEntriesFromSiteInAllProcesses",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "doc",
                "optional": true,
                "type": "Document"
              }
            ],
            "iid_is": null,
            "name": "findEntryProperties",
            "type": "nsIProperties"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "respectPrivacyNotifications",
            "type": "void"
          }
        ]
      }
    ],
    "path": "image/imgICache.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "TYPE_RASTER",
            "value": 0
          },
          {
            "name": "TYPE_VECTOR",
            "value": 1
          },
          {
            "name": "TYPE_REQUEST",
            "value": 2
          },
          {
            "name": "FLAG_NONE",
            "value": 0
          },
          {
            "name": "FLAG_SYNC_DECODE",
            "value": 1
          },
          {
            "name": "FLAG_SYNC_DECODE_IF_FAST",
            "value": 2
          },
          {
            "name": "FLAG_ASYNC_NOTIFY",
            "value": 4
          },
          {
            "name": "FLAG_DECODE_NO_PREMULTIPLY_ALPHA",
            "value": 8
          },
          {
            "name": "FLAG_DECODE_NO_COLORSPACE_CONVERSION",
            "value": 16
          },
          {
            "name": "FLAG_CLAMP",
            "value": 32
          },
          {
            "name": "FLAG_HIGH_QUALITY_SCALING",
            "value": 64
          },
          {
            "name": "FLAG_BYPASS_SURFACE_CACHE",
            "value": 128
          },
          {
            "name": "FLAG_FORCE_PRESERVEASPECTRATIO_NONE",
            "value": 256
          },
          {
            "name": "FLAG_FORCE_UNIFORM_SCALING",
            "value": 512
          },
          {
            "name": "FLAG_AVOID_REDECODE_FOR_SIZE",
            "value": 1024
          },
          {
            "name": "FLAG_DECODE_TO_SRGB_COLORSPACE",
            "value": 2048
          },
          {
            "name": "FLAG_RECORD_BLOB",
            "value": 4096
          },
          {
            "name": "DECODE_FLAGS_DEFAULT",
            "value": 0
          },
          {
            "name": "DECODE_FLAGS_FOR_REENCODE",
            "value": 2056
          },
          {
            "name": "FRAME_FIRST",
            "value": 0
          },
          {
            "name": "FRAME_CURRENT",
            "value": 1
          },
          {
            "name": "FRAME_MAX_VALUE",
            "value": 1
          },
          {
            "name": "kNormalAnimMode",
            "value": 0
          },
          {
            "name": "kDontAnimMode",
            "value": 1
          },
          {
            "name": "kLoopOnceAnimMode",
            "value": 2
          }
        ],
        "enums": [
          {
            "id": "DecodeResult",
            "variants": [
              {
                "name": "DECODE_SURFACE_AVAILABLE",
                "value": 0
              },
              {
                "name": "DECODE_REQUESTED",
                "value": 1
              },
              {
                "name": "DECODE_REQUEST_FAILED",
                "value": 2
              }
            ]
          }
        ],
        "id": "imgIContainer",
        "members": [
          {
            "name": "width",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "height",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "hotspotX",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "hotspotY",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "type",
            "readonly": true,
            "type": "u16"
          },
          {
            "name": "animated",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "providerId",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "lockImage",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "unlockImage",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "requestDiscard",
            "type": "void"
          },
          {
            "name": "animationMode",
            "readonly": false,
            "type": "u16"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "resetAnimation",
            "type": "void"
          }
        ]
      }
    ],
    "path": "image/imgIContainer.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "imgIContainerDebug",
        "members": [
          {
            "name": "framesNotified",
            "readonly": true,
            "type": "u32"
          }
        ]
      }
    ],
    "path": "image/imgIContainerDebug.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIAsyncInputStream",
        "callable": false,
        "consts": [
          {
            "name": "INPUT_FORMAT_RGB",
            "value": 0
          },
          {
            "name": "INPUT_FORMAT_RGBA",
            "value": 1
          },
          {
            "name": "INPUT_FORMAT_HOSTARGB",
            "value": 2
          },
          {
            "name": "INPUT_FORMAT_R10G10B10A2",
            "value": 3
          },
          {
            "name": "INPUT_FORMAT_RGBA_U10",
            "value": 4
          },
          {
            "name": "INPUT_FORMAT_RGBA_U12",
            "value": 5
          },
          {
            "name": "INPUT_FORMAT_RGBA_U16",
            "value": 6
          },
          {
            "name": "INPUT_FORMAT_RGBA_F16",
            "value": 7
          }
        ],
        "enums": [
          {
            "id": "CICPColourPrimaries",
            "variants": [
              {
                "name": "CP_BT709",
                "value": 1
              },
              {
                "name": "CP_UNSPECIFIED",
                "value": 2
              },
              {
                "name": "CP_BT470M",
                "value": 4
              },
              {
                "name": "CP_BT470BG",
                "value": 5
              },
              {
                "name": "CP_BT601",
                "value": 6
              },
              {
                "name": "CP_SMPTE240",
                "value": 7
              },
              {
                "name": "CP_GENERIC_FILM",
                "value": 8
              },
              {
                "name": "CP_BT2020",
                "value": 9
              },
              {
                "name": "CP_XYZ",
                "value": 10
              },
              {
                "name": "CP_SMPTE431",
                "value": 11
              },
              {
                "name": "CP_SMPTE432",
                "value": 12
              },
              {
                "name": "CP_EBU3213",
                "value": 22
              }
            ]
          },
          {
            "id": "CICPTransferCharacteristics",
            "variants": [
              {
                "name": "TC_BT709",
                "value": 1
              },
              {
                "name": "TC_UNSPECIFIED",
                "value": 2
              },
              {
                "name": "TC_BT470M",
                "value": 4
              },
              {
                "name": "TC_BT470BG",
                "value": 5
              },
              {
                "name": "TC_BT601",
                "value": 6
              },
              {
                "name": "TC_SMPTE240",
                "value": 7
              },
              {
                "name": "TC_LINEAR",
                "value": 8
              },
              {
                "name": "TC_LOG_100",
                "value": 9
              },
              {
                "name": "TC_LOG_100_SQRT10",
                "value": 10
              },
              {
                "name": "TC_IEC61966",
                "value": 11
              },
              {
                "name": "TC_BT_1361",
                "value": 12
              },
              {
                "name": "TC_SRGB",
                "value": 13
              },
              {
                "name": "TC_BT2020_10BIT",
                "value": 14
              },
              {
                "name": "TC_BT2020_12BIT",
                "value": 15
              },
              {
                "name": "TC_SMPTE2084",
                "value": 16
              },
              {
                "name": "TC_SMPTE428",
                "value": 17
              },
              {
                "name": "TC_HLG",
                "value": 18
              }
            ]
          },
          {
            "id": "CICPMatrixCoefficients",
            "variants": [
              {
                "name": "MC_IDENTITY",
                "value": 0
              },
              {
                "name": "MC_BT709",
                "value": 1
              },
              {
                "name": "MC_UNSPECIFIED",
                "value": 2
              },
              {
                "name": "MC_FCC",
                "value": 4
              },
              {
                "name": "MC_BT470BG",
                "value": 5
              },
              {
                "name": "MC_BT601",
                "value": 6
              },
              {
                "name": "MC_SMPTE240",
                "value": 7
              },
              {
                "name": "MC_YCGCO",
                "value": 8
              },
              {
                "name": "MC_BT2020_NCL",
                "value": 9
              },
              {
                "name": "MC_BT2020_CL",
                "value": 10
              },
              {
                "name": "MC_SMPTE2085",
                "value": 11
              },
              {
                "name": "MC_CHROMAT_NCL",
                "value": 12
              },
              {
                "name": "MC_CHROMAT_CL",
                "value": 13
              },
              {
                "name": "MC_ICTCP",
                "value": 14
              }
            ]
          }
        ],
        "id": "imgIEncoder",
        "members": [
          {
            "args": [
              {
                "name": "colourPrimaries",
                "optional": false,
                "type": "imgIEncoder.CICPColourPrimaries"
              },
              {
                "name": "transferCharacteristics",
                "optional": false,
                "type": "imgIEncoder.CICPTransferCharacteristics"
              },
              {
                "name": "matrixCoefficients",
                "optional": false,
                "type": "imgIEncoder.CICPMatrixCoefficients"
              },
              {
                "name": "fullRange",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setColorSpaceInfo",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "width",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "height",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "stride",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "inputFormat",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "outputOptions",
                "optional": false,
                "type": "string"
              },
              {
                "name": "randomizationKey",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "initFromData",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "width",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "height",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "inputFormat",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "outputOptions",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "startImageEncode",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "width",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "height",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "stride",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "frameFormat",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "frameOptions",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "addImageFrame",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "endImageEncode",
            "type": "void"
          }
        ]
      }
    ],
    "path": "image/imgIEncoder.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "LOAD_CORS_ANONYMOUS",
            "value": 65536
          },
          {
            "name": "LOAD_CORS_USE_CREDENTIALS",
            "value": 131072
          }
        ],
        "enums": [],
        "id": "imgILoader",
        "members": [
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aInitialDocumentURL",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aReferrerInfo",
                "optional": false,
                "type": "nsIReferrerInfo"
              },
              {
                "name": "aLoadingPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aLoadGroup",
                "optional": false,
                "type": "nsILoadGroup"
              },
              {
                "name": "aObserver",
                "optional": false,
                "type": "imgINotificationObserver"
              },
              {
                "name": "aLoadingDocument",
                "optional": false,
                "type": "Document"
              },
              {
                "name": "aLoadFlags",
                "optional": false,
                "type": "nsLoadFlags"
              },
              {
                "name": "cacheKey",
                "optional": false,
                "type": "nsISupports"
              },
              {
                "name": "aContentPolicyType",
                "optional": true,
                "type": "nsContentPolicyType"
              }
            ],
            "iid_is": null,
            "name": "loadImageXPCOM",
            "type": "imgIRequest"
          },
          {
            "args": [
              {
                "name": "aChannel",
                "optional": false,
                "type": "nsIChannel"
              },
              {
                "name": "aObserver",
                "optional": false,
                "type": "imgINotificationObserver"
              },
              {
                "name": "aLoadingDocument",
                "optional": false,
                "type": "Document"
              },
              {
                "name": "aListener",
                "optional": false,
                "type": "OutParam<nsIStreamListener>"
              }
            ],
            "iid_is": null,
            "name": "loadImageWithChannelXPCOM",
            "type": "imgIRequest"
          }
        ]
      }
    ],
    "path": "image/imgILoader.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ],
      [
        "nsContentPolicyType",
        "nsIContentPolicy.nsContentPolicyType"
      ],
      [
        "nsLoadFlags",
        "u32"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "SIZE_AVAILABLE",
            "value": 1
          },
          {
            "name": "FRAME_UPDATE",
            "value": 2
          },
          {
            "name": "FRAME_COMPLETE",
            "value": 3
          },
          {
            "name": "LOAD_COMPLETE",
            "value": 4
          },
          {
            "name": "DECODE_COMPLETE",
            "value": 5
          },
          {
            "name": "DISCARD",
            "value": 6
          },
          {
            "name": "UNLOCKED_DRAW",
            "value": 7
          },
          {
            "name": "IS_ANIMATED",
            "value": 8
          },
          {
            "name": "HAS_TRANSPARENCY",
            "value": 9
          }
        ],
        "enums": [],
        "id": "imgINotificationObserver",
        "members": []
      }
    ],
    "path": "image/imgINotificationObserver.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIRequest",
        "callable": false,
        "consts": [
          {
            "name": "STATUS_NONE",
            "value": 0
          },
          {
            "name": "STATUS_SIZE_AVAILABLE",
            "value": 1
          },
          {
            "name": "STATUS_LOAD_COMPLETE",
            "value": 2
          },
          {
            "name": "STATUS_ERROR",
            "value": 4
          },
          {
            "name": "STATUS_FRAME_COMPLETE",
            "value": 8
          },
          {
            "name": "STATUS_DECODE_COMPLETE",
            "value": 16
          },
          {
            "name": "STATUS_IS_ANIMATED",
            "value": 32
          },
          {
            "name": "STATUS_HAS_TRANSPARENCY",
            "value": 64
          },
          {
            "name": "CATEGORY_FRAME_INIT",
            "value": 1
          },
          {
            "name": "CATEGORY_FRAME_STYLE",
            "value": 2
          },
          {
            "name": "CATEGORY_SIZE_QUERY",
            "value": 4
          },
          {
            "name": "CATEGORY_DISPLAY",
            "value": 8
          }
        ],
        "enums": [],
        "id": "imgIRequest",
        "members": [
          {
            "name": "image",
            "readonly": true,
            "type": "imgIContainer"
          },
          {
            "name": "providerId",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "triggeringPrincipal",
            "readonly": true,
            "type": "nsIPrincipal"
          },
          {
            "name": "imageStatus",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "URI",
            "readonly": true,
            "type": "nsIURI"
          },
          {
            "name": "finalURI",
            "readonly": true,
            "type": "nsIURI"
          },
          {
            "name": "notificationObserver",
            "readonly": true,
            "type": "imgINotificationObserver"
          },
          {
            "name": "mimeType",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "fileName",
            "readonly": true,
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "imgINotificationObserver"
              }
            ],
            "iid_is": null,
            "name": "clone",
            "type": "imgIRequest"
          },
          {
            "name": "imagePrincipal",
            "readonly": true,
            "type": "nsIPrincipal"
          },
          {
            "name": "hadCrossOriginRedirects",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "multipart",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "CORSMode",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "referrerInfo",
            "readonly": true,
            "type": "nsIReferrerInfo"
          },
          {
            "args": [
              {
                "name": "aStatus",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "cancelAndForgetObserver",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "startDecoding",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "lockImage",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "unlockImage",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "requestDiscard",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getStaticRequest",
            "type": "imgIRequest"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "incrementAnimationConsumers",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "decrementAnimationConsumers",
            "type": "void"
          },
          {
            "name": "hasAnimationConsumers",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aCategory",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "boostPriority",
            "type": "void"
          }
        ]
      }
    ],
    "path": "image/imgIRequest.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ],
      [
        "nsLoadFlags",
        "u32"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "imgIScriptedNotificationObserver",
        "members": [
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "sizeAvailable",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "frameUpdate",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "frameComplete",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "loadComplete",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "decodeComplete",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "discard",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "isAnimated",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "imgIRequest"
              }
            ],
            "iid_is": null,
            "name": "hasTransparency",
            "type": "void"
          }
        ]
      }
    ],
    "path": "image/imgIScriptedNotificationObserver.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "imgITools",
        "members": [
          {
            "args": [
              {
                "name": "aBuffer",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aSize",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aMimeType",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "decodeImageFromBuffer",
            "type": "imgIContainer"
          },
          {
            "args": [
              {
                "name": "aArrayBuffer",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aMimeType",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "decodeImageFromArrayBuffer",
            "type": "imgIContainer"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aChannel",
                "optional": false,
                "type": "nsIChannel"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "imgIContainerCallback"
              },
              {
                "name": "aObserver",
                "optional": false,
                "type": "imgINotificationObserver"
              }
            ],
            "iid_is": null,
            "name": "decodeImageFromChannelAsync",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aStream",
                "optional": false,
                "type": "nsIInputStream"
              },
              {
                "name": "aMimeType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "imgIContainerCallback"
              },
              {
                "name": "aEventTarget",
                "optional": false,
                "type": "nsIEventTarget"
              }
            ],
            "iid_is": null,
            "name": "decodeImageAsync",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aContainer",
                "optional": false,
                "type": "imgIContainer"
              },
              {
                "name": "aMimeType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "outputOptions",
                "optional": true,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "encodeImage",
            "type": "nsIInputStream"
          },
          {
            "args": [
              {
                "name": "aContainer",
                "optional": false,
                "type": "imgIContainer"
              },
              {
                "name": "aMimeType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "outputOptions",
                "optional": true,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "encodeScaledImage",
            "type": "nsIInputStream"
          },
          {
            "args": [
              {
                "name": "doc",
                "optional": false,
                "type": "Document"
              }
            ],
            "iid_is": null,
            "name": "getImgLoaderForDocument",
            "type": "imgILoader"
          },
          {
            "args": [
              {
                "name": "doc",
                "optional": false,
                "type": "Document"
              }
            ],
            "iid_is": null,
            "name": "getImgCacheForDocument",
            "type": "imgICache"
          },
          {
            "args": [
              {
                "name": "aContainer",
                "optional": false,
                "type": "imgIContainer"
              },
              {
                "name": "aMimeType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOffsetX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aOffsetY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "outputOptions",
                "optional": true,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "encodeCroppedImage",
            "type": "nsIInputStream"
          },
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "imgIScriptedNotificationObserver"
              }
            ],
            "iid_is": null,
            "name": "createScriptedObserver",
            "type": "imgINotificationObserver"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "imgIContainerCallback",
        "members": [
          {
            "args": [
              {
                "name": "aImage",
                "optional": false,
                "type": "imgIContainer"
              },
              {
                "name": "aStatus",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "onImageReady",
            "type": "void"
          }
        ]
      }
    ],
    "path": "image/imgITools.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsIURI",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIMozIconURI",
        "members": [
          {
            "name": "iconURL",
            "readonly": true,
            "type": "nsIURL"
          },
          {
            "name": "imageSize",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "imageScale",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "imageDark",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "stockIcon",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "contentType",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "fileExtension",
            "readonly": true,
            "type": "string"
          }
        ]
      }
    ],
    "path": "image/nsIIconURI.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]