[
  {
    "interfaces": [
      {
        "base": "nsIDocShellTreeItem",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "DocShellEnumeratorDirection",
            "variants": [
              {
                "name": "ENUMERATE_FORWARDS",
                "value": 0
              },
              {
                "name": "ENUMERATE_BACKWARDS",
                "value": 1
              }
            ]
          },
          {
            "id": "AppType",
            "variants": [
              {
                "name": "APP_TYPE_UNKNOWN",
                "value": 0
              },
              {
                "name": "APP_TYPE_MAIL",
                "value": 1
              },
              {
                "name": "APP_TYPE_EDITOR",
                "value": 2
              }
            ]
          },
          {
            "id": "BusyFlags",
            "variants": [
              {
                "name": "BUSY_FLAGS_NONE",
                "value": 0
              },
              {
                "name": "BUSY_FLAGS_BUSY",
                "value": 1
              },
              {
                "name": "BUSY_FLAGS_BEFORE_PAGE_LOAD",
                "value": 2
              },
              {
                "name": "BUSY_FLAGS_PAGE_LOADING",
                "value": 4
              }
            ]
          },
          {
            "id": "LoadCommand",
            "variants": [
              {
                "name": "LOAD_CMD_NORMAL",
                "value": 1
              },
              {
                "name": "LOAD_CMD_RELOAD",
                "value": 2
              },
              {
                "name": "LOAD_CMD_HISTORY",
                "value": 4
              },
              {
                "name": "LOAD_CMD_PUSHSTATE",
                "value": 8
              }
            ]
          }
        ],
        "id": "nsIDocShell",
        "members": [
          {
            "args": [
              {
                "name": "aEpoch",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "setCancelContentJSEpoch",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "prepareForNewContentModel",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              }
            ],
            "iid_is": null,
            "name": "setCurrentURIForSessionStore",
            "type": "void"
          },
          {
            "name": "docViewer",
            "readonly": true,
            "type": "nsIDocumentViewer"
          },
          {
            "name": "outerWindowID",
            "readonly": true,
            "type": "u64"
          },
          {
            "name": "chromeEventHandler",
            "readonly": false,
            "type": "EventTarget"
          },
          {
            "name": "customUserAgent",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "cssErrorReportingEnabled",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowMetaRedirects",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowSubframes",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowImages",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowMedia",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowDNSPrefetch",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowWindowControl",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowContentRetargeting",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "allowContentRetargetingOnChildren",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aItemType",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aDirection",
                "optional": false,
                "type": "nsIDocShell.DocShellEnumeratorDirection"
              }
            ],
            "iid_is": null,
            "name": "getAllDocShellsInSubtree",
            "type": "nsIDocShell[]"
          },
          {
            "name": "appType",
            "readonly": false,
            "type": "nsIDocShell.AppType"
          },
          {
            "name": "allowAuth",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "zoom",
            "readonly": false,
            "type": "float"
          },
          {
            "name": "busyFlags",
            "readonly": true,
            "type": "nsIDocShell.BusyFlags"
          },
          {
            "name": "loadType",
            "readonly": false,
            "type": "u32"
          },
          {
            "name": "defaultLoadFlags",
            "readonly": false,
            "type": "nsLoadFlags"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isBeingDestroyed",
            "type": "boolean"
          },
          {
            "name": "isExecutingOnLoadHandler",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "layoutHistoryState",
            "readonly": false,
            "type": "nsILayoutHistoryState"
          },
          {
            "name": "loadURIDelegate",
            "readonly": true,
            "type": "nsILoadURIDelegate"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "suspendRefreshURIs",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "resumeRefreshURIs",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearCachedUserAgent",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearCachedPlatform",
            "type": "void"
          },
          {
            "name": "restoringDocument",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "useErrorPages",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aError",
                "optional": false,
                "type": "nsresult"
              },
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aURL",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aFailedChannel",
                "optional": true,
                "type": "nsIChannel"
              }
            ],
            "iid_is": null,
            "name": "displayLoadError",
            "type": "boolean"
          },
          {
            "name": "failedChannel",
            "readonly": true,
            "type": "nsIChannel"
          },
          {
            "name": "previousEntryIndex",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "loadedEntryIndex",
            "readonly": true,
            "type": "i32"
          },
          {
            "args": [
              {
                "name": "numEntries",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "historyPurged",
            "type": "void"
          },
          {
            "name": "currentDocumentChannel",
            "readonly": true,
            "type": "nsIChannel"
          },
          {
            "name": "isInUnload",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "exitPrintPreview",
            "type": "void"
          },
          {
            "name": "historyID",
            "readonly": true,
            "type": "nsID"
          },
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aPartitionedPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aPolicyContainer",
                "optional": true,
                "type": "nsIPolicyContainer"
              }
            ],
            "iid_is": null,
            "name": "createAboutBlankDocumentViewer",
            "type": "void"
          },
          {
            "name": "charset",
            "readonly": true,
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "forceEncodingDetection",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "now",
            "type": "DOMHighResTimeStamp"
          },
          {
            "args": [
              {
                "name": "obs",
                "optional": false,
                "type": "nsIPrivacyTransitionObserver"
              }
            ],
            "iid_is": null,
            "name": "addWeakPrivacyTransitionObserver",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "obs",
                "optional": false,
                "type": "nsIReflowObserver"
              }
            ],
            "iid_is": null,
            "name": "addWeakReflowObserver",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "obs",
                "optional": false,
                "type": "nsIReflowObserver"
              }
            ],
            "iid_is": null,
            "name": "removeWeakReflowObserver",
            "type": "void"
          },
          {
            "name": "isTopLevelContentDocShell",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "asyncPanZoomEnabled",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "mayEnableCharacterEncodingMenu",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "editor",
            "readonly": false,
            "type": "nsIEditor"
          },
          {
            "name": "editable",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "hasEditingSession",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "inWaitForUriLoad",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "makeEditable",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "command",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isCommandEnabled",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "command",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "doCommand",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "command",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aParams",
                "optional": false,
                "type": "nsICommandParams"
              }
            ],
            "iid_is": null,
            "name": "doCommandWithParams",
            "type": "void"
          },
          {
            "name": "hasLoadedNonBlankURI",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "windowDraggingAllowed",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "currentScrollRestorationIsManual",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getOriginAttributes",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aAttrs",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "setOriginAttributes",
            "type": "void"
          },
          {
            "name": "editingSession",
            "readonly": true,
            "type": "nsIEditingSession"
          },
          {
            "name": "browserChild",
            "readonly": true,
            "type": "nsIBrowserChild"
          },
          {
            "name": "useTrackingProtection",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aMatrix",
                "optional": false,
                "type": "float[]"
              }
            ],
            "iid_is": null,
            "name": "setColorMatrix",
            "type": "void"
          },
          {
            "name": "isForceReloading",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getColorMatrix",
            "type": "float[]"
          },
          {
            "name": "messageManager",
            "readonly": true,
            "type": "ContentFrameMessageManager"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getHasTrackingContentBlocked",
            "type": "Promise<any>"
          },
          {
            "name": "isNavigating",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "synchronizeLayoutHistoryState",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "persistLayoutHistoryState",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIDocShell.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsLoadFlags",
        "u32"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "typeChrome",
            "value": 0
          },
          {
            "name": "typeContent",
            "value": 1
          },
          {
            "name": "typeContentWrapper",
            "value": 2
          },
          {
            "name": "typeChromeWrapper",
            "value": 3
          },
          {
            "name": "typeAll",
            "value": 2147483647
          }
        ],
        "enums": [],
        "id": "nsIDocShellTreeItem",
        "members": [
          {
            "name": "name",
            "readonly": false,
            "type": "string"
          },
          {
            "args": [
              {
                "name": "name",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "nameEquals",
            "type": "boolean"
          },
          {
            "name": "itemType",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "parent",
            "readonly": true,
            "type": "nsIDocShellTreeItem"
          },
          {
            "name": "sameTypeParent",
            "readonly": true,
            "type": "nsIDocShellTreeItem"
          },
          {
            "name": "rootTreeItem",
            "readonly": true,
            "type": "nsIDocShellTreeItem"
          },
          {
            "name": "sameTypeRootTreeItem",
            "readonly": true,
            "type": "nsIDocShellTreeItem"
          },
          {
            "name": "treeOwner",
            "readonly": true,
            "type": "nsIDocShellTreeOwner"
          },
          {
            "name": "childCount",
            "readonly": true,
            "type": "i32"
          },
          {
            "args": [
              {
                "name": "index",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "getChildAt",
            "type": "nsIDocShellTreeItem"
          },
          {
            "name": "browsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "name": "domWindow",
            "readonly": true,
            "type": "mozIDOMWindowProxy"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIDocShellTreeItem.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDocShellTreeOwner",
        "members": [
          {
            "args": [
              {
                "name": "aContentShell",
                "optional": false,
                "type": "nsIDocShellTreeItem"
              },
              {
                "name": "aPrimary",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "contentShellAdded",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aContentShell",
                "optional": false,
                "type": "nsIDocShellTreeItem"
              }
            ],
            "iid_is": null,
            "name": "contentShellRemoved",
            "type": "void"
          },
          {
            "name": "primaryContentShell",
            "readonly": true,
            "type": "nsIDocShellTreeItem"
          },
          {
            "args": [
              {
                "name": "aTab",
                "optional": false,
                "type": "nsIRemoteTab"
              },
              {
                "name": "aPrimary",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "remoteTabAdded",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aTab",
                "optional": false,
                "type": "nsIRemoteTab"
              }
            ],
            "iid_is": null,
            "name": "remoteTabRemoved",
            "type": "void"
          },
          {
            "name": "primaryRemoteTab",
            "readonly": true,
            "type": "nsIRemoteTab"
          },
          {
            "name": "primaryContentBrowsingContext",
            "readonly": true,
            "type": "BrowsingContext"
          },
          {
            "args": [
              {
                "name": "shell",
                "optional": false,
                "type": "nsIDocShellTreeItem"
              },
              {
                "name": "cx",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "cy",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "sizeShellTo",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "width",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "height",
                "optional": false,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getPrimaryContentSize",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "width",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "height",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "setPrimaryContentSize",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "width",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "height",
                "optional": false,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getRootShellSize",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "width",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "height",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "setRootShellSize",
            "type": "void"
          },
          {
            "name": "hasPrimaryContent",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIDocShellTreeOwner.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDocumentLoaderFactory",
        "members": [
          {
            "args": [
              {
                "name": "aCommand",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aChannel",
                "optional": false,
                "type": "nsIChannel"
              },
              {
                "name": "aLoadGroup",
                "optional": false,
                "type": "nsILoadGroup"
              },
              {
                "name": "aContentType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aContainer",
                "optional": false,
                "type": "nsIDocShell"
              },
              {
                "name": "aExtraInfo",
                "optional": false,
                "type": "nsISupports"
              },
              {
                "name": "aDocListenerResult",
                "optional": false,
                "type": "OutParam<nsIStreamListener>"
              }
            ],
            "iid_is": null,
            "name": "createInstance",
            "type": "nsIDocumentViewer"
          },
          {
            "args": [
              {
                "name": "aContainer",
                "optional": false,
                "type": "nsISupports"
              },
              {
                "name": "aDocument",
                "optional": false,
                "type": "Document"
              },
              {
                "name": "aCommand",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "createInstanceForDocument",
            "type": "nsIDocumentViewer"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIDocumentLoaderFactory.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "eDelayResize",
            "value": 1
          }
        ],
        "enums": [
          {
            "id": "PermitUnloadAction",
            "variants": [
              {
                "name": "ePrompt",
                "value": 0
              },
              {
                "name": "eDontPromptAndDontUnload",
                "value": 1
              },
              {
                "name": "eDontPromptAndUnload",
                "value": 2
              }
            ]
          },
          {
            "id": "PermitUnloadResult",
            "variants": [
              {
                "name": "eContinue",
                "value": 0
              },
              {
                "name": "eCanceledByBeforeUnload",
                "value": 1
              },
              {
                "name": "eCanceledByNavigate",
                "value": 2
              }
            ]
          }
        ],
        "id": "nsIDocumentViewer",
        "members": [
          {
            "name": "container",
            "readonly": false,
            "type": "nsIDocShell"
          },
          {
            "args": [
              {
                "name": "aStatus",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "loadComplete",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aAction",
                "optional": true,
                "type": "nsIDocumentViewer.PermitUnloadAction"
              }
            ],
            "iid_is": null,
            "name": "permitUnload",
            "type": "boolean"
          },
          {
            "name": "inPermitUnload",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "beforeUnloadFiring",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "isUnload",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "pageHide",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "close",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "destroy",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "stop",
            "type": "void"
          },
          {
            "name": "DOMDocument",
            "readonly": true,
            "type": "Document"
          },
          {
            "args": [
              {
                "name": "aX",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aY",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "move",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "show",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "hide",
            "type": "void"
          },
          {
            "name": "sticky",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "open",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearHistoryEntry",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPageMode",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aPrintSettings",
                "optional": false,
                "type": "nsIPrintSettings"
              }
            ],
            "iid_is": null,
            "name": "setPageModeForTesting",
            "type": "void"
          },
          {
            "name": "isTabModalPromptAllowed",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isHidden",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "deviceFullZoomForTest",
            "readonly": true,
            "type": "float"
          },
          {
            "name": "authorStyleDisabled",
            "readonly": false,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "maxWidth",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "maxHeight",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "prefWidth",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "width",
                "optional": false,
                "type": "OutParam<i32>"
              },
              {
                "name": "height",
                "optional": false,
                "type": "OutParam<i32>"
              }
            ],
            "iid_is": null,
            "name": "getContentSize",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIDocumentViewer.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "COPY_IMAGE_TEXT",
            "value": 1
          },
          {
            "name": "COPY_IMAGE_HTML",
            "value": 2
          },
          {
            "name": "COPY_IMAGE_DATA",
            "value": 4
          },
          {
            "name": "COPY_IMAGE_ALL",
            "value": -1
          }
        ],
        "enums": [],
        "id": "nsIDocumentViewerEdit",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "clearSelection",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "selectAll",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "copySelection",
            "type": "void"
          },
          {
            "name": "copyable",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "copyLinkLocation",
            "type": "void"
          },
          {
            "name": "inLink",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aCopyFlags",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "copyImage",
            "type": "void"
          },
          {
            "name": "inImage",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aMimeType",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aSelectionOnly",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getContents",
            "type": "string"
          },
          {
            "name": "canGetContents",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aNode",
                "optional": false,
                "type": "Node"
              }
            ],
            "iid_is": null,
            "name": "setCommandNode",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIDocumentViewerEdit.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsILoadContext",
        "members": [
          {
            "name": "associatedWindow",
            "readonly": true,
            "type": "mozIDOMWindowProxy"
          },
          {
            "name": "topWindow",
            "readonly": true,
            "type": "mozIDOMWindowProxy"
          },
          {
            "name": "topFrameElement",
            "readonly": true,
            "type": "Element"
          },
          {
            "name": "isContent",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "usePrivateBrowsing",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "useRemoteTabs",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "useRemoteSubframes",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "useTrackingProtection",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "originAttributes",
            "readonly": true,
            "type": "any"
          }
        ]
      }
    ],
    "path": "docshell/base/nsILoadContext.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsILoadURIDelegate",
        "members": [
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aError",
                "optional": false,
                "type": "nsresult"
              },
              {
                "name": "aErrorModule",
                "optional": false,
                "type": "i16"
              }
            ],
            "iid_is": null,
            "name": "handleLoadError",
            "type": "nsIURI"
          }
        ]
      }
    ],
    "path": "docshell/base/nsILoadURIDelegate.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIPrivacyTransitionObserver",
        "members": [
          {
            "args": [
              {
                "name": "enabled",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "privateModeChanged",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIPrivacyTransitionObserver.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIReflowObserver",
        "members": [
          {
            "args": [
              {
                "name": "start",
                "optional": false,
                "type": "DOMHighResTimeStamp"
              },
              {
                "name": "end",
                "optional": false,
                "type": "DOMHighResTimeStamp"
              }
            ],
            "iid_is": null,
            "name": "reflow",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "start",
                "optional": false,
                "type": "DOMHighResTimeStamp"
              },
              {
                "name": "end",
                "optional": false,
                "type": "DOMHighResTimeStamp"
              }
            ],
            "iid_is": null,
            "name": "reflowInterruptible",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIReflowObserver.idl",
    "typedefs": [
      [
        "DOMHighResTimeStamp",
        "double"
      ],
      [
        "DOMTimeStamp",
        "u64"
      ],
      [
        "EpochTimeStamp",
        "u64"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "nsViewID",
        "u64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIRefreshURI",
        "members": [
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aMillis",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "refreshURI",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "aMillis",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "forceRefreshURI",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "cancelRefreshURITimers",
            "type": "void"
          },
          {
            "name": "refreshPending",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIRefreshURI.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsITooltipListener",
        "members": [
          {
            "args": [
              {
                "name": "aXCoords",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aYCoords",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aTipText",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aTipDir",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "onShowTooltip",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "onHideTooltip",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsITooltipListener.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsITooltipTextProvider",
        "members": [
          {
            "args": [
              {
                "name": "aNode",
                "optional": false,
                "type": "Node"
              },
              {
                "name": "aText",
                "optional": false,
                "type": "OutParam<string>"
              },
              {
                "name": "aDirection",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "getNodeText",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "docshell/base/nsITooltipTextProvider.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIURIFixupInfo",
        "members": [
          {
            "name": "consumer",
            "readonly": false,
            "type": "BrowsingContext"
          },
          {
            "name": "preferredURI",
            "readonly": false,
            "type": "nsIURI"
          },
          {
            "name": "fixedURI",
            "readonly": false,
            "type": "nsIURI"
          },
          {
            "name": "keywordProviderId",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "keywordAsSent",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "schemelessInput",
            "readonly": false,
            "type": "nsILoadInfo.SchemelessInputType"
          },
          {
            "name": "fixupChangedProtocol",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "fixupCreatedAlternateURI",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "originalInput",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "postData",
            "readonly": false,
            "type": "nsIInputStream"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "FIXUP_FLAG_NONE",
            "value": 0
          },
          {
            "name": "FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP",
            "value": 1
          },
          {
            "name": "FIXUP_FLAGS_MAKE_ALTERNATE_URI",
            "value": 2
          },
          {
            "name": "FIXUP_FLAG_PRIVATE_CONTEXT",
            "value": 4
          },
          {
            "name": "FIXUP_FLAG_FIX_SCHEME_TYPOS",
            "value": 8
          },
          {
            "name": "FIXUP_FLAG_FORCE_KEYWORD_LOOKUP",
            "value": 16
          }
        ],
        "enums": [],
        "id": "nsIURIFixup",
        "members": [
          {
            "args": [
              {
                "name": "aURIText",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aFixupFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "getFixupURIInfo",
            "type": "nsIURIFixupInfo"
          },
          {
            "args": [
              {
                "name": "aURIText",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aDocShellFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "webNavigationFlagsToFixupFlags",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aKeyword",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIsPrivateContext",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "keywordToURI",
            "type": "nsIURIFixupInfo"
          },
          {
            "args": [
              {
                "name": "aUriString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "forceHttpFixup",
            "type": "nsIURIFixupInfo"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aListener",
                "optional": false,
                "type": "nsIDNSListener"
              },
              {
                "name": "aOriginAttributes",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "checkHost",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aDomain",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isDomainKnown",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIURIFixup.idl",
    "typedefs": [
      [
        "CSPDirective",
        "nsIContentSecurityPolicy.CSPDirective"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "RequireTrustedTypesForDirectiveState",
        "nsIContentSecurityPolicy.RequireTrustedTypesForDirectiveState"
      ],
      [
        "nsContentPolicyType",
        "nsIContentPolicy.nsContentPolicyType"
      ],
      [
        "nsSecurityFlags",
        "u32"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "LOAD_FLAGS_MASK",
            "value": 65535
          },
          {
            "name": "LOAD_FLAGS_NONE",
            "value": 0
          },
          {
            "name": "LOAD_FLAGS_IS_REFRESH",
            "value": 16
          },
          {
            "name": "LOAD_FLAGS_IS_LINK",
            "value": 32
          },
          {
            "name": "LOAD_FLAGS_BYPASS_HISTORY",
            "value": 64
          },
          {
            "name": "LOAD_FLAGS_REPLACE_HISTORY",
            "value": 128
          },
          {
            "name": "LOAD_FLAGS_BYPASS_CACHE",
            "value": 256
          },
          {
            "name": "LOAD_FLAGS_BYPASS_PROXY",
            "value": 512
          },
          {
            "name": "LOAD_FLAGS_CHARSET_CHANGE",
            "value": 1024
          },
          {
            "name": "LOAD_FLAGS_STOP_CONTENT",
            "value": 2048
          },
          {
            "name": "LOAD_FLAGS_FROM_EXTERNAL",
            "value": 4096
          },
          {
            "name": "LOAD_FLAGS_FIRST_LOAD",
            "value": 16384
          },
          {
            "name": "LOAD_FLAGS_ALLOW_POPUPS",
            "value": 32768
          },
          {
            "name": "LOAD_FLAGS_BYPASS_CLASSIFIER",
            "value": 65536
          },
          {
            "name": "LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL",
            "value": 262144
          },
          {
            "name": "LOAD_FLAGS_ERROR_LOAD_CHANGES_RV",
            "value": 524288
          },
          {
            "name": "LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP",
            "value": 1048576
          },
          {
            "name": "LOAD_FLAGS_FIXUP_SCHEME_TYPOS",
            "value": 2097152
          },
          {
            "name": "LOAD_FLAGS_FORCE_ALLOW_DATA_URI",
            "value": 4194304
          },
          {
            "name": "LOAD_FLAGS_IS_REDIRECT",
            "value": 8388608
          },
          {
            "name": "LOAD_FLAGS_DISABLE_TRR",
            "value": 16777216
          },
          {
            "name": "LOAD_FLAGS_FORCE_TRR",
            "value": 33554432
          },
          {
            "name": "LOAD_FLAGS_BYPASS_LOAD_URI_DELEGATE",
            "value": 67108864
          },
          {
            "name": "LOAD_FLAGS_USER_ACTIVATION",
            "value": 134217728
          },
          {
            "name": "STOP_NETWORK",
            "value": 1
          },
          {
            "name": "STOP_CONTENT",
            "value": 2
          },
          {
            "name": "STOP_ALL",
            "value": 3
          }
        ],
        "enums": [],
        "id": "nsIWebNavigation",
        "members": [
          {
            "name": "canGoBack",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "canGoBackIgnoringUserInteraction",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "canGoForward",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aRequireUserInteraction",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aUserActivation",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "goBack",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aRequireUserInteraction",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aUserActivation",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "goForward",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "index",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aUserActivation",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "gotoIndex",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aLoadURIOptions",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "loadURI",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aURIString",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aLoadURIOptions",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "fixupAndLoadURIString",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aReloadFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "reload",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aStopFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "stop",
            "type": "void"
          },
          {
            "name": "document",
            "readonly": true,
            "type": "Document"
          },
          {
            "name": "currentURI",
            "readonly": true,
            "type": "nsIURI"
          },
          {
            "name": "sessionHistory",
            "readonly": true,
            "type": "nsISupports"
          },
          {
            "args": [
              {
                "name": "aLoadIdentifier",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "resumeRedirectedLoad",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIWebNavigation.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "UNSUPPORTED",
            "value": 0
          },
          {
            "name": "IMAGE",
            "value": 1
          },
          {
            "name": "OTHER",
            "value": 32768
          }
        ],
        "enums": [],
        "id": "nsIWebNavigationInfo",
        "members": [
          {
            "args": [
              {
                "name": "aType",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isTypeSupported",
            "type": "u32"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIWebNavigationInfo.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIWebPageDescriptor",
        "members": [
          {
            "args": [
              {
                "name": "otherDocShell",
                "optional": false,
                "type": "nsIDocShell"
              },
              {
                "name": "aURL",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "loadPageAsViewSource",
            "type": "void"
          }
        ]
      }
    ],
    "path": "docshell/base/nsIWebPageDescriptor.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]