[
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "set",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "get",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "exists",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIEnvironment",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "101d5941-d820-4e85-a266-9a3469940807"
  },
  {
    "consts": [
      {
        "name": "DISPATCH_NORMAL",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "DISPATCH_AT_END",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "DISPATCH_EVENT_MAY_BLOCK",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "DISPATCH_IGNORE_BLOCK_DISPATCH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "DISPATCH_FALLIBLE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "SUPPORTS_BASE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "SUPPORTS_SHUTDOWN_TASKS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "SUPPORTS_SHUTDOWN_TASK_DISPATCH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "SUPPORTS_PRIORITIZATION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "SUPPORTS_TAIL_DISPATCH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hidden"
        ],
        "name": "isOnCurrentThreadInfallible",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isOnCurrentThread",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "dispatchFromC",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "dispatch",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRunnable",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "delayedDispatch",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "registerShutdownTask",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "unregisterShutdownTask",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getFeatures",
        "params": []
      }
    ],
    "name": "nsIEventTarget",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "a03b8b63-af8b-4164-b0e5-c41e8b2b7cfa"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "name",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          }
        ]
      }
    ],
    "name": "nsINamed",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "0c5fe7de-7e83-4d0d-a8a6-4a6518b9a7b3"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "init",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIFile",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "kill",
        "params": []
      },
      {
        "flags": [],
        "name": "run",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_PSTRING"
              },
              "size_is": 2,
              "tag": "TD_LEGACY_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "runAsync",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_PSTRING"
              },
              "size_is": 1,
              "tag": "TD_LEGACY_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "runw",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_PWSTRING"
              },
              "size_is": 2,
              "tag": "TD_LEGACY_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "runwAsync",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_PWSTRING"
              },
              "size_is": 1,
              "tag": "TD_LEGACY_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "startHidden",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "startHidden",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "noShell",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "noShell",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "pid",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "exitValue",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isRunning",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIProcess",
    "needs_scriptable": [
      "nsIFile",
      "nsIObserver"
    ],
    "parent": "nsISupports",
    "uuid": "609610de-9954-4a63-8a7c-346350a86403"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "run",
        "params": []
      }
    ],
    "name": "nsIRunnable",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "4a2abaf0-6886-11d3-9382-00104ba0fd40"
  },
  {
    "consts": [
      {
        "name": "PRIORITY_IDLE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "PRIORITY_DEFERRED_TIMERS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "PRIORITY_LOW",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "PRIORITY_NORMAL",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "PRIORITY_MEDIUMHIGH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "PRIORITY_INPUT_HIGH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 6
      },
      {
        "name": "PRIORITY_VSYNC",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 7
      },
      {
        "name": "PRIORITY_RENDER_BLOCKING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 9
      },
      {
        "name": "PRIORITY_CONTROL",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 10
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "priority",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIRunnablePriority",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "e75aa42a-80a9-11e6-afb5-e89d87348e2c"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [],
    "name": "nsISerialEventTarget",
    "needs_scriptable": [],
    "parent": "nsIEventTarget",
    "uuid": "9f982380-24b4-49f3-88f6-45e2952036c7"
  },
  {
    "consts": [
      {
        "name": "PRIORITY_HIGHEST",
        "type": {
          "tag": "TD_INT32"
        },
        "value": -20
      },
      {
        "name": "PRIORITY_HIGH",
        "type": {
          "tag": "TD_INT32"
        },
        "value": -10
      },
      {
        "name": "PRIORITY_NORMAL",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "PRIORITY_LOW",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 10
      },
      {
        "name": "PRIORITY_LOWEST",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 20
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "priority",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "priority",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "adjustPriority",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      }
    ],
    "name": "nsISupportsPriority",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "aa578b44-abd5-4c19-8b14-36d4de6fdc36"
  },
  {
    "consts": [
      {
        "name": "QOS_PRIORITY_NORMAL",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "QOS_PRIORITY_LOW",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "PRThread",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "CanInvokeJS",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter",
          "hidden"
        ],
        "name": "CanInvokeJS",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "shutdown",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "hasPendingEvents",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "hasPendingHighPriorityEvents",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "processNextEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncShutdown",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "beginShutdown",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIThreadShutdown",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "dispatchToQueue",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "lastLongTaskEnd",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "lastLongNonIdleTaskEnd",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getRunningEventDelay",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "setRunningEventDelay",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "setThreadQoS",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIThread",
    "needs_scriptable": [],
    "parent": "nsISerialEventTarget",
    "uuid": "5801d193-29d1-4964-a6b7-70eb697ddf2b"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "isDone",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsINestedEventLoopCondition",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "039a227d-0cb7-44a5-a8f9-dbb7071979f2"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "newNamedThread",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIThread",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "mainThread",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIThread",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "currentThread",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIThread",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc"
        ],
        "name": "dispatchToMainThread",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRunnable",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc"
        ],
        "name": "dispatchToMainThreadWithMicroTask",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRunnable",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "idleDispatchToMainThread",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRunnable",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "dispatchDirectTaskToCurrentThread",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRunnable",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "spinEventLoopUntil",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsINestedEventLoopCondition",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "spinEventLoopUntilOrQuit",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsINestedEventLoopCondition",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "spinEventLoopUntilEmpty",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "mainThreadEventTarget",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIEventTarget",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIThreadManager",
    "needs_scriptable": [
      "nsIEventTarget",
      "nsIRunnable",
      "nsIThread"
    ],
    "parent": "nsISupports",
    "uuid": "1be89eca-e2f7-453b-8d38-c11ba247f6f3"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onCompletion",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRunnable",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "completed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "stopWaitingAndLeakThread",
        "params": []
      }
    ],
    "name": "nsIThreadShutdown",
    "needs_scriptable": [
      "nsIRunnable"
    ],
    "parent": "nsISupports",
    "uuid": "70a43748-6130-4ea6-a440-7c74e1b7dd7c"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "notify",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITimer",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsITimerCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "a796816d-7d47-4348-9ab8-c7aeb3216a7d"
  },
  {
    "consts": [
      {
        "name": "TYPE_ONE_SHOT",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 0
      },
      {
        "name": "TYPE_REPEATING_SLACK",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 1
      },
      {
        "name": "TYPE_REPEATING_PRECISE",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 2
      },
      {
        "name": "TYPE_REPEATING_PRECISE_CAN_SKIP",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 3
      },
      {
        "name": "TYPE_REPEATING_SLACK_LOW_PRIORITY",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 4
      },
      {
        "name": "TYPE_ONE_SHOT_LOW_PRIORITY",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 5
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [],
        "name": "init",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "initWithCallback",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITimerCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "initHighResolutionWithCallback",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITimerCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "cancel",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "initWithNamedFuncCallback",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "initHighResolutionWithNamedFuncCallback",
        "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_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "delay",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "delay",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "type",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "type",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "closure",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "callback",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsITimerCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "target",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIEventTarget",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "target",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIEventTarget",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "name",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "allowedEarlyFiringMicroseconds",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "sizeOfIncludingThis",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      }
    ],
    "name": "nsITimer",
    "needs_scriptable": [
      "nsIEventTarget",
      "nsIObserver"
    ],
    "parent": "nsISupports",
    "uuid": "3de4b105-363c-482c-a409-baac83a01bfc"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getTimers",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "name": "nsITimer",
                "tag": "TD_INTERFACE_TYPE"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      }
    ],
    "name": "nsITimerManager",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "5482506d-1d21-4d08-b01c-95c87e1295ad"
  }
]