1{
2    "version": { "major": "1", "minor": "0" },
3    "domains": [{
4        "domain": "SystemInfo",
5        "description": "The SystemInfo domain defines methods and events for querying low-level system information.",
6        "hidden": true,
7        "types": [
8            {
9                "id": "GPUDevice",
10                "type": "object",
11                "properties": [
12                    { "name": "vendorId", "type": "number", "description": "PCI ID of the GPU vendor, if available; 0 otherwise." },
13                    { "name": "deviceId", "type": "number", "description": "PCI ID of the GPU device, if available; 0 otherwise." },
14                    { "name": "vendorString", "type": "string", "description": "String description of the GPU vendor, if the PCI ID is not available." },
15                    { "name": "deviceString", "type": "string", "description": "String description of the GPU device, if the PCI ID is not available." }
16                ],
17                "description": "Describes a single graphics processor (GPU)."
18            },
19            {
20                "id": "GPUInfo",
21                "type": "object",
22                "properties": [
23                    { "name": "devices", "type": "array", "items": { "$ref": "GPUDevice" }, "description": "The graphics devices on the system. Element 0 is the primary GPU." },
24                    { "name": "auxAttributes", "type": "object", "optional": "true", "description": "An optional dictionary of additional GPU related attributes." },
25                    { "name": "featureStatus", "type": "object", "optional": "true", "description": "An optional dictionary of graphics features and their status." },
26                    { "name": "driverBugWorkarounds", "type": "array", "items": { "type": "string" }, "description": "An optional array of GPU driver bug workarounds." }
27                ],
28                "description": "Provides information about the GPU(s) on the system."
29            },
30            {
31                "id": "SystemInfo",
32                "type": "object",
33                "properties": [
34                    { "name": "gpu", "$ref": "GPUInfo", "description": "Information about the GPUs on the system." },
35                    { "name": "modelName", "type": "string", "description": "A platform-dependent description of the model of the machine. On Mac OS, this is, for example, 'MacBookPro 10.1'. Will be the empty string if not supported." }
36                ],
37                "description": "Provides information about the system."
38            }
39        ],
40        "commands": [
41            {
42                "name": "getInfo",
43                "description": "Returns information about the system.",
44                "returns": [
45                    { "name": "info", "$ref": "SystemInfo", "description": "Information about the system." }
46                ],
47                "handlers": ["browser"]
48            }
49        ]
50    },
51    {
52        "domain": "Tethering",
53        "description": "The Tethering domain defines methods and events for browser port binding.",
54        "hidden": true,
55        "commands": [
56            {
57                "name": "bind",
58                "description": "Request browser port binding.",
59                "parameters": [
60                    { "name": "port", "type": "number", "description": "Port number to bind." }
61                ],
62                "handlers": ["browser"]
63            },
64            {
65                "name": "unbind",
66                "description": "Request browser port unbinding.",
67                "parameters": [
68                    { "name": "port", "type": "number", "description": "Port number to unbind." }
69                ],
70                "handlers": ["browser"]
71            }
72        ],
73        "events": [
74            {
75                "name": "accepted",
76                "description": "Informs that port was successfully bound and got a specified connection id.",
77                "parameters": [
78                    {"name": "port", "type": "number", "description": "Port number that was successfully bound." },
79                    {"name": "connectionId", "type": "string", "description": "Connection id to be used." }
80                ],
81                "handlers": ["browser"]
82            }
83        ]
84    }]
85}
86