toolkit/components/extensions/schemas/browser_settings.json
author Soeren Hentzschel <cadeyrn@ymail.com>
Tue, 17 Apr 2018 21:27:42 +0200
changeset 783821 6a8a5d7e144651dd84986ef016ec71815a3e873a
parent 774995 430a1c231025cee13e68fccd07883dcceb741aad
child 785340 154e987909aabcb08fa0c20a0446a83ea802825d
child 785951 4ce56d96848a381e1764f1cb734617bc2550356c
permissions -rw-r--r--
Bug 1400805 - added WebExtension API to get/set browser.display.use_document_fonts MozReview-Commit-ID: 9JaJN1yTxMy

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[
  {
    "namespace": "manifest",
    "types": [
      {
        "$extend": "OptionalPermission",
        "choices": [
          {
            "type": "string",
            "enum": [
              "browserSettings"
            ]
          }
        ]
      }
    ]
  },
  {
    "namespace": "browserSettings",
    "description": "Use the <code>browser.browserSettings</code> API to control global settings of the browser.",
    "permissions": ["browserSettings"],
    "types": [
      {
        "id": "ImageAnimationBehavior",
        "type": "string",
        "enum": ["normal", "none", "once"],
        "description": "How images should be animated in the browser."
      },
      {
        "id": "ContextMenuMouseEvent",
        "type": "string",
        "enum": ["mouseup", "mousedown"],
        "description": "After which mouse event context menus should popup."
      },
      {
        "id": "ProxyConfig",
        "type": "object",
        "description": "An object which describes proxy settings.",
        "properties": {
          "proxyType": {
            "type": "string",
            "optional": true,
            "enum": [
              "none",
              "autoDetect",
              "system",
              "manual",
              "autoConfig"
            ],
            "description": "The type of proxy to use."
          },
          "http": {
            "type": "string",
            "optional": true,
            "description": "The address of the http proxy, can include a port."
          },
          "httpProxyAll":{
            "type": "boolean",
            "optional": true,
            "description": "Use the http proxy server for all protocols."
          },
          "ftp": {
            "type": "string",
            "optional": true,
            "description": "The address of the ftp proxy, can include a port."
          },
          "ssl": {
            "type": "string",
            "optional": true,
            "description": "The address of the ssl proxy, can include a port."
          },
          "socks": {
            "type": "string",
            "optional": true,
            "description": "The address of the socks proxy, can include a port."
          },
          "socksVersion": {
            "type": "integer",
            "optional": true,
            "description": "The version of the socks proxy.",
            "minimum": 4,
            "maximum": 5
          },
          "passthrough": {
            "type": "string",
            "optional": true,
            "description": "A list of hosts which should not be proxied."
          },
          "autoConfigUrl": {
            "type": "string",
            "optional": true,
            "description": "A URL to use to configure the proxy."
          },
          "autoLogin": {
            "type": "boolean",
            "optional": true,
            "description": "Do not prompt for authentication if password is saved."
          },
          "proxyDNS": {
            "type": "boolean",
            "optional": true,
            "description": "Proxy DNS when using SOCKS v5."
          }
        }
      }
    ],
    "properties": {
      "allowPopupsForUserEvents": {
        "$ref": "types.Setting",
        "description": "Allows or disallows pop-up windows from opening in response to user events."
      },
      "cacheEnabled": {
        "$ref": "types.Setting",
        "description": "Enables or disables the browser cache."
      },
      "closeTabsByDoubleClick": {
        "$ref": "types.Setting",
        "description": "This boolean setting controls whether the selected tab can be closed with a double click."
      },
      "contextMenuShowEvent": {
        "$ref": "types.Setting",
        "description": "Controls after which mouse event context menus popup. This setting's value is of type ContextMenuMouseEvent, which has possible values of <code>mouseup</code> and <code>mousedown</code>."
      },
      "homepageOverride": {
        "$ref": "types.Setting",
        "description": "Returns the value of the overridden home page. Read-only."
      },
      "imageAnimationBehavior": {
        "$ref": "types.Setting",
        "description": "Controls the behaviour of image animation in the browser. This setting's value is of type ImageAnimationBehavior, defaulting to <code>normal</code>."
      },
      "newTabPageOverride": {
        "$ref": "types.Setting",
        "description": "Returns the value of the overridden new tab page. Read-only."
      },
      "newTabPosition": {
        "$ref": "types.Setting",
        "description": "Controls where new tabs are opened. `afterCurrent` will open all new tabs next to the current tab, `relatedAfterCurrent` will open only related tabs next to the current tab, and `atEnd` will open all tabs at the end of the tab strip. The default is `relatedAfterCurrent`."
      },
      "openBookmarksInNewTabs": {
        "$ref": "types.Setting",
        "description": "This boolean setting controls whether bookmarks are opened in the current tab or in a new tab."
      },
      "openSearchResultsInNewTabs": {
        "$ref": "types.Setting",
        "description": "This boolean setting controls whether search results are opened in the current tab or in a new tab."
      },
      "proxyConfig": {
        "$ref": "types.Setting",
        "description": "Configures proxy settings. This setting's value is an object of type ProxyConfig."
      },
      "webNotificationsDisabled": {
        "$ref": "types.Setting",
        "description": "Disables webAPI notifications."
      },
      "overrideDocumentColors": {
        "$ref": "types.Setting",
        "description": "This setting controls whether the user-chosen colors override the page's colors."
      },
      "useDocumentFonts": {
        "$ref": "types.Setting",
        "description": "This setting controls whether the document's fonts are used."
      }
    }
  }
]