diff --git a/index.html b/index.html
index 8ca6304..10236b0 100644
--- a/index.html
+++ b/index.html
@@ -147,6 +147,9 @@
[Exposed=Window]
interface Gamepad {
readonly attribute DOMString id;
+ readonly attribute unsigned short? vendorId;
+ readonly attribute unsigned short? productId;
+ readonly attribute DOMString name;
readonly attribute long index;
readonly attribute boolean connected;
readonly attribute DOMHighResTimeStamp timestamp;
@@ -334,6 +337,47 @@
{{Gamepad/id}} string.
+
+ vendorId attribute
+
+
+
+ The 16-bit identifier assigned to the device vendor by the USB
+ Implementers Forum or Bluetooth Special Interest Group, or `null`
+ if the gamepad has no vendor identifier or it is not available.
+
+
+ The [=user agent=] MAY set {{Gamepad/vendorId}} and
+ {{Gamepad/productId}} to `null` to mitigate the risk of exposing
+ device identifiers. If one of {{Gamepad/vendorId}} or
+ {{Gamepad/productId}} is `null` then both MUST be `null`.
+
+
+
+ productId attribute
+
+
+ The product identifier assigned by the device vendor, or `null` if
+ the gamepad has no product identifier or it is not available.
+
+
+ name attribute
+
+
+
+ A human-readable identifier for the gamepad. The exact content of
+ the {{Gamepad/name}} string is left unspecified. The [=user agent=]
+ MAY use a product name string provided by the device firmware. The
+ {{Gamepad/name}} MUST NOT be the empty string and MUST NOT include
+ unique identifiers like serial numbers or Bluetooth device
+ addresses.
+
+
+ The {{Gamepad/name}} is intended only as a user-facing identifier.
+ It is not a stable identifier and might change over time due to
+ updates to the device firmware, browser, or operating system.
+
+
index attribute
@@ -659,6 +703,21 @@
Initialize |gamepad|'s {{Gamepad/id}} attribute to an
identification string for the gamepad.
+ Initialize |gamepad|.{{Gamepad/vendorId}} to `null`
+ Initialize |gamepad|.{{Gamepad/productId}} to `null`.
+ If the gamepad has vendor and product identifiers:
+
+ - Set |gamepad|.{{Gamepad/vendorId}} to the vendor
+ identifier.
+
+ - Set |gamepad|.{{Gamepad/productId}} to the product
+ identifier.
+
+
+
+ Initialize |gamepad|'s {{Gamepad/name}} attribute to a
+ human-readable identifier for the gamepad.
+
Initialize |gamepad|'s {{Gamepad/index}} attribute to the
result of [=selecting an unused gamepad index=] for |gamepad|.