[
  {
    "consts": [
      {
        "name": "SIZE_TO_CONTENT",
        "type": {
          "tag": "TD_INT32"
        },
        "value": -1
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "createTopLevelWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "createWindowlessBrowser",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIWindowlessBrowser",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "createHiddenWindow",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "destroyHiddenWindow",
        "params": []
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "setScreenId",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hiddenWindow",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hiddenDOMWindow",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "registerTopLevelWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "unregisterTopLevelWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "hasHiddenWindow",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIAppShellService",
    "needs_scriptable": [
      "mozIDOMWindowProxy",
      "nsIAppWindow",
      "nsIURI",
      "nsIWindowlessBrowser"
    ],
    "parent": "nsISupports",
    "uuid": "19266025-354c-4bb9-986b-3483b2b1cdef"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "docShell",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIDocShell",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "intrinsicallySized",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "intrinsicallySized",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "primaryContentShell",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIDocShellTreeItem",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "primaryRemoteTab",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIRemoteTab",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "primaryContentBrowsingContext",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "remoteTabAdded",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRemoteTab",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "remoteTabRemoved",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIRemoteTab",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "getLiveResizeListeners",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "outerToInnerHeightDifferenceInCSSPixels",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "outerToInnerWidthDifferenceInCSSPixels",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "center",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "showModal",
        "params": []
      },
      {
        "flags": [],
        "name": "lockAspectRatio",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "chromeFlags",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "createNewWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOpenWindowInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "XULBrowserWindow",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIXULBrowserWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "XULBrowserWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIXULBrowserWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "beforeStartLayout",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "initialOpenWindowInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIOpenWindowInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "needFastSnaphot",
        "params": []
      },
      {
        "flags": [],
        "name": "rollupAllPopups",
        "params": []
      },
      {
        "flags": [],
        "name": "showInitialViewer",
        "params": []
      }
    ],
    "name": "nsIAppWindow",
    "needs_scriptable": [
      "nsIDocShell",
      "nsIDocShellTreeItem",
      "nsIOpenWindowInfo",
      "nsIRemoteTab",
      "nsIXULBrowserWindow"
    ],
    "parent": "nsISupports",
    "uuid": "d6d7a014-e28d-4c9d-8727-1cf6d870619b"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getEnumerator",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PWSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsISimpleEnumerator",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getAppWindowEnumerator",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PWSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsISimpleEnumerator",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getZOrderAppWindowEnumerator",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PWSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsISimpleEnumerator",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getMostRecentWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PWSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getMostRecentBrowserWindow",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getMostRecentNonPBWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PWSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getMostRecentWindowBy",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PWSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getOuterWindowWithId",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindowProxy",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getCurrentInnerWindowWithId",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "mozIDOMWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "registerWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "unregisterWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "updateWindowTimeStamp",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWindowMediatorListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWindowMediatorListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIWindowMediator",
    "needs_scriptable": [
      "mozIDOMWindow",
      "mozIDOMWindowProxy",
      "nsIWindowMediatorListener"
    ],
    "parent": "nsISupports",
    "uuid": "df0da056-357d-427f-bafd-e6cbf19c9381"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onOpenWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onCloseWindow",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIAppWindow",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIWindowMediatorListener",
    "needs_scriptable": [
      "nsIAppWindow"
    ],
    "parent": "nsISupports",
    "uuid": "2f276982-0d60-4377-a595-d350ba516395"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [],
        "name": "close",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "docShell",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIDocShell",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "browsingContext",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      }
    ],
    "name": "nsIWindowlessBrowser",
    "needs_scriptable": [
      "nsIDocShell"
    ],
    "parent": "nsIWebNavigation",
    "uuid": "abb46f48-abfc-41bf-aa9a-7feccefcf977"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "setOverLink",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "showTooltip",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/Element.h",
              "name": "Element",
              "native": "mozilla::dom::Element",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "hideTooltip",
        "params": []
      }
    ],
    "name": "nsIXULBrowserWindow",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "a8675fa9-c8b4-4350-9803-c38f344a9e38"
  }
]