| Index: third_party/chrome/idl/proxy.json
|
| diff --git a/third_party/chrome/idl/proxy.json b/third_party/chrome/idl/proxy.json
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..eeb957a2030471ce672667588b1b38acc8d0de38
|
| --- /dev/null
|
| +++ b/third_party/chrome/idl/proxy.json
|
| @@ -0,0 +1,96 @@
|
| +// 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": "proxy",
|
| + "dependencies": [ "types" ],
|
| + "types": [
|
| + {
|
| + "id": "ProxyServer",
|
| + "type": "object",
|
| + "description": "An object encapsulating a single proxy server's specification.",
|
| + "properties": {
|
| + "scheme": {"type": "string", "optional": true, "enum": ["http", "https", "socks4", "socks5"], "description": "The scheme (protocol) of the proxy server itself. Defaults to 'http'."},
|
| + "host": {"type": "string", "description": "The URI of the proxy server. This must be an ASCII hostname (in Punycode format). IDNA is not supported, yet."},
|
| + "port": {"type": "integer", "optional": true, "description": "The port of the proxy server. Defaults to a port that depends on the scheme."}
|
| + }
|
| + },
|
| + {
|
| + "id": "ProxyRules",
|
| + "type": "object",
|
| + "description": "An object encapsulating the set of proxy rules for all protocols. Use either 'singleProxy' or (a subset of) 'proxyForHttp', 'proxyForHttps', 'proxyForFtp' and 'fallbackProxy'.",
|
| + "properties": {
|
| + "singleProxy": {"$ref": "ProxyServer", "optional": true, "description": "The proxy server to be used for all per-URL requests (that is http, https, and ftp)."},
|
| + "proxyForHttp": {"$ref": "ProxyServer", "optional": true, "description": "The proxy server to be used for HTTP requests."},
|
| + "proxyForHttps": {"$ref": "ProxyServer", "optional": true, "description": "The proxy server to be used for HTTPS requests."},
|
| + "proxyForFtp": {"$ref": "ProxyServer", "optional": true, "description": "The proxy server to be used for FTP requests."},
|
| + "fallbackProxy": {"$ref": "ProxyServer", "optional": true, "description": "The proxy server to be used for everthing else or if any of the specific proxyFor... is not specified."},
|
| + "bypassList": {"type": "array", "items": {"type": "string"}, "optional": true, "description": "List of servers to connect to without a proxy server."}
|
| + }
|
| + },
|
| + {
|
| + "id": "PacScript",
|
| + "type": "object",
|
| + "description": "An object holding proxy auto-config information. Exactly one of the fields should be non-empty.",
|
| + "properties": {
|
| + "url": {"type": "string", "optional": true, "description": "URL of the PAC file to be used."},
|
| + "data": {"type": "string", "optional": true, "description": "A PAC script."},
|
| + "mandatory": {"type": "boolean", "optional": true, "description": "If true, an invalid PAC script will prevent the network stack from falling back to direct connections. Defaults to false."}
|
| + }
|
| + },
|
| + {
|
| + "id": "ProxyConfig",
|
| + "type": "object",
|
| + "description": "An object encapsulating a complete proxy configuration.",
|
| + "properties": {
|
| + "rules": {"$ref": "ProxyRules", "optional": true, "description": "The proxy rules describing this configuration. Use this for 'fixed_servers' mode."},
|
| + "pacScript": {"$ref": "PacScript", "optional": true, "description": "The proxy auto-config (PAC) script for this configuration. Use this for 'pac_script' mode."},
|
| + "mode": {
|
| + "type": "string",
|
| + "enum": ["direct", "auto_detect", "pac_script", "fixed_servers", "system"],
|
| + "description": "'direct' = Never use a proxy<br>'auto_detect' = Auto detect proxy settings<br>'pac_script' = Use specified PAC script<br>'fixed_servers' = Manually specify proxy servers<br>'system' = Use system proxy settings"
|
| + }
|
| + }
|
| + }
|
| + ],
|
| + "properties": {
|
| + "settings": {
|
| + "$ref": "types.ChromeSetting",
|
| + "description": "Proxy settings to be used. The value of this setting is a ProxyConfig object.",
|
| + "value": [
|
| + "proxy",
|
| + {"$ref": "ProxyConfig"}
|
| + ]
|
| + }
|
| + },
|
| + "events": [
|
| + {
|
| + "name": "onProxyError",
|
| + "type": "function",
|
| + "description": "Notifies about proxy errors.",
|
| + "parameters": [
|
| + {
|
| + "type": "object",
|
| + "name": "details",
|
| + "properties": {
|
| + "fatal": {
|
| + "type": "boolean",
|
| + "description": "If true, the error was fatal and the network transaction was aborted. Otherwise, a direct connection is used instead."
|
| + },
|
| + "error": {
|
| + "type": "string",
|
| + "description": "The error description."
|
| + },
|
| + "details": {
|
| + "type": "string",
|
| + "description": "Additional details about the error such as a JavaScript runtime error."
|
| + }
|
| + }
|
| + }
|
| + ]
|
| + }
|
| + ]
|
| + }
|
| +]
|
|
|