[
  {
    "interfaces": [],
    "path": "dom/interfaces/base/domstubs.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBrowser",
        "members": [
          {
            "args": [
              {
                "name": "links",
                "optional": false,
                "type": "string[]"
              },
              {
                "name": "triggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "dropLinks",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aOtherBrowser",
                "optional": false,
                "type": "nsIBrowser"
              }
            ],
            "iid_is": null,
            "name": "swapBrowsers",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "closeBrowser",
            "type": "void"
          },
          {
            "name": "isRemoteBrowser",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "permanentKey",
            "readonly": true,
            "type": "any"
          },
          {
            "name": "contentPrincipal",
            "readonly": true,
            "type": "nsIPrincipal"
          },
          {
            "name": "contentPartitionedPrincipal",
            "readonly": true,
            "type": "nsIPrincipal"
          },
          {
            "name": "policyContainer",
            "readonly": true,
            "type": "nsIPolicyContainer"
          },
          {
            "name": "referrerInfo",
            "readonly": true,
            "type": "nsIReferrerInfo"
          },
          {
            "name": "isNavigating",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "mayEnableCharacterEncodingMenu",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aCharset",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aDocumentURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aContentType",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "updateForStateChange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCanGoBack",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aCanGoBackIgnoringUserInteraction",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aCanGoForward",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "updateWebNavigationForLocationChange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aLocation",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aCharset",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aMayEnableCharacterEncodingMenu",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aDocumentURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aTitle",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aContentPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aContentPartitionedPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aPolicyContainer",
                "optional": false,
                "type": "nsIPolicyContainer"
              },
              {
                "name": "aReferrerInfo",
                "optional": false,
                "type": "nsIReferrerInfo"
              },
              {
                "name": "aIsSynthetic",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aHasRequestContextID",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aRequestContextID",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aContentType",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "updateForLocationChange",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "prepareToChangeRemoteness",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "beforeChangeRemoteness",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPendingSwitchId",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "finishChangeRemoteness",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIBrowser.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBrowserChild",
        "members": [
          {
            "name": "messageManager",
            "readonly": true,
            "type": "ContentFrameMessageManager"
          },
          {
            "args": [
              {
                "name": "links",
                "optional": false,
                "type": "nsIDroppedLinkItem[]"
              }
            ],
            "iid_is": null,
            "name": "remoteDropLinks",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "contentTransformsReceived",
            "type": "Promise<any>"
          },
          {
            "name": "tabId",
            "readonly": true,
            "type": "u64"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "notifyNavigationFinished",
            "type": "void"
          },
          {
            "name": "chromeOuterWindowID",
            "readonly": true,
            "type": "u64"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIBrowserChild.idl",
    "typedefs": [
      [
        "CSPDirective",
        "nsIContentSecurityPolicy.CSPDirective"
      ],
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "RequireTrustedTypesForDirectiveState",
        "nsIContentSecurityPolicy.RequireTrustedTypesForDirectiveState"
      ],
      [
        "nsContentPolicyType",
        "nsIContentPolicy.nsContentPolicyType"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIOpenURIInFrameParams",
        "members": [
          {
            "name": "openWindowInfo",
            "readonly": true,
            "type": "nsIOpenWindowInfo"
          },
          {
            "name": "referrerInfo",
            "readonly": false,
            "type": "nsIReferrerInfo"
          },
          {
            "name": "isPrivate",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "triggeringPrincipal",
            "readonly": false,
            "type": "nsIPrincipal"
          },
          {
            "name": "policyContainer",
            "readonly": false,
            "type": "nsIPolicyContainer"
          },
          {
            "name": "openerBrowser",
            "readonly": true,
            "type": "Element"
          },
          {
            "name": "openerOriginAttributes",
            "readonly": true,
            "type": "any"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "OPEN_DEFAULTWINDOW",
            "value": 0
          },
          {
            "name": "OPEN_CURRENTWINDOW",
            "value": 1
          },
          {
            "name": "OPEN_NEWWINDOW",
            "value": 2
          },
          {
            "name": "OPEN_NEWTAB",
            "value": 3
          },
          {
            "name": "OPEN_PRINT_BROWSER",
            "value": 4
          },
          {
            "name": "OPEN_NEWTAB_BACKGROUND",
            "value": 5
          },
          {
            "name": "OPEN_NEWTAB_FOREGROUND",
            "value": 6
          },
          {
            "name": "OPEN_NEWTAB_AFTER_CURRENT",
            "value": 7
          },
          {
            "name": "OPEN_NEW",
            "value": 0
          },
          {
            "name": "OPEN_EXTERNAL",
            "value": 1
          },
          {
            "name": "OPEN_NO_OPENER",
            "value": 4
          },
          {
            "name": "OPEN_NO_REFERRER",
            "value": 8
          },
          {
            "name": "OPEN_FORCE_ALLOW_DATA_URI",
            "value": 16
          }
        ],
        "enums": [],
        "id": "nsIBrowserDOMWindow",
        "members": [
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aOpenWindowInfo",
                "optional": false,
                "type": "nsIOpenWindowInfo"
              },
              {
                "name": "aWhere",
                "optional": false,
                "type": "i16"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aTriggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aPolicyContainer",
                "optional": true,
                "type": "nsIPolicyContainer"
              }
            ],
            "iid_is": null,
            "name": "createContentWindow",
            "type": "BrowsingContext"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "params",
                "optional": false,
                "type": "nsIOpenURIInFrameParams"
              },
              {
                "name": "aWhere",
                "optional": false,
                "type": "i16"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "createContentWindowInFrame",
            "type": "Element"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aOpenWindowInfo",
                "optional": false,
                "type": "nsIOpenWindowInfo"
              },
              {
                "name": "aWhere",
                "optional": false,
                "type": "i16"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aTriggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aPolicyContainer",
                "optional": true,
                "type": "nsIPolicyContainer"
              }
            ],
            "iid_is": null,
            "name": "openURI",
            "type": "BrowsingContext"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "params",
                "optional": false,
                "type": "nsIOpenURIInFrameParams"
              },
              {
                "name": "aWhere",
                "optional": false,
                "type": "i16"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "openURIInFrame",
            "type": "Element"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "canClose",
            "type": "boolean"
          },
          {
            "name": "tabCount",
            "readonly": true,
            "type": "u32"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIBrowserDOMWindow.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBrowserUsage",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "getUniqueDomainsVisitedInPast24Hours",
            "type": "u32"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIBrowserUsage.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentPermissionType",
        "members": [
          {
            "name": "type",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "options",
            "readonly": true,
            "type": "nsIArray"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentPermissionRequest",
        "members": [
          {
            "name": "types",
            "readonly": true,
            "type": "nsIArray"
          },
          {
            "name": "principal",
            "readonly": true,
            "type": "nsIPrincipal"
          },
          {
            "name": "topLevelPrincipal",
            "readonly": true,
            "type": "nsIPrincipal"
          },
          {
            "name": "window",
            "readonly": true,
            "type": "mozIDOMWindow"
          },
          {
            "name": "element",
            "readonly": true,
            "type": "Element"
          },
          {
            "name": "hasValidTransientUserGestureActivation",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isRequestDelegatedToUnsafeThirdParty",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "ignoreAllowSitePermission",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aType",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getDelegatePrincipal",
            "type": "nsIPrincipal"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "notifyShown",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "cancel",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "choices",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "allow",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIContentPermissionPrompt",
        "members": [
          {
            "args": [
              {
                "name": "request",
                "optional": false,
                "type": "nsIContentPermissionRequest"
              }
            ],
            "iid_is": null,
            "name": "prompt",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIContentPermissionPrompt.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentPrefObserver",
        "members": [
          {
            "args": [
              {
                "name": "aGroup",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aValue",
                "optional": false,
                "type": "nsIVariant"
              },
              {
                "name": "aIsPrivate",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "onContentPrefSet",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aGroup",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIsPrivate",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "onContentPrefRemoved",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "GROUP_NAME_MAX_LENGTH",
            "value": 2000
          }
        ],
        "enums": [],
        "id": "nsIContentPrefService2",
        "members": [
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "getByName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "getByDomainAndName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "getBySubdomainAndName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "getGlobal",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              }
            ],
            "iid_is": null,
            "name": "getCachedByDomainAndName",
            "type": "nsIContentPref"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              }
            ],
            "iid_is": null,
            "name": "getCachedBySubdomainAndName",
            "type": "nsIContentPref[]"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              }
            ],
            "iid_is": null,
            "name": "getCachedGlobal",
            "type": "nsIContentPref"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "value",
                "optional": false,
                "type": "nsIVariant"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "set",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "value",
                "optional": false,
                "type": "nsIVariant"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "setGlobal",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeByDomainAndName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeBySubdomainAndName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeGlobal",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeByDomain",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "domain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeBySubdomain",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeByName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeAllDomains",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "since",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeAllDomainsSince",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "context",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "callback",
                "optional": true,
                "type": "nsIContentPrefCallback2"
              }
            ],
            "iid_is": null,
            "name": "removeAllGlobals",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "observer",
                "optional": false,
                "type": "nsIContentPrefObserver"
              }
            ],
            "iid_is": null,
            "name": "addObserverForName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "observer",
                "optional": false,
                "type": "nsIContentPrefObserver"
              }
            ],
            "iid_is": null,
            "name": "removeObserverForName",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "str",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "extractDomain",
            "type": "string"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "COMPLETE_OK",
            "value": 0
          },
          {
            "name": "COMPLETE_ERROR",
            "value": 1
          }
        ],
        "enums": [],
        "id": "nsIContentPrefCallback2",
        "members": [
          {
            "args": [
              {
                "name": "pref",
                "optional": false,
                "type": "nsIContentPref"
              }
            ],
            "iid_is": null,
            "name": "handleResult",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "error",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "handleError",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "reason",
                "optional": false,
                "type": "u16"
              }
            ],
            "iid_is": null,
            "name": "handleCompletion",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentPref",
        "members": [
          {
            "name": "domain",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "name",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "value",
            "readonly": true,
            "type": "nsIVariant"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIContentPrefService2.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDOMGlobalPropertyInitializer",
        "members": [
          {
            "args": [
              {
                "name": "window",
                "optional": false,
                "type": "mozIDOMWindow"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "any"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIDOMGlobalPropertyInitializer.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDOMWindow",
        "members": []
      }
    ],
    "path": "dom/interfaces/base/nsIDOMWindow.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsISynthesizedEventCallback",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "onCompleteDispatch",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "MODIFIER_ALT",
            "value": 1
          },
          {
            "name": "MODIFIER_CONTROL",
            "value": 2
          },
          {
            "name": "MODIFIER_SHIFT",
            "value": 4
          },
          {
            "name": "MODIFIER_META",
            "value": 8
          },
          {
            "name": "MODIFIER_ALTGRAPH",
            "value": 16
          },
          {
            "name": "MODIFIER_CAPSLOCK",
            "value": 32
          },
          {
            "name": "MODIFIER_FN",
            "value": 64
          },
          {
            "name": "MODIFIER_FNLOCK",
            "value": 128
          },
          {
            "name": "MODIFIER_NUMLOCK",
            "value": 256
          },
          {
            "name": "MODIFIER_SCROLLLOCK",
            "value": 512
          },
          {
            "name": "MODIFIER_SYMBOL",
            "value": 1024
          },
          {
            "name": "MODIFIER_SYMBOLLOCK",
            "value": 2048
          },
          {
            "name": "WHEEL_EVENT_CAUSED_BY_NO_LINE_OR_PAGE_DELTA_DEVICE",
            "value": 1
          },
          {
            "name": "WHEEL_EVENT_CAUSED_BY_MOMENTUM",
            "value": 2
          },
          {
            "name": "WHEEL_EVENT_CUSTOMIZED_BY_USER_PREFS",
            "value": 4
          },
          {
            "name": "WHEEL_EVENT_ASYNC_ENABLED",
            "value": 8
          },
          {
            "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_ZERO",
            "value": 16
          },
          {
            "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_POSITIVE",
            "value": 32
          },
          {
            "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_NEGATIVE",
            "value": 64
          },
          {
            "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_ZERO",
            "value": 256
          },
          {
            "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_POSITIVE",
            "value": 512
          },
          {
            "name": "WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_NEGATIVE",
            "value": 1024
          },
          {
            "name": "NATIVE_MODIFIER_CAPS_LOCK",
            "value": 1
          },
          {
            "name": "NATIVE_MODIFIER_NUM_LOCK",
            "value": 2
          },
          {
            "name": "NATIVE_MODIFIER_SHIFT_LEFT",
            "value": 256
          },
          {
            "name": "NATIVE_MODIFIER_SHIFT_RIGHT",
            "value": 512
          },
          {
            "name": "NATIVE_MODIFIER_CONTROL_LEFT",
            "value": 1024
          },
          {
            "name": "NATIVE_MODIFIER_CONTROL_RIGHT",
            "value": 2048
          },
          {
            "name": "NATIVE_MODIFIER_ALT_LEFT",
            "value": 4096
          },
          {
            "name": "NATIVE_MODIFIER_ALT_RIGHT",
            "value": 8192
          },
          {
            "name": "NATIVE_MODIFIER_COMMAND_LEFT",
            "value": 16384
          },
          {
            "name": "NATIVE_MODIFIER_COMMAND_RIGHT",
            "value": 32768
          },
          {
            "name": "NATIVE_MODIFIER_HELP",
            "value": 65536
          },
          {
            "name": "NATIVE_MODIFIER_ALT_GRAPH",
            "value": 131072
          },
          {
            "name": "NATIVE_MODIFIER_FUNCTION",
            "value": 1048576
          },
          {
            "name": "NATIVE_MODIFIER_NUMERIC_KEY_PAD",
            "value": 16777216
          },
          {
            "name": "NATIVE_MOUSE_MESSAGE_BUTTON_DOWN",
            "value": 1
          },
          {
            "name": "NATIVE_MOUSE_MESSAGE_BUTTON_UP",
            "value": 2
          },
          {
            "name": "NATIVE_MOUSE_MESSAGE_MOVE",
            "value": 3
          },
          {
            "name": "NATIVE_MOUSE_MESSAGE_ENTER_WINDOW",
            "value": 4
          },
          {
            "name": "NATIVE_MOUSE_MESSAGE_LEAVE_WINDOW",
            "value": 5
          },
          {
            "name": "MOUSESCROLL_PREFER_WIDGET_AT_POINT",
            "value": 1
          },
          {
            "name": "MOUSESCROLL_SCROLL_LINES",
            "value": 2
          },
          {
            "name": "MOUSESCROLL_WIN_SCROLL_LPARAM_NOT_NULL",
            "value": 65536
          },
          {
            "name": "TOUCH_HOVER",
            "value": 1
          },
          {
            "name": "TOUCH_CONTACT",
            "value": 2
          },
          {
            "name": "TOUCH_REMOVE",
            "value": 4
          },
          {
            "name": "TOUCH_CANCEL",
            "value": 8
          },
          {
            "name": "PHASE_BEGIN",
            "value": 0
          },
          {
            "name": "PHASE_UPDATE",
            "value": 1
          },
          {
            "name": "PHASE_END",
            "value": 2
          },
          {
            "name": "UPDATE_TYPE_RESTORE",
            "value": 0
          },
          {
            "name": "UPDATE_TYPE_MAIN_THREAD",
            "value": 1
          },
          {
            "name": "SCROLL_MODE_INSTANT",
            "value": 0
          },
          {
            "name": "SCROLL_MODE_SMOOTH",
            "value": 1
          },
          {
            "name": "FLUSH_NONE",
            "value": -1
          },
          {
            "name": "FLUSH_STYLE",
            "value": 0
          },
          {
            "name": "FLUSH_LAYOUT",
            "value": 1
          },
          {
            "name": "IME_STATUS_DISABLED",
            "value": 0
          },
          {
            "name": "IME_STATUS_ENABLED",
            "value": 1
          },
          {
            "name": "IME_STATUS_PASSWORD",
            "value": 2
          },
          {
            "name": "INPUT_CONTEXT_ORIGIN_MAIN",
            "value": 0
          },
          {
            "name": "INPUT_CONTEXT_ORIGIN_CONTENT",
            "value": 1
          },
          {
            "name": "CONTENT_COMMAND_FLAG_PREVENT_SET_SELECTION",
            "value": 2
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_SPELLCHECK",
            "value": 2
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_IME_RAWINPUT",
            "value": 4
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDRAWTEXT",
            "value": 8
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_IME_CONVERTEDTEXT",
            "value": 16
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDCONVERTEDTEXT",
            "value": 32
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_ACCESSIBILITY",
            "value": 64
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_FIND",
            "value": 128
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_URLSECONDARY",
            "value": 256
          },
          {
            "name": "QUERY_CONTENT_FLAG_SELECTION_URLSTRIKEOUT",
            "value": 512
          },
          {
            "name": "QUERY_CONTENT_FLAG_OFFSET_RELATIVE_TO_INSERTION_POINT",
            "value": 1024
          },
          {
            "name": "QUERY_SELECTED_TEXT",
            "value": 3200
          },
          {
            "name": "QUERY_TEXT_CONTENT",
            "value": 3201
          },
          {
            "name": "QUERY_CARET_RECT",
            "value": 3203
          },
          {
            "name": "QUERY_TEXT_RECT",
            "value": 3204
          },
          {
            "name": "QUERY_EDITOR_RECT",
            "value": 3205
          },
          {
            "name": "QUERY_CHARACTER_AT_POINT",
            "value": 3208
          },
          {
            "name": "QUERY_TEXT_RECT_ARRAY",
            "value": 3209
          },
          {
            "name": "SELECTION_SET_FLAG_REVERSE",
            "value": 2
          },
          {
            "name": "SELECTION_EXPAND_TO_CLUSTER_BOUNDARY",
            "value": 4
          },
          {
            "name": "SELECT_CHARACTER",
            "value": 0
          },
          {
            "name": "SELECT_CLUSTER",
            "value": 1
          },
          {
            "name": "SELECT_WORD",
            "value": 2
          },
          {
            "name": "SELECT_LINE",
            "value": 3
          },
          {
            "name": "SELECT_BEGINLINE",
            "value": 4
          },
          {
            "name": "SELECT_ENDLINE",
            "value": 5
          },
          {
            "name": "SELECT_PARAGRAPH",
            "value": 6
          },
          {
            "name": "SELECT_WORDNOSPACE",
            "value": 7
          },
          {
            "name": "AUDIO_INPUT",
            "value": 0
          },
          {
            "name": "AUDIO_OUTPUT",
            "value": 1
          },
          {
            "name": "AGENT_SHEET",
            "value": 0
          },
          {
            "name": "USER_SHEET",
            "value": 1
          },
          {
            "name": "AUTHOR_SHEET",
            "value": 2
          },
          {
            "name": "WR_CAPTURE_SCENE",
            "value": 1
          },
          {
            "name": "WR_CAPTURE_FRAME",
            "value": 2
          },
          {
            "name": "WR_CAPTURE_TILE_CACHE",
            "value": 4
          },
          {
            "name": "WR_CAPTURE_EXTERNAL_RESOURCES",
            "value": 8
          },
          {
            "name": "DEFAULT_MOUSE_POINTER_ID",
            "value": 0
          },
          {
            "name": "DEFAULT_PEN_POINTER_ID",
            "value": 1
          },
          {
            "name": "DEFAULT_TOUCH_POINTER_ID",
            "value": 2
          },
          {
            "name": "MOUSE_BUTTON_LEFT_BUTTON",
            "value": 0
          },
          {
            "name": "MOUSE_BUTTON_MIDDLE_BUTTON",
            "value": 1
          },
          {
            "name": "MOUSE_BUTTON_RIGHT_BUTTON",
            "value": 2
          },
          {
            "name": "MOUSE_BUTTONS_NO_BUTTON",
            "value": 0
          },
          {
            "name": "MOUSE_BUTTONS_LEFT_BUTTON",
            "value": 1
          },
          {
            "name": "MOUSE_BUTTONS_RIGHT_BUTTON",
            "value": 2
          },
          {
            "name": "MOUSE_BUTTONS_MIDDLE_BUTTON",
            "value": 4
          },
          {
            "name": "MOUSE_BUTTONS_4TH_BUTTON",
            "value": 8
          },
          {
            "name": "MOUSE_BUTTONS_5TH_BUTTON",
            "value": 16
          },
          {
            "name": "DIRECTION_LTR",
            "value": 0
          },
          {
            "name": "DIRECTION_RTL",
            "value": 1
          },
          {
            "name": "DIRECTION_NOT_SET",
            "value": 2
          }
        ],
        "enums": [
          {
            "id": "AsyncEnabledOption",
            "variants": [
              {
                "name": "ASYNC_DISABLED",
                "value": 0
              },
              {
                "name": "ASYNC_ENABLED",
                "value": 1
              }
            ]
          }
        ],
        "id": "nsIDOMWindowUtils",
        "members": [
          {
            "name": "imageAnimationMode",
            "readonly": false,
            "type": "u16"
          },
          {
            "name": "docCharsetIsForced",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "physicalMillimeterInCSSPixels",
            "readonly": true,
            "type": "float"
          },
          {
            "args": [
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getDocumentMetadata",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "OutParam<float>"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "OutParam<float>"
              }
            ],
            "iid_is": null,
            "name": "getLastOverWindowPointerLocationInCSSPixels",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "updateLayerTree",
            "type": "void"
          },
          {
            "name": "lastTransactionId",
            "readonly": true,
            "type": "u64"
          },
          {
            "args": [
              {
                "name": "aDisplayWidth",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aDisplayHeight",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aDefaultZoom",
                "optional": false,
                "type": "OutParam<double>"
              },
              {
                "name": "aAllowZoom",
                "optional": false,
                "type": "OutParam<boolean>"
              },
              {
                "name": "aMinZoom",
                "optional": false,
                "type": "OutParam<double>"
              },
              {
                "name": "aMaxZoom",
                "optional": false,
                "type": "OutParam<double>"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "OutParam<u32>"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "OutParam<u32>"
              },
              {
                "name": "aAutoSize",
                "optional": false,
                "type": "OutParam<boolean>"
              }
            ],
            "iid_is": null,
            "name": "getViewportInfo",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getViewportFitInfo",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aDisplayWidth",
                "optional": false,
                "type": "OutParam<u32>"
              },
              {
                "name": "aDisplayHeight",
                "optional": false,
                "type": "OutParam<u32>"
              }
            ],
            "iid_is": null,
            "name": "getDocumentViewerSize",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aEnabled",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aHonourRoot",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setMousewheelAutodir",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aXPx",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aYPx",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aWidthPx",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aHeightPx",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aPriority",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "setDisplayPortForElement",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aLeftMargin",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aTopMargin",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aRightMargin",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aBottomMargin",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aPriority",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "setDisplayPortMarginsForElement",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "setDisplayPortBaseForElement",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aVerticalScrollbarWidth",
                "optional": false,
                "type": "OutParam<u32>"
              },
              {
                "name": "aHorizontalScrollbarHeight",
                "optional": false,
                "type": "OutParam<u32>"
              }
            ],
            "iid_is": null,
            "name": "getScrollbarSizes",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aResolution",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "setResolutionAndScaleTo",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getResolution",
            "type": "float"
          },
          {
            "args": [
              {
                "name": "aResolution",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aDisplayWidth",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aDisplayHeight",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "setRestoreResolution",
            "type": "void"
          },
          {
            "name": "isFirstPaint",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getPresShellId",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              },
              {
                "name": "value",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isCORSSafelistedRequestHeader",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aDeltaX",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aDeltaY",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aDeltaZ",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aDeltaMode",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aModifiers",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aLineOrPageDeltaX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aLineOrPageDeltaY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aOptions",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              }
            ],
            "iid_is": null,
            "name": "sendWheelEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aNativeKeyboardLayout",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aNativeKeyCode",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aModifierFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aCharacters",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aUnmodifiedCharacters",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              }
            ],
            "iid_is": null,
            "name": "sendNativeKeyEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aNativeMessage",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aButton",
                "optional": false,
                "type": "i16"
              },
              {
                "name": "aModifierFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aElementOnWidget",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              }
            ],
            "iid_is": null,
            "name": "sendNativeMouseEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSuppress",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "suppressAnimation",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aNativeMessage",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aDeltaX",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aDeltaY",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aDeltaZ",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aModifierFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aAdditionalFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              }
            ],
            "iid_is": null,
            "name": "sendNativeMouseScrollEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPointerId",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aTouchState",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aPressure",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aOrientation",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              },
              {
                "name": "aElement",
                "optional": true,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "sendNativeTouchPoint",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aEventPhase",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aScale",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aModifierFlags",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "sendNativeTouchpadPinch",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aLongTap",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              }
            ],
            "iid_is": null,
            "name": "sendNativeTouchTap",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPointerId",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aPointerState",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aPressure",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aRotation",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aTiltX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aTiltY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aButton",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              },
              {
                "name": "aElement",
                "optional": true,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "sendNativePenInput",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aModifierFlags",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "sendNativeTouchpadDoubleTap",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aEventPhase",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aScreenX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScreenY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aDeltaX",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aDeltaY",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aModifierFlags",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsISynthesizedEventCallback"
              }
            ],
            "iid_is": null,
            "name": "sendNativeTouchpadPan",
            "type": "void"
          },
          {
            "name": "parsedStyleSheets",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "indexString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "activateNativeMenuItemAt",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "indexString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "forceUpdateNativeMenuAt",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "GetSelectionAsPlaintext",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aListener",
                "optional": true,
                "type": "nsICycleCollectorListener"
              }
            ],
            "iid_is": null,
            "name": "garbageCollect",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aListener",
                "optional": true,
                "type": "nsICycleCollectorListener"
              }
            ],
            "iid_is": null,
            "name": "cycleCollect",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aReason",
                "optional": true,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "runNextCollectorTimer",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aReason",
                "optional": true,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "pokeGC",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aDirection",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aDelta",
                "optional": false,
                "type": "double"
              },
              {
                "name": "aModifiers",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aClickCount",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "sendSimpleGestureEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aIgnoreRootScrollFrame",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aFlushLayout",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "elementFromPoint",
            "type": "Element"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aTopSize",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aRightSize",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aBottomSize",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aLeftSize",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aIgnoreRootScrollFrame",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aFlushLayout",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aOnlyVisible",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aTransparencyThreshold",
                "optional": true,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "nodesFromRect",
            "type": "NodeList"
          },
          {
            "args": [
              {
                "name": "aCanvas1",
                "optional": false,
                "type": "nsISupports"
              },
              {
                "name": "aCanvas2",
                "optional": false,
                "type": "nsISupports"
              },
              {
                "name": "aMaxDifference",
                "optional": false,
                "type": "OutParam<u32>"
              }
            ],
            "iid_is": null,
            "name": "compareCanvases",
            "type": "u32"
          },
          {
            "name": "isMozAfterPaintPending",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isWindowFullyOccluded",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isCompositorPaused",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isInputTaskManagerSuspended",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aSuppress",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "suppressEventHandling",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aDisable",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "disableNonTestMouseEvents",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFlushLayout",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aScrollX",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "aScrollY",
                "optional": false,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getScrollXY",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFlushLayout",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aScrollX",
                "optional": false,
                "type": "OutParam<float>"
              },
              {
                "name": "aScrollY",
                "optional": false,
                "type": "OutParam<float>"
              }
            ],
            "iid_is": null,
            "name": "getScrollXYFloat",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFlushLayout",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getScrollbarSize",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "getBoundsWithoutFlushing",
            "type": "DOMRect"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getWidgetOpaqueRegion",
            "type": "DOMRect[]"
          },
          {
            "args": [
              {
                "name": "aOffsetX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aOffsetY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aUpdateType",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aScrollMode",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "scrollToVisual",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aOffsetX",
                "optional": false,
                "type": "OutParam<float>"
              },
              {
                "name": "aOffsetY",
                "optional": false,
                "type": "OutParam<float>"
              }
            ],
            "iid_is": null,
            "name": "getVisualViewportOffsetRelativeToLayoutViewport",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aOffsetX",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "aOffsetY",
                "optional": false,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getVisualViewportOffset",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "transformRectLayoutToVisual",
            "type": "DOMRect"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "getElementBoundingScreenRect",
            "type": "DOMRect"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "toScreenRectInCSSUnits",
            "type": "DOMRect"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "toScreenRect",
            "type": "DOMRect"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "toTopLevelWidgetRect",
            "type": "DOMRect"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aWidth",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "convertFromParentProcessWidgetToLocal",
            "type": "DOMRect"
          },
          {
            "args": [
              {
                "name": "aHeightInScreen",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "setDynamicToolbarMaxHeight",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFlushtype",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "needsFlush",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "flushLayoutWithoutThrottledAnimations",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getRootBounds",
            "type": "DOMRect"
          },
          {
            "name": "IMEIsOpen",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "IMEStatus",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "inputContextURI",
            "readonly": true,
            "type": "nsIURI"
          },
          {
            "name": "inputContextOrigin",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "nodeObservedByIMEContentObserver",
            "readonly": true,
            "type": "Node"
          },
          {
            "args": [
              {
                "name": "aTarget",
                "optional": false,
                "type": "Node"
              },
              {
                "name": "aEvent",
                "optional": false,
                "type": "Event"
              }
            ],
            "iid_is": null,
            "name": "dispatchDOMEventViaPresShellForTesting",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aTarget",
                "optional": false,
                "type": "EventTarget"
              },
              {
                "name": "aEvent",
                "optional": false,
                "type": "Event"
              }
            ],
            "iid_is": null,
            "name": "dispatchEventToChromeOnly",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aObject",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "getClassName",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aTransferable",
                "optional": true,
                "type": "nsITransferable"
              },
              {
                "name": "aString",
                "optional": true,
                "type": "string"
              },
              {
                "name": "aOffset",
                "optional": true,
                "type": "u32"
              },
              {
                "name": "aReplaceSrcString",
                "optional": true,
                "type": "string"
              },
              {
                "name": "aAdditionalFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "sendContentCommandEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aType",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aOffset",
                "optional": false,
                "type": "i64"
              },
              {
                "name": "aLength",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aAdditionalFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "sendQueryContentEvent",
            "type": "nsIQueryContentEventResult"
          },
          {
            "args": [
              {
                "name": "aFrameElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aFullscreenKeyboardLockEnabled",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "remoteFrameFullscreenChanged",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "remoteFrameFullscreenReverted",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "handleFullscreenRequests",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aDontRestoreViewSize",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "exitFullscreen",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aOffset",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aLength",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aAdditionalFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "sendSelectionSetEvent",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aSelectBehavior",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "selectAtPoint",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aPseudoElement",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPropertyName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getVisitedDependentComputedStyle",
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "enterModalState",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "leaveModalState",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isInModalState",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "suspendTimeouts",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "resumeTimeouts",
            "type": "void"
          },
          {
            "name": "layerManagerType",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "layerManagerRemote",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isWebRenderRequested",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "currentAudioBackend",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "currentMaxAudioChannels",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "defaultDevicesRoundTripLatency",
            "type": "Promise<any>"
          },
          {
            "name": "currentPreferredSampleRate",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aSide",
                "optional": false,
                "type": "u16"
              }
            ],
            "iid_is": null,
            "name": "audioDevices",
            "type": "nsIArray"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "startFrameTimeRecording",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "startIndex",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "stopFrameTimeRecording",
            "type": "float[]"
          },
          {
            "name": "displayDPI",
            "readonly": true,
            "type": "float"
          },
          {
            "args": [
              {
                "name": "aMilliseconds",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "advanceTimeAndRefresh",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "restoreNormalRefresh",
            "type": "void"
          },
          {
            "name": "isTestControllingRefreshes",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "asyncPanZoomEnabled",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "setAsyncScrollOffset",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRootElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aValue",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "setAsyncZoom",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": true,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "flushApzRepaints",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "disableApzForElement",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "isApzDisabledForElement",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "zoomToFocusedInput",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "element",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "property",
                "optional": false,
                "type": "string"
              },
              {
                "name": "value1",
                "optional": false,
                "type": "string"
              },
              {
                "name": "value2",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "computeAnimationDistance",
            "type": "double"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aPseudoElement",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aProperty",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aFlushType",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "getUnanimatedComputedStyle",
            "type": "string"
          },
          {
            "name": "canvasBackgroundColor",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "focusedInputType",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "focusedActionHint",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "focusedInputMode",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "focusedAutocapitalize",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "focusedAutocorrect",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "getViewId",
            "type": "nsViewID"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "checkAndClearPaintedState",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "checkAndClearDisplayListState",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "checkAndClearWRDidRasterize",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aFile",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "getFileId",
            "type": "i64"
          },
          {
            "args": [
              {
                "name": "aFile",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "getFilePath",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aDatabaseName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aId",
                "optional": false,
                "type": "i64"
              },
              {
                "name": "aRefCnt",
                "optional": true,
                "type": "OutParam<i32>"
              },
              {
                "name": "aDBRefCnt",
                "optional": true,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getFileReferences",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "flushPendingFileDeletions",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "startPCCountProfiling",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "stopPCCountProfiling",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "purgePCCounts",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getPCCountScriptCount",
            "type": "i32"
          },
          {
            "args": [
              {
                "name": "script",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "getPCCountScriptSummary",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "script",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "getPCCountScriptContents",
            "type": "string"
          },
          {
            "name": "paintingSuppressed",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aWidth",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aHeight",
                "optional": false,
                "type": "float"
              }
            ],
            "iid_is": null,
            "name": "setVisualViewportSize",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "disableDialogs",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "enableDialogs",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "areDialogsEnabled",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "resetDialogAbuseState",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "sheetURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "loadSheet",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "sheetURI",
                "optional": false,
                "type": "string"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "loadSheetUsingURIString",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "sheet",
                "optional": false,
                "type": "nsIPreloadedStyleSheet"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "addSheet",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "sheetURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "removeSheet",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "sheetURI",
                "optional": false,
                "type": "string"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "removeSheetUsingURIString",
            "type": "void"
          },
          {
            "name": "isHandlingUserInput",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "millisSinceLastUserInput",
            "readonly": true,
            "type": "double"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "allowScriptsToClose",
            "type": "void"
          },
          {
            "name": "isParentWindowMainWidgetVisible",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aNode",
                "optional": false,
                "type": "Node"
              }
            ],
            "iid_is": null,
            "name": "isNodeDisabledForEvents",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aProperty",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPseudoElement",
                "optional": true,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getOMTAStyle",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aHandlingInput",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setHandlingUserInput",
            "type": "nsIJSRAIIHelper"
          },
          {
            "args": [
              {
                "name": "aKeyboardEvent",
                "optional": false,
                "type": "Event"
              }
            ],
            "iid_is": null,
            "name": "isKeyboardEventUserActivity",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": true,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "getContentAPZTestData",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": true,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "getCompositorAPZTestData",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "float"
              },
              {
                "name": "aElement",
                "optional": true,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "sendMozMouseHitTestEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "postRestyleSelfEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aObj",
                "optional": false,
                "type": "nsISupports"
              }
            ],
            "iid_is": null,
            "name": "xpconnectArgument",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIContentPermissionRequest"
              }
            ],
            "iid_is": null,
            "name": "askPermission",
            "type": "void"
          },
          {
            "name": "restyleGeneration",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "framesConstructed",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "framesReflowed",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "animationTriggeredRestyles",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "refreshDriverHasPendingTick",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aCustomTitlebar",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setCustomTitlebar",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aResizeMargin",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "setResizeMargin",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getFrameUniformityTestData",
            "type": "any"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "enterChaosMode",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "leaveChaosMode",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "triggerDeviceReset",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSheetType",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "hasRuleProcessorUsedByMultipleStyleSets",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aEnabled",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "respectDisplayPortSuppression",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "forceReflowInterrupt",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "terminateGPUProcess",
            "type": "void"
          },
          {
            "name": "gpuProcessPid",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "rddProcessPid",
            "readonly": true,
            "type": "i32"
          },
          {
            "args": [
              {
                "name": "aStorage",
                "optional": false,
                "type": "Storage"
              }
            ],
            "iid_is": null,
            "name": "getStorageUsage",
            "type": "i64"
          },
          {
            "args": [
              {
                "name": "aString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getDirectionFromText",
            "type": "i32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "ensureDirtyRootFrame",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "wrCapture",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "wrStartCaptureSequence",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "wrStopCaptureSequence",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aValue",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setCompositionRecording",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "startCompositionRecording",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aWriteToDisk",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "stopCompositionRecording",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aProperty",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isCssPropertyRecordedInUseCounter",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "resetMobileViewportManager",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isCoepCredentialless",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aHiDPI",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setHiDPIMode",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "restoreHiDPIMode",
            "type": "void"
          },
          {
            "name": "systemFont",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "paintCount",
            "readonly": true,
            "type": "u64"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "syncFlushCompositor",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": true,
                "type": "Element"
              }
            ],
            "iid_is": null,
            "name": "getLayersId",
            "type": "u64"
          },
          {
            "name": "effectivelyThrottlesFrameRequests",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "webrtcRawDeviceId",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "suspendedByBrowsingContextGroup",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "hasScrollLinkedEffect",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "orientationLock",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getWheelScrollTarget",
            "type": "Element"
          },
          {
            "name": "dragSession",
            "readonly": true,
            "type": "nsIDragSession"
          },
          {
            "name": "microTaskLevel",
            "readonly": false,
            "type": "u32"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIJSRAIIHelper",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "destruct",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIDOMWindowUtils.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "FLAG_RAISE",
            "value": 1
          },
          {
            "name": "FLAG_NOSCROLL",
            "value": 2
          },
          {
            "name": "FLAG_NOSWITCHFRAME",
            "value": 4
          },
          {
            "name": "FLAG_NOPARENTFRAME",
            "value": 8
          },
          {
            "name": "FLAG_NONSYSTEMCALLER",
            "value": 16
          },
          {
            "name": "FLAG_BYMOUSE",
            "value": 4096
          },
          {
            "name": "FLAG_BYKEY",
            "value": 8192
          },
          {
            "name": "FLAG_BYMOVEFOCUS",
            "value": 16384
          },
          {
            "name": "FLAG_NOSHOWRING",
            "value": 32768
          },
          {
            "name": "FLAG_SHOWRING",
            "value": 65536
          },
          {
            "name": "FLAG_BYTOUCH",
            "value": 131072
          },
          {
            "name": "FLAG_BYJS",
            "value": 262144
          },
          {
            "name": "FLAG_BYLONGPRESS",
            "value": 524288
          },
          {
            "name": "METHOD_MASK",
            "value": 946176
          },
          {
            "name": "METHODANDRING_MASK",
            "value": 1044480
          },
          {
            "name": "MOVEFOCUS_FORWARD",
            "value": 1
          },
          {
            "name": "MOVEFOCUS_BACKWARD",
            "value": 2
          },
          {
            "name": "MOVEFOCUS_FORWARDDOC",
            "value": 3
          },
          {
            "name": "MOVEFOCUS_BACKWARDDOC",
            "value": 4
          },
          {
            "name": "MOVEFOCUS_FIRST",
            "value": 5
          },
          {
            "name": "MOVEFOCUS_LAST",
            "value": 6
          },
          {
            "name": "MOVEFOCUS_ROOT",
            "value": 7
          },
          {
            "name": "MOVEFOCUS_CARET",
            "value": 8
          },
          {
            "name": "MOVEFOCUS_FIRSTDOC",
            "value": 9
          },
          {
            "name": "MOVEFOCUS_LASTDOC",
            "value": 10
          }
        ],
        "enums": [],
        "id": "nsIFocusManager",
        "members": [
          {
            "name": "activeWindow",
            "readonly": true,
            "type": "mozIDOMWindowProxy"
          },
          {
            "name": "activeBrowsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "name": "activeContentBrowsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "name": "focusedWindow",
            "readonly": false,
            "type": "mozIDOMWindowProxy"
          },
          {
            "name": "focusedContentBrowsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "name": "focusedElement",
            "readonly": true,
            "type": "Element"
          },
          {
            "args": [
              {
                "name": "window",
                "optional": false,
                "type": "mozIDOMWindowProxy"
              }
            ],
            "iid_is": null,
            "name": "getLastFocusMethod",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "setFocus",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWindow",
                "optional": false,
                "type": "mozIDOMWindowProxy"
              },
              {
                "name": "aStartElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aType",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "moveFocus",
            "type": "Element"
          },
          {
            "args": [
              {
                "name": "aWindow",
                "optional": false,
                "type": "mozIDOMWindowProxy"
              }
            ],
            "iid_is": null,
            "name": "clearFocus",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aWindow",
                "optional": false,
                "type": "mozIDOMWindowProxy"
              },
              {
                "name": "aDeep",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aFocusedWindow",
                "optional": false,
                "type": "OutParam<mozIDOMWindowProxy>"
              }
            ],
            "iid_is": null,
            "name": "getFocusedElementForWindow",
            "type": "Element"
          },
          {
            "args": [
              {
                "name": "aWindow",
                "optional": false,
                "type": "mozIDOMWindowProxy"
              }
            ],
            "iid_is": null,
            "name": "moveCaretToFocus",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "elementIsFocusable",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIFocusManager.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIGeckoViewServiceWorker",
        "members": [
          {
            "args": [
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aOpenWindowInfo",
                "optional": false,
                "type": "nsIOpenWindowInfo"
              }
            ],
            "iid_is": null,
            "name": "openWindow",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIGeckoViewServiceWorker.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPermissionDelegateHandler",
        "members": [
          {
            "args": [
              {
                "name": "aTypes",
                "optional": false,
                "type": "string[]"
              }
            ],
            "iid_is": null,
            "name": "maybeUnsafePermissionDelegate",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIPermissionDelegateHandler.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIQueryContentEventResult",
        "members": [
          {
            "name": "offset",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "tentativeCaretOffset",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "reversed",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "left",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "top",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "width",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "height",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "text",
            "readonly": true,
            "type": "string"
          },
          {
            "args": [
              {
                "name": "offset",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "left",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "top",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "width",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "height",
                "optional": false,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getCharacterRect",
            "type": "void"
          },
          {
            "name": "succeeded",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "notFound",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "tentativeCaretOffsetNotFound",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIQueryContentEventResult.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "NavigationType",
            "variants": [
              {
                "name": "NAVIGATE_BACK",
                "value": 0
              },
              {
                "name": "NAVIGATE_FORWARD",
                "value": 1
              },
              {
                "name": "NAVIGATE_INDEX",
                "value": 2
              },
              {
                "name": "NAVIGATE_URL",
                "value": 3
              }
            ]
          }
        ],
        "id": "nsIRemoteTab",
        "members": [
          {
            "name": "renderLayers",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "hasLayers",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "priorityHint",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "deprioritize",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPreserveLayers",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "preserveLayers",
            "type": "void"
          },
          {
            "name": "tabId",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "contentProcessId",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "osPid",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "browsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "name": "hasPresented",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aPartitionedPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "createAboutBlankDocumentViewer",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aNavigationType",
                "optional": false,
                "type": "nsIRemoteTab.NavigationType"
              },
              {
                "name": "aCancelContentJSOptions",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "maybeCancelContentJSExecution",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIRemoteTab.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIServiceWorkerUnregisterCallback",
        "members": [
          {
            "args": [
              {
                "name": "aState",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "unregisterSucceeded",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "unregisterFailed",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "STATE_PARSED",
            "value": 0
          },
          {
            "name": "STATE_INSTALLING",
            "value": 1
          },
          {
            "name": "STATE_INSTALLED",
            "value": 2
          },
          {
            "name": "STATE_ACTIVATING",
            "value": 3
          },
          {
            "name": "STATE_ACTIVATED",
            "value": 4
          },
          {
            "name": "STATE_REDUNDANT",
            "value": 5
          },
          {
            "name": "STATE_UNKNOWN",
            "value": 6
          }
        ],
        "enums": [],
        "id": "nsIServiceWorkerInfo",
        "members": [
          {
            "name": "id",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "scriptSpec",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "cacheName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "launchCount",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "state",
            "readonly": true,
            "type": "u16"
          },
          {
            "name": "debugger",
            "readonly": true,
            "type": "nsIWorkerDebugger"
          },
          {
            "name": "handlesFetchEvents",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "installedTime",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "activatedTime",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "redundantTime",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "lifetimeDeadline",
            "readonly": true,
            "type": "double"
          },
          {
            "name": "navigationFaultCount",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "testingInjectCancellation",
            "readonly": false,
            "type": "nsresult"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "attachDebugger",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "detachDebugger",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "terminateWorker",
            "type": "Promise<any>"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIServiceWorkerRegistrationInfoListener",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "onChange",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "UPDATE_VIA_CACHE_IMPORTS",
            "value": 0
          },
          {
            "name": "UPDATE_VIA_CACHE_ALL",
            "value": 1
          },
          {
            "name": "UPDATE_VIA_CACHE_NONE",
            "value": 2
          }
        ],
        "enums": [],
        "id": "nsIServiceWorkerRegistrationInfo",
        "members": [
          {
            "name": "principal",
            "readonly": true,
            "type": "nsIPrincipal"
          },
          {
            "name": "unregistered",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "scope",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "scriptSpec",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "updateViaCache",
            "readonly": true,
            "type": "u16"
          },
          {
            "name": "lastUpdateTime",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "evaluatingWorker",
            "readonly": true,
            "type": "nsIServiceWorkerInfo"
          },
          {
            "name": "installingWorker",
            "readonly": true,
            "type": "nsIServiceWorkerInfo"
          },
          {
            "name": "waitingWorker",
            "readonly": true,
            "type": "nsIServiceWorkerInfo"
          },
          {
            "name": "activeWorker",
            "readonly": true,
            "type": "nsIServiceWorkerInfo"
          },
          {
            "name": "quotaUsageCheckCount",
            "readonly": true,
            "type": "i32"
          },
          {
            "args": [
              {
                "name": "aID",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "getWorkerByID",
            "type": "nsIServiceWorkerInfo"
          },
          {
            "args": [
              {
                "name": "listener",
                "optional": false,
                "type": "nsIServiceWorkerRegistrationInfoListener"
              }
            ],
            "iid_is": null,
            "name": "addListener",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "listener",
                "optional": false,
                "type": "nsIServiceWorkerRegistrationInfoListener"
              }
            ],
            "iid_is": null,
            "name": "removeListener",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "forceShutdown",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIServiceWorkerManagerListener",
        "members": [
          {
            "args": [
              {
                "name": "aInfo",
                "optional": false,
                "type": "nsIServiceWorkerRegistrationInfo"
              }
            ],
            "iid_is": null,
            "name": "onRegister",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aInfo",
                "optional": false,
                "type": "nsIServiceWorkerRegistrationInfo"
              }
            ],
            "iid_is": null,
            "name": "onUnregister",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aInfo",
                "optional": false,
                "type": "nsIServiceWorkerRegistrationInfo"
              }
            ],
            "iid_is": null,
            "name": "onQuotaUsageCheckFinish",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIServiceWorkerManager",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "reloadRegistrationsForTest",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aScope",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aScriptURL",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "registerForTest",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "registerForAddonPrincipal",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "getRegistrationForAddonPrincipal",
            "type": "nsIServiceWorkerRegistrationInfo"
          },
          {
            "args": [
              {
                "name": "aExtensionBaseURL",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aAPINamespace",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aAPIEventName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "wakeForExtensionAPIEvent",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIServiceWorkerUnregisterCallback"
              },
              {
                "name": "aScope",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "unregister",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aScope",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getRegistrationByPrincipal",
            "type": "nsIServiceWorkerRegistrationInfo"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aPath",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getScopeForUrl",
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getAllRegistrations",
            "type": "nsIArray"
          },
          {
            "args": [
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsIServiceWorkerUnregisterCallback"
              }
            ],
            "iid_is": null,
            "name": "removeRegistrationsByOriginAttributes",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIServiceWorkerUnregisterCallback"
              },
              {
                "name": "aScope",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "propagateUnregister",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aScope",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aDataBytes",
                "optional": true,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "sendPushEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "string"
              },
              {
                "name": "scope",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOldSubscription",
                "optional": true,
                "type": "nsIPushSubscription"
              }
            ],
            "iid_is": null,
            "name": "sendPushSubscriptionChangeEvent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aListener",
                "optional": false,
                "type": "nsIServiceWorkerManagerListener"
              }
            ],
            "iid_is": null,
            "name": "addListener",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aListener",
                "optional": false,
                "type": "nsIServiceWorkerManagerListener"
              }
            ],
            "iid_is": null,
            "name": "removeListener",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIServiceWorkerManager.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsLoadFlags",
        "u32"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIStructuredCloneContainer",
        "members": [
          {
            "args": [
              {
                "name": "aData",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aFormatVersion",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "initFromBase64",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "deserializeToJsval",
            "type": "any"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getDataAsBase64",
            "type": "string"
          },
          {
            "name": "serializedNBytes",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "formatVersion",
            "readonly": true,
            "type": "u32"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsIStructuredCloneContainer.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "ATTR_RAW_CLAUSE",
            "value": 2
          },
          {
            "name": "ATTR_SELECTED_RAW_CLAUSE",
            "value": 3
          },
          {
            "name": "ATTR_CONVERTED_CLAUSE",
            "value": 4
          },
          {
            "name": "ATTR_SELECTED_CLAUSE",
            "value": 5
          },
          {
            "name": "KEY_DEFAULT_PREVENTED",
            "value": 1
          },
          {
            "name": "KEY_NON_PRINTABLE_KEY",
            "value": 2
          },
          {
            "name": "KEY_FORCE_PRINTABLE_KEY",
            "value": 4
          },
          {
            "name": "KEY_KEEP_KEY_LOCATION_STANDARD",
            "value": 8
          },
          {
            "name": "KEY_KEEP_KEYCODE_ZERO",
            "value": 16
          },
          {
            "name": "KEY_DONT_DISPATCH_MODIFIER_KEY_EVENT",
            "value": 32
          },
          {
            "name": "KEY_DONT_MARK_KEYDOWN_AS_PROCESSED",
            "value": 64
          },
          {
            "name": "KEY_MARK_KEYUP_AS_PROCESSED",
            "value": 128
          },
          {
            "name": "KEYEVENT_NOT_CONSUMED",
            "value": 0
          },
          {
            "name": "KEYDOWN_IS_CONSUMED",
            "value": 1
          },
          {
            "name": "KEYPRESS_IS_CONSUMED",
            "value": 2
          }
        ],
        "enums": [],
        "id": "nsITextInputProcessor",
        "members": [
          {
            "name": "hasComposition",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aWindow",
                "optional": false,
                "type": "mozIDOMWindow"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsITextInputProcessorCallback"
              }
            ],
            "iid_is": null,
            "name": "beginInputTransaction",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aWindow",
                "optional": false,
                "type": "mozIDOMWindow"
              },
              {
                "name": "aCallback",
                "optional": true,
                "type": "nsITextInputProcessorCallback"
              }
            ],
            "iid_is": null,
            "name": "beginInputTransactionForTests",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aKeyboardEvent",
                "optional": true,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "startComposition",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setPendingCompositionString",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aLength",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aAttribute",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "appendClauseToPendingComposition",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aOffset",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "setCaretInPendingComposition",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aKeyboardEvent",
                "optional": true,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "flushPendingComposition",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aKeyboardEvent",
                "optional": true,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "commitComposition",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCommitString",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aKeyboardEvent",
                "optional": true,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "commitCompositionWith",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aKeyboardEvent",
                "optional": true,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "cancelComposition",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aKeyboardEvent",
                "optional": false,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "keydown",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aKeyboardEvent",
                "optional": false,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "keyup",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aString",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aKeyboardEvent",
                "optional": true,
                "type": "Event"
              },
              {
                "name": "aKeyFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "insertTextWithKeyPress",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aModifierKey",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getModifierState",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aOther",
                "optional": false,
                "type": "nsITextInputProcessor"
              }
            ],
            "iid_is": null,
            "name": "shareModifierStateOf",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aKeyValue",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aLocation",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "computeCodeValueOfNonPrintableKey",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aKeyValue",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aLocation",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "guessCodeValueOfPrintableKeyInUSEnglishKeyboardLayout",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aKeyValue",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aLocation",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "guessKeyCodeValueOfPrintableKeyInUSEnglishKeyboardLayout",
            "type": "u32"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsITextInputProcessor.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsITextInputProcessorNotification",
        "members": [
          {
            "name": "type",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "hasRange",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "offset",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "text",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "collapsed",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "length",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "reversed",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "writingMode",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "causedByComposition",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "causedBySelectionEvent",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "occurredDuringComposition",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "removedLength",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "addedLength",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "causedOnlyByComposition",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "includingChangesDuringComposition",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "includingChangesWithoutComposition",
            "readonly": true,
            "type": "boolean"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsITextInputProcessorCallback",
        "members": [
          {
            "args": [
              {
                "name": "aTextInputProcessor",
                "optional": false,
                "type": "nsITextInputProcessor"
              },
              {
                "name": "aNotification",
                "optional": false,
                "type": "nsITextInputProcessorNotification"
              }
            ],
            "iid_is": null,
            "name": "onNotify",
            "type": "boolean"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsITextInputProcessorListenerCallback",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "onNotify",
            "type": "boolean"
          }
        ]
      },
      {
        "base": "nsITextInputProcessorCallback",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsITextInputProcessorListener",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "getNotification",
            "type": "nsITextInputProcessorNotification"
          },
          {
            "args": [
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsITextInputProcessorListenerCallback"
              }
            ],
            "iid_is": null,
            "name": "setCallback",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/interfaces/base/nsITextInputProcessorCallback.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]