[
  {
    "interfaces": [
      {
        "base": "nsIShellService",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "DesktopEntryStatus",
            "variants": [
              {
                "name": "DESKTOP_ENTRY_ABSENT",
                "value": 0
              },
              {
                "name": "DESKTOP_ENTRY_INVISIBLE",
                "value": 1
              },
              {
                "name": "DESKTOP_ENTRY_VISIBLE",
                "value": 2
              }
            ]
          }
        ],
        "id": "nsIGNOMEShellService",
        "members": [
          {
            "name": "canSetDesktopBackground",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aScheme",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isDefaultForScheme",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aScheme",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aKey",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getGSettingsString",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aScheme",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aKey",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aValue",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setGSettingsString",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getArgv0",
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getGlibPrgname",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aEntryId",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getDesktopEntryStatus",
            "type": "nsIGNOMEShellService.DesktopEntryStatus"
          },
          {
            "args": [
              {
                "name": "aEntryId",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aDesktopEntry",
                "optional": false,
                "type": "nsIINIParserWriter"
              },
              {
                "name": "aWindow",
                "optional": false,
                "type": "mozIDOMWindowProxy"
              }
            ],
            "iid_is": null,
            "name": "requestInstallDynamicLauncher",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aEntryId",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "requestUninstallDynamicLauncher",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "browser/components/shell/nsIGNOMEShellService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIOpenTabsProvider",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "getOpenTabs",
            "type": "string[]"
          },
          {
            "args": [
              {
                "name": "url",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "switchToOpenTab",
            "type": "void"
          }
        ]
      }
    ],
    "path": "browser/components/shell/nsIOpenTabsProvider.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "BACKGROUND_TILE",
            "value": 1
          },
          {
            "name": "BACKGROUND_STRETCH",
            "value": 2
          },
          {
            "name": "BACKGROUND_CENTER",
            "value": 3
          },
          {
            "name": "BACKGROUND_FILL",
            "value": 4
          },
          {
            "name": "BACKGROUND_FIT",
            "value": 5
          },
          {
            "name": "BACKGROUND_SPAN",
            "value": 6
          }
        ],
        "enums": [],
        "id": "nsIShellService",
        "members": [
          {
            "args": [
              {
                "name": "aForAllTypes",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "isDefaultBrowser",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aForAllUsers",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setDefaultBrowser",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aElement",
                "optional": false,
                "type": "Element"
              },
              {
                "name": "aPosition",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aImageName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setDesktopBackground",
            "type": "void"
          },
          {
            "name": "desktopBackgroundColor",
            "readonly": false,
            "type": "u32"
          }
        ]
      }
    ],
    "path": "browser/components/shell/nsIShellService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]