[
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "dropLinks",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_ASTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "swapBrowsers",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIBrowser",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "closeBrowser",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isRemoteBrowser",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "permanentKey",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "contentPrincipal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "contentPartitionedPrincipal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "policyContainer",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPolicyContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "referrerInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isNavigating",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "isNavigating",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "mayEnableCharacterEncodingMenu",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "mayEnableCharacterEncodingMenu",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "updateForStateChange",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "updateWebNavigationForLocationChange",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "updateForLocationChange",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPolicyContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "prepareToChangeRemoteness",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "beforeChangeRemoteness",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "finishChangeRemoteness",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIBrowser",
    "needs_scriptable": [
      "nsIPolicyContainer",
      "nsIPrincipal",
      "nsIReferrerInfo",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "14e5a0cb-e223-4202-95e8-fe53275193ea"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "messageManager",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/ContentFrameMessageManager.h",
              "name": "ContentFrameMessageManager",
              "native": "mozilla::dom::ContentFrameMessageManager",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "sendRequestFocus",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "remoteDropLinks",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "name": "nsIDroppedLinkItem",
                "tag": "TD_INTERFACE_TYPE"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "contentTransformsReceived",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tabId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "notifyNavigationFinished",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "chromeOuterWindowID",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      }
    ],
    "name": "nsIBrowserChild",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "1fb79c27-e760-4088-b19c-1ce3673ec24e"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "openWindowInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIOpenWindowInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "referrerInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "referrerInfo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isPrivate",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "triggeringPrincipal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "triggeringPrincipal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "policyContainer",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPolicyContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "policyContainer",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPolicyContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "openerBrowser",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "jscontext",
          "hasretval"
        ],
        "name": "openerOriginAttributes",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      }
    ],
    "name": "nsIOpenURIInFrameParams",
    "needs_scriptable": [
      "nsIOpenWindowInfo",
      "nsIPolicyContainer",
      "nsIPrincipal",
      "nsIReferrerInfo"
    ],
    "parent": "nsISupports",
    "uuid": "e774db14-79ac-4156-a7a3-aa3fd0a22c10"
  },
  {
    "consts": [
      {
        "name": "OPEN_DEFAULTWINDOW",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 0
      },
      {
        "name": "OPEN_CURRENTWINDOW",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 1
      },
      {
        "name": "OPEN_NEWWINDOW",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 2
      },
      {
        "name": "OPEN_NEWTAB",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 3
      },
      {
        "name": "OPEN_PRINT_BROWSER",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 4
      },
      {
        "name": "OPEN_NEWTAB_BACKGROUND",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 5
      },
      {
        "name": "OPEN_NEWTAB_FOREGROUND",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 6
      },
      {
        "name": "OPEN_NEWTAB_AFTER_CURRENT",
        "type": {
          "tag": "TD_INT16"
        },
        "value": 7
      },
      {
        "name": "OPEN_NEW",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "OPEN_EXTERNAL",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "OPEN_NO_OPENER",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 4
      },
      {
        "name": "OPEN_NO_REFERRER",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 8
      },
      {
        "name": "OPEN_FORCE_ALLOW_DATA_URI",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 16
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "createContentWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOpenWindowInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT16"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIPolicyContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "createContentWindowInFrame",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOpenURIInFrameParams",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT16"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "openURI",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOpenWindowInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT16"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIPolicyContainer",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "openURIInFrame",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOpenURIInFrameParams",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT16"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "canClose",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tabCount",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIBrowserDOMWindow",
    "needs_scriptable": [
      "nsIOpenWindowInfo",
      "nsIPolicyContainer",
      "nsIPrincipal",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "2a9bb880-5d73-40f3-8152-c60c8d137a14"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getUniqueDomainsVisitedInPast24Hours",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIBrowserUsage",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "2703b5ed-a41f-42be-8764-b795eb67ed25"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "type",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "options",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIContentPermissionType",
    "needs_scriptable": [
      "nsIArray"
    ],
    "parent": "nsISupports",
    "uuid": "ef4db3b8-ca9c-4b1d-8f81-fd88ec32af13"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "types",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "principal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "topLevelPrincipal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "window",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "element",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasValidTransientUserGestureActivation",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isRequestDelegatedToUnsafeThirdParty",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "ignoreAllowSitePermission",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getDelegatePrincipal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "notifyShown",
        "params": []
      },
      {
        "flags": [],
        "name": "cancel",
        "params": []
      },
      {
        "flags": [],
        "name": "allow",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      }
    ],
    "name": "nsIContentPermissionRequest",
    "needs_scriptable": [
      "mozIDOMWindow",
      "nsIArray",
      "nsIPrincipal"
    ],
    "parent": "nsISupports",
    "uuid": "875733da-0ac0-4a26-8c76-70a30876be46"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "prompt",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPermissionRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIContentPermissionPrompt",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "f72de90d-e954-4e69-9a61-917303029301"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onContentPrefSet",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIVariant",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onContentPrefRemoved",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIContentPrefObserver",
    "needs_scriptable": [
      "nsIVariant"
    ],
    "parent": "nsISupports",
    "uuid": "43635c53-b445-4c4e-8cc5-562697299b55"
  },
  {
    "consts": [
      {
        "name": "GROUP_NAME_MAX_LENGTH",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 2000
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "getByName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getByDomainAndName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getBySubdomainAndName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getGlobal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getCachedByDomainAndName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIContentPref",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getCachedBySubdomainAndName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "name": "nsIContentPref",
                "tag": "TD_INTERFACE_TYPE"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getCachedGlobal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIContentPref",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "set",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIVariant",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setGlobal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIVariant",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeByDomainAndName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeBySubdomainAndName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeGlobal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeByDomain",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeBySubdomain",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeByName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeAllDomains",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeAllDomainsSince",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeAllGlobals",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContext",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIContentPrefCallback2",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addObserverForName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPrefObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeObserverForName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPrefObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "extractDomain",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIContentPrefService2",
    "needs_scriptable": [
      "nsILoadContext",
      "nsIVariant"
    ],
    "parent": "nsISupports",
    "uuid": "bed98666-d995-470f-bebd-62476d318576"
  },
  {
    "consts": [
      {
        "name": "COMPLETE_OK",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 0
      },
      {
        "name": "COMPLETE_ERROR",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 1
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "handleResult",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPref",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "handleError",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "handleCompletion",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      }
    ],
    "name": "nsIContentPrefCallback2",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "1a12cf41-79e8-4d0f-9899-2f7b27c5d9a1"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "domain",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "name",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "value",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIVariant",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIContentPref",
    "needs_scriptable": [
      "nsIVariant"
    ],
    "parent": "nsISupports",
    "uuid": "9f24948d-24b5-4b1b-b554-7dbd58c1d792"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "init",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      }
    ],
    "name": "nsIDOMGlobalPropertyInitializer",
    "needs_scriptable": [
      "mozIDOMWindow"
    ],
    "parent": "nsISupports",
    "uuid": "5842e275-797f-4afb-b7e0-e29f0cb312ae"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [],
    "name": "nsIDOMWindow",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "b8343993-0383-4add-9930-ad176b189240"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onCompleteDispatch",
        "params": []
      }
    ],
    "name": "nsISynthesizedEventCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "56609ca4-8e06-4c4c-9918-2d95f8fa58d3"
  },
  {
    "consts": [
      {
        "name": "MODIFIER_ALT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "MODIFIER_CONTROL",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "MODIFIER_SHIFT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 4
      },
      {
        "name": "MODIFIER_META",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 8
      },
      {
        "name": "MODIFIER_ALTGRAPH",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 16
      },
      {
        "name": "MODIFIER_CAPSLOCK",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 32
      },
      {
        "name": "MODIFIER_FN",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 64
      },
      {
        "name": "MODIFIER_FNLOCK",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 128
      },
      {
        "name": "MODIFIER_NUMLOCK",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 256
      },
      {
        "name": "MODIFIER_SCROLLLOCK",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 512
      },
      {
        "name": "MODIFIER_SYMBOL",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1024
      },
      {
        "name": "MODIFIER_SYMBOLLOCK",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2048
      },
      {
        "name": "ASYNC_DISABLED",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 0
      },
      {
        "name": "ASYNC_ENABLED",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "WHEEL_EVENT_CAUSED_BY_NO_LINE_OR_PAGE_DELTA_DEVICE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "WHEEL_EVENT_CAUSED_BY_MOMENTUM",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "WHEEL_EVENT_CUSTOMIZED_BY_USER_PREFS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "WHEEL_EVENT_ASYNC_ENABLED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_ZERO",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_POSITIVE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_NEGATIVE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 64
      },
      {
        "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_ZERO",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 256
      },
      {
        "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_POSITIVE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 512
      },
      {
        "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_NEGATIVE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1024
      },
      {
        "name": "NATIVE_MODIFIER_CAPS_LOCK",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "NATIVE_MODIFIER_NUM_LOCK",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "NATIVE_MODIFIER_SHIFT_LEFT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 256
      },
      {
        "name": "NATIVE_MODIFIER_SHIFT_RIGHT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 512
      },
      {
        "name": "NATIVE_MODIFIER_CONTROL_LEFT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1024
      },
      {
        "name": "NATIVE_MODIFIER_CONTROL_RIGHT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2048
      },
      {
        "name": "NATIVE_MODIFIER_ALT_LEFT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4096
      },
      {
        "name": "NATIVE_MODIFIER_ALT_RIGHT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8192
      },
      {
        "name": "NATIVE_MODIFIER_COMMAND_LEFT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16384
      },
      {
        "name": "NATIVE_MODIFIER_COMMAND_RIGHT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32768
      },
      {
        "name": "NATIVE_MODIFIER_HELP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 65536
      },
      {
        "name": "NATIVE_MODIFIER_ALT_GRAPH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 131072
      },
      {
        "name": "NATIVE_MODIFIER_FUNCTION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1048576
      },
      {
        "name": "NATIVE_MODIFIER_NUMERIC_KEY_PAD",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16777216
      },
      {
        "name": "NATIVE_MOUSE_MESSAGE_BUTTON_DOWN",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "NATIVE_MOUSE_MESSAGE_BUTTON_UP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "NATIVE_MOUSE_MESSAGE_MOVE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "NATIVE_MOUSE_MESSAGE_ENTER_WINDOW",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "NATIVE_MOUSE_MESSAGE_LEAVE_WINDOW",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "MOUSESCROLL_PREFER_WIDGET_AT_POINT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "MOUSESCROLL_SCROLL_LINES",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "MOUSESCROLL_WIN_SCROLL_LPARAM_NOT_NULL",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 65536
      },
      {
        "name": "TOUCH_HOVER",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "TOUCH_CONTACT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "TOUCH_REMOVE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 4
      },
      {
        "name": "TOUCH_CANCEL",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 8
      },
      {
        "name": "PHASE_BEGIN",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "PHASE_UPDATE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "PHASE_END",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "UPDATE_TYPE_RESTORE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "UPDATE_TYPE_MAIN_THREAD",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "SCROLL_MODE_INSTANT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "SCROLL_MODE_SMOOTH",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "FLUSH_NONE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": -1
      },
      {
        "name": "FLUSH_STYLE",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "FLUSH_LAYOUT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "IME_STATUS_DISABLED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "IME_STATUS_ENABLED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "IME_STATUS_PASSWORD",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "INPUT_CONTEXT_ORIGIN_MAIN",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "INPUT_CONTEXT_ORIGIN_CONTENT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "CONTENT_COMMAND_FLAG_PREVENT_SET_SELECTION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_SPELLCHECK",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_IME_RAWINPUT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDRAWTEXT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_IME_CONVERTEDTEXT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDCONVERTEDTEXT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_ACCESSIBILITY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 64
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_FIND",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 128
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_URLSECONDARY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 256
      },
      {
        "name": "QUERY_CONTENT_FLAG_SELECTION_URLSTRIKEOUT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 512
      },
      {
        "name": "QUERY_CONTENT_FLAG_OFFSET_RELATIVE_TO_INSERTION_POINT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1024
      },
      {
        "name": "QUERY_SELECTED_TEXT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3200
      },
      {
        "name": "QUERY_TEXT_CONTENT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3201
      },
      {
        "name": "QUERY_CARET_RECT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3203
      },
      {
        "name": "QUERY_TEXT_RECT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3204
      },
      {
        "name": "QUERY_EDITOR_RECT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3205
      },
      {
        "name": "QUERY_CHARACTER_AT_POINT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3208
      },
      {
        "name": "QUERY_TEXT_RECT_ARRAY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3209
      },
      {
        "name": "SELECTION_SET_FLAG_REVERSE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "SELECTION_EXPAND_TO_CLUSTER_BOUNDARY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "SELECT_CHARACTER",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "SELECT_CLUSTER",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "SELECT_WORD",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "SELECT_LINE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "SELECT_BEGINLINE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "SELECT_ENDLINE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "SELECT_PARAGRAPH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 6
      },
      {
        "name": "SELECT_WORDNOSPACE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 7
      },
      {
        "name": "AUDIO_INPUT",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 0
      },
      {
        "name": "AUDIO_OUTPUT",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 1
      },
      {
        "name": "AGENT_SHEET",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "USER_SHEET",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "AUTHOR_SHEET",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "WR_CAPTURE_SCENE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "WR_CAPTURE_FRAME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "WR_CAPTURE_TILE_CACHE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "WR_CAPTURE_EXTERNAL_RESOURCES",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "DEFAULT_MOUSE_POINTER_ID",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "DEFAULT_PEN_POINTER_ID",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "DEFAULT_TOUCH_POINTER_ID",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "MOUSE_BUTTON_LEFT_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "MOUSE_BUTTON_MIDDLE_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "MOUSE_BUTTON_RIGHT_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "MOUSE_BUTTONS_NO_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "MOUSE_BUTTONS_LEFT_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "MOUSE_BUTTONS_RIGHT_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      },
      {
        "name": "MOUSE_BUTTONS_MIDDLE_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 4
      },
      {
        "name": "MOUSE_BUTTONS_4TH_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 8
      },
      {
        "name": "MOUSE_BUTTONS_5TH_BUTTON",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 16
      },
      {
        "name": "DIRECTION_LTR",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 0
      },
      {
        "name": "DIRECTION_RTL",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 1
      },
      {
        "name": "DIRECTION_NOT_SET",
        "type": {
          "tag": "TD_INT32"
        },
        "value": 2
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "imageAnimationMode",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "imageAnimationMode",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "docCharsetIsForced",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "physicalMillimeterInCSSPixels",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getDocumentMetadata",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getLastOverWindowPointerLocationInCSSPixels",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "updateLayerTree",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "lastTransactionId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getViewportInfo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getViewportFitInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getDocumentViewerSize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setMousewheelAutodir",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setDisplayPortForElement",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setDisplayPortMarginsForElement",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setDisplayPortBaseForElement",
        "params": [
          {
            "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"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getScrollbarSizes",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setResolutionAndScaleTo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getResolution",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setRestoreResolution",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isFirstPaint",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "isFirstPaint",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getPresShellId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isCORSSafelistedRequestHeader",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendWheelEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeKeyEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeMouseEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT16"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "suppressAnimation",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeMouseScrollEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeTouchPoint",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeTouchpadPinch",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeTouchTap",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativePenInput",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeTouchpadDoubleTap",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendNativeTouchpadPan",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsISynthesizedEventCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "parsedStyleSheets",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "activateNativeMenuItemAt",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "forceUpdateNativeMenuAt",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "GetSelectionAsPlaintext",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "garbageCollect",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsICycleCollectorListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "cycleCollect",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsICycleCollectorListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "runNextCollectorTimer",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "pokeGC",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendSimpleGestureEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "elementFromPoint",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "nodesFromRect",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/NodeList.h",
              "name": "NodeList",
              "native": "mozilla::dom::NodeList",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "compareCanvases",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isMozAfterPaintPending",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isWindowFullyOccluded",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isCompositorPaused",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isInputTaskManagerSuspended",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "suppressEventHandling",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "disableNonTestMouseEvents",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getScrollXY",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getScrollXYFloat",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getScrollbarSize",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getBoundsWithoutFlushing",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getWidgetOpaqueRegion",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "headerFile": "mozilla/dom/DOMRect.h",
                "name": "DOMRect",
                "native": "mozilla::dom::DOMRect",
                "tag": "TD_DOMOBJECT"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "scrollToVisual",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getVisualViewportOffsetRelativeToLayoutViewport",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getVisualViewportOffset",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "transformRectLayoutToVisual",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getElementBoundingScreenRect",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "toScreenRectInCSSUnits",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "toScreenRect",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "toTopLevelWidgetRect",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "convertFromParentProcessWidgetToLocal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setDynamicToolbarMaxHeight",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "needsFlush",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "flushLayoutWithoutThrottledAnimations",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getRootBounds",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/DOMRect.h",
              "name": "DOMRect",
              "native": "mozilla::dom::DOMRect",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "IMEIsOpen",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "IMEStatus",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "inputContextURI",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "inputContextOrigin",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "nodeObservedByIMEContentObserver",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "nsIContent.h",
              "name": "Node",
              "native": "nsINode",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "dispatchDOMEventViaPresShellForTesting",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "nsIContent.h",
              "name": "Node",
              "native": "nsINode",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "dispatchEventToChromeOnly",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/EventTarget.h",
              "name": "EventTarget",
              "native": "mozilla::dom::EventTarget",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getClassName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendContentCommandEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsITransferable",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "sendQueryContentEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIQueryContentEventResult",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "remoteFrameFullscreenChanged",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "remoteFrameFullscreenReverted",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "handleFullscreenRequests",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "exitFullscreen",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "sendSelectionSetEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "selectAtPoint",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getVisitedDependentComputedStyle",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "enterModalState",
        "params": []
      },
      {
        "flags": [],
        "name": "leaveModalState",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isInModalState",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "suspendTimeouts",
        "params": []
      },
      {
        "flags": [],
        "name": "resumeTimeouts",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "layerManagerType",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "layerManagerRemote",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isWebRenderRequested",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "currentAudioBackend",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "currentMaxAudioChannels",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "defaultDevicesRoundTripLatency",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "currentPreferredSampleRate",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "audioDevices",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "startFrameTimeRecording",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "stopFrameTimeRecording",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "tag": "TD_FLOAT"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "displayDPI",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "advanceTimeAndRefresh",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "restoreNormalRefresh",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isTestControllingRefreshes",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "asyncPanZoomEnabled",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setAsyncScrollOffset",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setAsyncZoom",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "flushApzRepaints",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "disableApzForElement",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isApzDisabledForElement",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "zoomToFocusedInput",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "computeAnimationDistance",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getUnanimatedComputedStyle",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "canvasBackgroundColor",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedInputType",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedActionHint",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedInputMode",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedAutocapitalize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedAutocorrect",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getViewId",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "checkAndClearPaintedState",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "checkAndClearDisplayListState",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "checkAndClearWRDidRasterize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getFileId",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getFilePath",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getFileReferences",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "out",
              "optional"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out",
              "optional"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "flushPendingFileDeletions",
        "params": []
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "startPCCountProfiling",
        "params": []
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "stopPCCountProfiling",
        "params": []
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "purgePCCounts",
        "params": []
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getPCCountScriptCount",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getPCCountScriptSummary",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getPCCountScriptContents",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "paintingSuppressed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setVisualViewportSize",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "disableDialogs",
        "params": []
      },
      {
        "flags": [],
        "name": "enableDialogs",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "areDialogsEnabled",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "resetDialogAbuseState",
        "params": []
      },
      {
        "flags": [],
        "name": "loadSheet",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "loadSheetUsingURIString",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addSheet",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPreloadedStyleSheet",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeSheet",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeSheetUsingURIString",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isHandlingUserInput",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "millisSinceLastUserInput",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "allowScriptsToClose",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isParentWindowMainWidgetVisible",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isNodeDisabledForEvents",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "nsIContent.h",
              "name": "Node",
              "native": "nsINode",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getOMTAStyle",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "setHandlingUserInput",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIJSRAIIHelper",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isKeyboardEventUserActivity",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getContentAPZTestData",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getCompositorAPZTestData",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendMozMouseHitTestEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_FLOAT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "postRestyleSelfEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "xpconnectArgument",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "askPermission",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIContentPermissionRequest",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "restyleGeneration",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "framesConstructed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "framesReflowed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "animationTriggeredRestyles",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "refreshDriverHasPendingTick",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setCustomTitlebar",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setResizeMargin",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "getFrameUniformityTestData",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "enterChaosMode",
        "params": []
      },
      {
        "flags": [],
        "name": "leaveChaosMode",
        "params": []
      },
      {
        "flags": [],
        "name": "triggerDeviceReset",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "hasRuleProcessorUsedByMultipleStyleSets",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "respectDisplayPortSuppression",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "forceReflowInterrupt",
        "params": []
      },
      {
        "flags": [],
        "name": "terminateGPUProcess",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "gpuProcessPid",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "rddProcessPid",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getStorageUsage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Storage.h",
              "name": "Storage",
              "native": "mozilla::dom::Storage",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getDirectionFromText",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "ensureDirtyRootFrame",
        "params": []
      },
      {
        "flags": [],
        "name": "wrCapture",
        "params": []
      },
      {
        "flags": [],
        "name": "wrStartCaptureSequence",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "wrStopCaptureSequence",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "setCompositionRecording",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "startCompositionRecording",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "stopCompositionRecording",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isCssPropertyRecordedInUseCounter",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "resetMobileViewportManager",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isCoepCredentialless",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setHiDPIMode",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "restoreHiDPIMode",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "systemFont",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "systemFont",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "paintCount",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "syncFlushCompositor",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getLayersId",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "effectivelyThrottlesFrameRequests",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "webrtcRawDeviceId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "suspendedByBrowsingContextGroup",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasScrollLinkedEffect",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "orientationLock",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getWheelScrollTarget",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "dragSession",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIDragSession",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "microTaskLevel",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "microTaskLevel",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIDOMWindowUtils",
    "needs_scriptable": [
      "nsIArray",
      "nsIContentPermissionRequest",
      "nsICycleCollectorListener",
      "nsIDragSession",
      "nsIPreloadedStyleSheet",
      "nsIQueryContentEventResult",
      "nsITransferable",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "4d6732ca-9da7-4176-b8a1-8dde15cd0bf9"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "destruct",
        "params": []
      }
    ],
    "name": "nsIJSRAIIHelper",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "52e5a996-d0a9-4efc-a6fa-24489c532b19"
  },
  {
    "consts": [
      {
        "name": "FLAG_RAISE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "FLAG_NOSCROLL",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "FLAG_NOSWITCHFRAME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "FLAG_NOPARENTFRAME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "FLAG_NONSYSTEMCALLER",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "FLAG_BYMOUSE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4096
      },
      {
        "name": "FLAG_BYKEY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8192
      },
      {
        "name": "FLAG_BYMOVEFOCUS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16384
      },
      {
        "name": "FLAG_NOSHOWRING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32768
      },
      {
        "name": "FLAG_SHOWRING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 65536
      },
      {
        "name": "FLAG_BYTOUCH",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 131072
      },
      {
        "name": "FLAG_BYJS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 262144
      },
      {
        "name": "FLAG_BYLONGPRESS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 524288
      },
      {
        "name": "METHOD_MASK",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 946176
      },
      {
        "name": "METHODANDRING_MASK",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1044480
      },
      {
        "name": "MOVEFOCUS_FORWARD",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "MOVEFOCUS_BACKWARD",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "MOVEFOCUS_FORWARDDOC",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "MOVEFOCUS_BACKWARDDOC",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "MOVEFOCUS_FIRST",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "MOVEFOCUS_LAST",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 6
      },
      {
        "name": "MOVEFOCUS_ROOT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 7
      },
      {
        "name": "MOVEFOCUS_CARET",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "MOVEFOCUS_FIRSTDOC",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 9
      },
      {
        "name": "MOVEFOCUS_LASTDOC",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 10
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "activeWindow",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "activeBrowsingContext",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "activeContentBrowsingContext",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedWindow",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "focusedWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedContentBrowsingContext",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "focusedElement",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getLastFocusMethod",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setFocus",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "moveFocus",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clearFocus",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getFocusedElementForWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "moveCaretToFocus",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "elementIsFocusable",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIFocusManager",
    "needs_scriptable": [
      "mozIDOMWindowProxy"
    ],
    "parent": "nsISupports",
    "uuid": "86e1f1e1-365d-493b-b52a-a649f3f311dc"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "openWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOpenWindowInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      }
    ],
    "name": "nsIGeckoViewServiceWorker",
    "needs_scriptable": [
      "nsIOpenWindowInfo",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "e778cce6-a231-42f0-86e4-574600524393"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "maybeUnsafePermissionDelegate",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIPermissionDelegateHandler",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "07611dc6-bf4d-4d8a-a64b-f3a5904dddc7"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "offset",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tentativeCaretOffset",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "reversed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "left",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "top",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "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",
          "hasretval"
        ],
        "name": "text",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getCharacterRect",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "succeeded",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "notFound",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tentativeCaretOffsetNotFound",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIQueryContentEventResult",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "e2c39e0e-345f-451a-a7b2-e0230d555847"
  },
  {
    "consts": [
      {
        "name": "NAVIGATE_BACK",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 0
      },
      {
        "name": "NAVIGATE_FORWARD",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "NAVIGATE_INDEX",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 2
      },
      {
        "name": "NAVIGATE_URL",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 3
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "renderLayers",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "renderLayers",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasLayers",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "priorityHint",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "priorityHint",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "deprioritize",
        "params": []
      },
      {
        "flags": [],
        "name": "preserveLayers",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tabId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "contentProcessId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "osPid",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "browsingContext",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasPresented",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "createAboutBlankDocumentViewer",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "maybeCancelContentJSExecution",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "notifyResolutionChanged",
        "params": []
      }
    ],
    "name": "nsIRemoteTab",
    "needs_scriptable": [
      "nsIPrincipal"
    ],
    "parent": "nsISupports",
    "uuid": "8e49f7b0-1f98-4939-bf91-e9c39cd56434"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "unregisterSucceeded",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "unregisterFailed",
        "params": []
      }
    ],
    "name": "nsIServiceWorkerUnregisterCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "52ee2c9d-ee87-4caf-9588-23ae77ff8798"
  },
  {
    "consts": [
      {
        "name": "STATE_PARSED",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 0
      },
      {
        "name": "STATE_INSTALLING",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 1
      },
      {
        "name": "STATE_INSTALLED",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 2
      },
      {
        "name": "STATE_ACTIVATING",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 3
      },
      {
        "name": "STATE_ACTIVATED",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 4
      },
      {
        "name": "STATE_REDUNDANT",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 5
      },
      {
        "name": "STATE_UNKNOWN",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 6
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "id",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "scriptSpec",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "cacheName",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "launchCount",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "state",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "debugger",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIWorkerDebugger",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "handlesFetchEvents",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "installedTime",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "activatedTime",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "redundantTime",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "lifetimeDeadline",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_DOUBLE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "navigationFaultCount",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "testingInjectCancellation",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "testingInjectCancellation",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "attachDebugger",
        "params": []
      },
      {
        "flags": [],
        "name": "detachDebugger",
        "params": []
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "terminateWorker",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      }
    ],
    "name": "nsIServiceWorkerInfo",
    "needs_scriptable": [
      "nsIWorkerDebugger"
    ],
    "parent": "nsISupports",
    "uuid": "76e357ed-208d-4e4c-9165-1c4059707879"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onChange",
        "params": []
      }
    ],
    "name": "nsIServiceWorkerRegistrationInfoListener",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "87e63548-d440-4b8a-b158-65ad1de0211e"
  },
  {
    "consts": [
      {
        "name": "UPDATE_VIA_CACHE_IMPORTS",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 0
      },
      {
        "name": "UPDATE_VIA_CACHE_ALL",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 1
      },
      {
        "name": "UPDATE_VIA_CACHE_NONE",
        "type": {
          "tag": "TD_UINT16"
        },
        "value": 2
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "principal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "unregistered",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "scope",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "scriptSpec",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "updateViaCache",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT16"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "lastUpdateTime",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "evaluatingWorker",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIServiceWorkerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "installingWorker",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIServiceWorkerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "waitingWorker",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIServiceWorkerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "activeWorker",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIServiceWorkerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "quotaUsageCheckCount",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getWorkerByID",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIServiceWorkerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerRegistrationInfoListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerRegistrationInfoListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "forceShutdown",
        "params": []
      }
    ],
    "name": "nsIServiceWorkerRegistrationInfo",
    "needs_scriptable": [
      "nsIPrincipal"
    ],
    "parent": "nsISupports",
    "uuid": "ddbc1fd4-2f2e-4fca-a395-6e010bbedfe3"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onRegister",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerRegistrationInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onUnregister",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerRegistrationInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onQuotaUsageCheckFinish",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerRegistrationInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIServiceWorkerManagerListener",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "9e523e7c-ad6f-4df0-8077-c74aebbc679d"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [],
        "name": "reloadRegistrationsForTest",
        "params": []
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "registerForTest",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "registerForAddonPrincipal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getRegistrationForAddonPrincipal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out",
              "optional"
            ],
            "type": {
              "name": "nsIServiceWorkerRegistrationInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "wakeForExtensionAPIEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PROMISE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "unregister",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerUnregisterCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getRegistrationByPrincipal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIServiceWorkerRegistrationInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "StartControlling",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getScopeForUrl",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getAllRegistrations",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeRegistrationsByOriginAttributes",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIServiceWorkerUnregisterCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "propagateUnregister",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerUnregisterCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "sendNotificationClickEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "sendNotificationCloseEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc"
        ],
        "name": "sendPushEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "element": {
                "tag": "TD_UINT8"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendPushSubscriptionChangeEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsIPushSubscription",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerManagerListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIServiceWorkerManagerListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIServiceWorkerManager",
    "needs_scriptable": [
      "nsIArray",
      "nsIPrincipal",
      "nsIPushSubscription"
    ],
    "parent": "nsISupports",
    "uuid": "7404c8e8-4d47-4449-8ed1-47d1261d4e33"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "hidden",
          "jscontext"
        ],
        "name": "initFromJSVal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "initFromBase64",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext",
          "hasretval"
        ],
        "name": "deserializeToJsval",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getDataAsBase64",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "serializedNBytes",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "formatVersion",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIStructuredCloneContainer",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "c664aae7-0d67-4155-a2dd-a3861778626f"
  },
  {
    "consts": [
      {
        "name": "ATTR_RAW_CLAUSE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "ATTR_SELECTED_RAW_CLAUSE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "ATTR_CONVERTED_CLAUSE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "ATTR_SELECTED_CLAUSE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "KEY_DEFAULT_PREVENTED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "KEY_NON_PRINTABLE_KEY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "KEY_FORCE_PRINTABLE_KEY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "KEY_KEEP_KEY_LOCATION_STANDARD",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "KEY_KEEP_KEYCODE_ZERO",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "KEY_DONT_DISPATCH_MODIFIER_KEY_EVENT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "KEY_DONT_MARK_KEYDOWN_AS_PROCESSED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 64
      },
      {
        "name": "KEY_MARK_KEYUP_AS_PROCESSED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 128
      },
      {
        "name": "KEYEVENT_NOT_CONSUMED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "KEYDOWN_IS_CONSUMED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "KEYPRESS_IS_CONSUMED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasComposition",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "beginInputTransaction",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITextInputProcessorCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "beginInputTransactionForTests",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "mozIDOMWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "name": "nsITextInputProcessorCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "startComposition",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setPendingCompositionString",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "appendClauseToPendingComposition",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setCaretInPendingComposition",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "flushPendingComposition",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc"
        ],
        "name": "commitComposition",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "commitCompositionWith",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc"
        ],
        "name": "cancelComposition",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "keydown",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "keyup",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "insertTextWithKeyPress",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "headerFile": "mozilla/dom/Event.h",
              "name": "Event",
              "native": "mozilla::dom::Event",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getModifierState",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "shareModifierStateOf",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITextInputProcessor",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "computeCodeValueOfNonPrintableKey",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "guessCodeValueOfPrintableKeyInUSEnglishKeyboardLayout",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "optargc",
          "hasretval"
        ],
        "name": "guessKeyCodeValueOfPrintableKeyInUSEnglishKeyboardLayout",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsITextInputProcessor",
    "needs_scriptable": [
      "mozIDOMWindow",
      "nsITextInputProcessorCallback"
    ],
    "parent": "nsISupports",
    "uuid": "47ae2181-2e98-4d58-84a2-b8db6764ce9a"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "type",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasRange",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "offset",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "text",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "collapsed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "length",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "reversed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "writingMode",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "causedByComposition",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "causedBySelectionEvent",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "occurredDuringComposition",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "removedLength",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "addedLength",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "causedOnlyByComposition",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "includingChangesDuringComposition",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "includingChangesWithoutComposition",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsITextInputProcessorNotification",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "c0ce1add-82bb-45ab-b99a-42cfba7fd5d7"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "onNotify",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITextInputProcessor",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITextInputProcessorNotification",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsITextInputProcessorCallback",
    "needs_scriptable": [
      "nsITextInputProcessor"
    ],
    "parent": "nsISupports",
    "uuid": "23d5f242-adb5-46f1-8766-90d1bf0383df"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "onNotify",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsITextInputProcessorListenerCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "dc2170d9-a1fc-4d2c-a5c9-c1bfd35bf1da"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getNotification",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsITextInputProcessorNotification",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setCallback",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITextInputProcessorListenerCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsITextInputProcessorListener",
    "needs_scriptable": [],
    "parent": "nsITextInputProcessorCallback",
    "uuid": "7c97c10f-9f17-440c-bae7-4120617b35c1"
  }
]