[
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [],
        "name": "clearCache",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "removeEntry",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeEntriesFromPrincipalInAllProcesses",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "removeEntriesFromSiteInAllProcesses",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "findEntryProperties",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIProperties",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "respectPrivacyNotifications",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "clearCacheForControlledDocument",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      }
    ],
    "name": "imgICache",
    "needs_scriptable": [
      "nsIPrincipal",
      "nsIProperties",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "bfdf23ff-378e-402e-8a6c-840f0c82b6c3"
  },
  {
    "consts": [
      {
        "name": "TYPE_RASTER",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 0
      },
      {
        "name": "TYPE_VECTOR",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 1
      },
      {
        "name": "TYPE_REQUEST",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 2
      },
      {
        "name": "FLAG_NONE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "FLAG_SYNC_DECODE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "FLAG_SYNC_DECODE_IF_FAST",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "FLAG_ASYNC_NOTIFY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "FLAG_DECODE_NO_PREMULTIPLY_ALPHA",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "FLAG_DECODE_NO_COLORSPACE_CONVERSION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "FLAG_CLAMP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "FLAG_HIGH_QUALITY_SCALING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 64
      },
      {
        "name": "FLAG_BYPASS_SURFACE_CACHE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 128
      },
      {
        "name": "FLAG_FORCE_PRESERVEASPECTRATIO_NONE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 256
      },
      {
        "name": "FLAG_FORCE_UNIFORM_SCALING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 512
      },
      {
        "name": "FLAG_AVOID_REDECODE_FOR_SIZE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1024
      },
      {
        "name": "FLAG_DECODE_TO_SRGB_COLORSPACE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2048
      },
      {
        "name": "FLAG_RECORD_BLOB",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4096
      },
      {
        "name": "DECODE_FLAGS_DEFAULT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "DECODE_FLAGS_FOR_REENCODE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2056
      },
      {
        "name": "FRAME_FIRST",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "FRAME_CURRENT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "FRAME_MAX_VALUE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "DECODE_SURFACE_AVAILABLE",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 0
      },
      {
        "name": "DECODE_REQUESTED",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "DECODE_REQUEST_FAILED",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 2
      },
      {
        "name": "kNormalAnimMode",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 0
      },
      {
        "name": "kDontAnimMode",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 1
      },
      {
        "name": "kLoopOnceAnimMode",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 2
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "width",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "height",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "intrinsicSize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "intrinsicSizeInAppUnits",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "intrinsicRatio",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hotspotX",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hotspotY",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "optimalImageSizeForDest",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "type",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "animated",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "providerId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getFrame",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getFrameAtSize",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "willDrawOpaqueNow",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "hasDecodedPixels",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "isImageContainerAvailable",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getImageProvider",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "draw",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "startDecoding",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "startDecodingWithResult",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "requestDecodeWithResult",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "requestDecodeForSize",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "lockImage",
        "params": []
      },
      {
        "flags": [],
        "name": "unlockImage",
        "params": []
      },
      {
        "flags": [],
        "name": "requestDiscard",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "requestRefresh",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "animationMode",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "animationMode",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "resetAnimation",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getFrameIndex",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getOrientation",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getResolution",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getFirstFrameDelay",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "setAnimationStartTime",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getImageSpaceInvalidationRect",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "unwrap",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "propagateUseCounters",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "mediaFeatureValuesChangedAllDocuments",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "getNativeSizes",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "tag": "TD_VOID"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getNativeSizesLength",
        "params": []
      }
    ],
    "name": "imgIContainer",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "a8dbee24-ff86-4755-b40e-51175caf31af"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "framesNotified",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "imgIContainerDebug",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "52cbb839-6e63-4a70-b21a-1db4ca706c49"
  },
  {
    "consts": [
      {
        "name": "INPUT_FORMAT_RGB",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "INPUT_FORMAT_RGBA",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "INPUT_FORMAT_HOSTARGB",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "INPUT_FORMAT_R10G10B10A2",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "INPUT_FORMAT_RGBA_U10",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "INPUT_FORMAT_RGBA_U12",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "INPUT_FORMAT_RGBA_U16",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 6
      },
      {
        "name": "INPUT_FORMAT_RGBA_F16",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 7
      },
      {
        "name": "CP_BT709",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "CP_UNSPECIFIED",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 2
      },
      {
        "name": "CP_BT470M",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 4
      },
      {
        "name": "CP_BT470BG",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 5
      },
      {
        "name": "CP_BT601",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 6
      },
      {
        "name": "CP_SMPTE240",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 7
      },
      {
        "name": "CP_GENERIC_FILM",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 8
      },
      {
        "name": "CP_BT2020",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 9
      },
      {
        "name": "CP_XYZ",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 10
      },
      {
        "name": "CP_SMPTE431",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 11
      },
      {
        "name": "CP_SMPTE432",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 12
      },
      {
        "name": "CP_EBU3213",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 22
      },
      {
        "name": "TC_BT709",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "TC_UNSPECIFIED",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 2
      },
      {
        "name": "TC_BT470M",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 4
      },
      {
        "name": "TC_BT470BG",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 5
      },
      {
        "name": "TC_BT601",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 6
      },
      {
        "name": "TC_SMPTE240",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 7
      },
      {
        "name": "TC_LINEAR",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 8
      },
      {
        "name": "TC_LOG_100",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 9
      },
      {
        "name": "TC_LOG_100_SQRT10",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 10
      },
      {
        "name": "TC_IEC61966",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 11
      },
      {
        "name": "TC_BT_1361",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 12
      },
      {
        "name": "TC_SRGB",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 13
      },
      {
        "name": "TC_BT2020_10BIT",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 14
      },
      {
        "name": "TC_BT2020_12BIT",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 15
      },
      {
        "name": "TC_SMPTE2084",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 16
      },
      {
        "name": "TC_SMPTE428",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 17
      },
      {
        "name": "TC_HLG",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 18
      },
      {
        "name": "MC_IDENTITY",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 0
      },
      {
        "name": "MC_BT709",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "MC_UNSPECIFIED",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 2
      },
      {
        "name": "MC_FCC",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 4
      },
      {
        "name": "MC_BT470BG",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 5
      },
      {
        "name": "MC_BT601",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 6
      },
      {
        "name": "MC_SMPTE240",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 7
      },
      {
        "name": "MC_YCGCO",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 8
      },
      {
        "name": "MC_BT2020_NCL",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 9
      },
      {
        "name": "MC_BT2020_CL",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 10
      },
      {
        "name": "MC_SMPTE2085",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 11
      },
      {
        "name": "MC_CHROMAT_NCL",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 12
      },
      {
        "name": "MC_CHROMAT_CL",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 13
      },
      {
        "name": "MC_ICTCP",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 14
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [],
        "name": "setColorSpaceInfo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "initFromData",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_UINT8"
              },
              "size_is": 1,
              "tag": "TD_LEGACY_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "startImageEncode",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addImageFrame",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_UINT8"
              },
              "size_is": 1,
              "tag": "TD_LEGACY_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "endImageEncode",
        "params": []
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "getImageBufferUsed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "getImageBuffer",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      }
    ],
    "name": "imgIEncoder",
    "needs_scriptable": [],
    "parent": "nsIAsyncInputStream",
    "uuid": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
  },
  {
    "consts": [
      {
        "name": "LOAD_CORS_ANONYMOUS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 65536
      },
      {
        "name": "LOAD_CORS_USE_CREDENTIALS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 131072
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "loadImageXPCOM",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadGroup",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgINotificationObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "loadImageWithChannelXPCOM",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgINotificationObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIStreamListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "imgILoader",
    "needs_scriptable": [
      "imgINotificationObserver",
      "imgIRequest",
      "nsIChannel",
      "nsILoadGroup",
      "nsIPrincipal",
      "nsIReferrerInfo",
      "nsIStreamListener",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "e61377d2-910e-4c65-a64b-428d150e1fd1"
  },
  {
    "consts": [
      {
        "name": "SIZE_AVAILABLE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "FRAME_UPDATE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "FRAME_COMPLETE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 3
      },
      {
        "name": "LOAD_COMPLETE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 4
      },
      {
        "name": "DECODE_COMPLETE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 5
      },
      {
        "name": "DISCARD",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 6
      },
      {
        "name": "UNLOCKED_DRAW",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 7
      },
      {
        "name": "IS_ANIMATED",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 8
      },
      {
        "name": "HAS_TRANSPARENCY",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 9
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hidden"
        ],
        "name": "notify",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      }
    ],
    "name": "imgINotificationObserver",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "03da5641-a333-454a-a859-036d0bb683b7"
  },
  {
    "consts": [
      {
        "name": "STATUS_NONE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "STATUS_SIZE_AVAILABLE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "STATUS_LOAD_COMPLETE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "STATUS_ERROR",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 4
      },
      {
        "name": "STATUS_FRAME_COMPLETE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 8
      },
      {
        "name": "STATUS_DECODE_COMPLETE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 16
      },
      {
        "name": "STATUS_IS_ANIMATED",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 32
      },
      {
        "name": "STATUS_HAS_TRANSPARENCY",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 64
      },
      {
        "name": "CATEGORY_FRAME_INIT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "CATEGORY_FRAME_STYLE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "CATEGORY_SIZE_QUERY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "CATEGORY_DISPLAY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "image",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgIContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "providerId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "triggeringPrincipal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "imageStatus",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "imageErrorCode",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "URI",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "finalURI",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "notificationObserver",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgINotificationObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "mimeType",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "fileName",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "clone",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgINotificationObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "imagePrincipal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hadCrossOriginRedirects",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "multipart",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "CORSMode",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "referrerInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "cancelAndForgetObserver",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "startDecoding",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "startDecodingWithResult",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "requestDecodeWithResult",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "hasDecodedPixels",
        "params": []
      },
      {
        "flags": [],
        "name": "lockImage",
        "params": []
      },
      {
        "flags": [],
        "name": "unlockImage",
        "params": []
      },
      {
        "flags": [],
        "name": "requestDiscard",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getStaticRequest",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "incrementAnimationConsumers",
        "params": []
      },
      {
        "flags": [],
        "name": "decrementAnimationConsumers",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasAnimationConsumers",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "boostPriority",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "imgIRequest",
    "needs_scriptable": [
      "imgINotificationObserver",
      "nsIPrincipal",
      "nsIReferrerInfo",
      "nsIURI"
    ],
    "parent": "nsIRequest",
    "uuid": "db0a945c-3883-424a-98d0-2ee0523b0255"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "sizeAvailable",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "frameUpdate",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "frameComplete",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "loadComplete",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "decodeComplete",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "discard",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "isAnimated",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "hasTransparency",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "imgIScriptedNotificationObserver",
    "needs_scriptable": [
      "imgIRequest"
    ],
    "parent": "nsISupports",
    "uuid": "10be55b3-2029-41a7-a975-538efed250ed"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "decodeImageFromBuffer",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgIContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "decodeImageFromArrayBuffer",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgIContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "decodeImageFromChannelAsync",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIContainerCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgINotificationObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "decodeImageAsync",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIContainerCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIEventTarget",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "encodeImage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "encodeScaledImage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getImgLoaderForDocument",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgILoader",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getImgCacheForDocument",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Document.h",
              "name": "Document",
              "native": "mozilla::dom::Document",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgICache",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "encodeCroppedImage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "createScriptedObserver",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIScriptedNotificationObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "imgINotificationObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "imgITools",
    "needs_scriptable": [
      "imgICache",
      "imgIContainer",
      "imgILoader",
      "imgINotificationObserver",
      "imgIScriptedNotificationObserver",
      "nsIChannel",
      "nsIEventTarget",
      "nsIInputStream",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "4c2383a4-931c-484d-8c4a-973590f66e3f"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onImageReady",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "imgIContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "imgIContainerCallback",
    "needs_scriptable": [
      "imgIContainer"
    ],
    "parent": "nsISupports",
    "uuid": "f195772c-a4c0-47ae-80ca-211e001c67be"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "iconURL",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIURL",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "imageSize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "imageScale",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "imageDark",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "stockIcon",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "contentType",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "fileExtension",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIMozIconURI",
    "needs_scriptable": [],
    "parent": "nsIURI",
    "uuid": "f8fe5ef2-5f2b-43f3-857d-5b64d192c427"
  }
]