Skip to content

Commit b1bb92e

Browse files
author
reffy-bot
committed
Update of TR report from new reffy run
Using reffy commit 18.1.0.
1 parent a73c0b8 commit b1bb92e

31 files changed

+3677
-3713
lines changed

tr/algorithms/autoplay-detection.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"html": "If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/autoplay-detection/#dom-navigator-getautoplaypolicy-type-type\" id=\"ref-for-dom-navigator-getautoplaypolicy-type-type\">type</a></code> is <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/autoplay-detection/#dom-autoplaypolicymediatype-mediaelement\" id=\"ref-for-dom-autoplaypolicymediatype-mediaelement①\">mediaelement</a></code>, return a\n result that represents the current status for <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/media.html#htmlmediaelement\" id=\"ref-for-htmlmediaelement⑤\">HTMLMediaElement</a></code> and its extensions, such as <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/media.html#htmlvideoelement\" id=\"ref-for-htmlvideoelement②\">HTMLVideoElement</a></code> and <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/media.html#htmlaudioelement\" id=\"ref-for-htmlaudioelement②\">HTMLAudioElement</a></code>, which exist in the <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-document-2\" id=\"ref-for-dom-document-2②\">document</a></code> contained in the <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#window\" id=\"ref-for-window②\">Window</a></code> object associated with the queried <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/system-state.html#navigator\" id=\"ref-for-navigator④\">Navigator</a></code> object."
1313
},
1414
{
15-
"html": "If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/autoplay-detection/#dom-navigator-getautoplaypolicy-type-type\" id=\"ref-for-dom-navigator-getautoplaypolicy-type-type①\">type</a></code> is <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/autoplay-detection/#dom-autoplaypolicymediatype-audiocontext\" id=\"ref-for-dom-autoplaypolicymediatype-audiocontext①\">audiocontext</a></code>, return a\n result that represents the current status for <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webaudio/#audiocontext\" id=\"ref-for-audiocontext②\">AudioContext</a></code>,\n which exist in the <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-document-2\" id=\"ref-for-dom-document-2③\">document</a></code> contained in the <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#window\" id=\"ref-for-window③\">Window</a></code> object\n associated with the queried <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/system-state.html#navigator\" id=\"ref-for-navigator⑤\">Navigator</a></code> object."
15+
"html": "If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/autoplay-detection/#dom-navigator-getautoplaypolicy-type-type\" id=\"ref-for-dom-navigator-getautoplaypolicy-type-type①\">type</a></code> is <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/autoplay-detection/#dom-autoplaypolicymediatype-audiocontext\" id=\"ref-for-dom-autoplaypolicymediatype-audiocontext①\">audiocontext</a></code>, return a\n result that represents the current status for <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webaudio-1.0/#audiocontext\" id=\"ref-for-audiocontext②\">AudioContext</a></code>,\n which exist in the <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-document-2\" id=\"ref-for-dom-document-2③\">document</a></code> contained in the <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#window\" id=\"ref-for-window③\">Window</a></code> object\n associated with the queried <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://html.spec.whatwg.org/multipage/system-state.html#navigator\" id=\"ref-for-navigator⑤\">Navigator</a></code> object."
1616
}
1717
]
1818
},

tr/algorithms/mediasession.json

Lines changed: 17 additions & 17 deletions
Large diffs are not rendered by default.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"spec": {
3+
"title": "Open Screen Application Protocol",
4+
"url": "https://www.w3.org/TR/openscreen-application/"
5+
},
6+
"algorithms": [
7+
{
8+
"html": "For additional terms and idioms specific to the <a data-link-type=\"biblio\" href=\"https://www.w3.org/TR/openscreen-application/#biblio-presentation-api\" title=\"Presentation API\">Presentation API</a> or <a data-link-type=\"biblio\" href=\"https://www.w3.org/TR/openscreen-application/#biblio-remote-playback\" title=\"Remote Playback API\">Remote Playback API</a>,\nplease consult the respective specifications.",
9+
"rationale": "if",
10+
"steps": [
11+
{
12+
"html": "<p>A <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-application/#controller\" id=\"ref-for-controller①\">controller</a> must be able to determine if a <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-application/#receiver\" id=\"ref-for-receiver①\">receiver</a> is reasonably\ncapable of rendering a specific <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-presentation-request-url\" id=\"ref-for-dfn-presentation-request-url\">presentation request URL</a>.</p>"
13+
},
14+
{
15+
"html": "<p>A controller must be able to start a new <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-receiving-browsing-context\" id=\"ref-for-dfn-receiving-browsing-context①\">presentation</a> on a\nreceiver given a <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-presentation-request-url\" id=\"ref-for-dfn-presentation-request-url①\">presentation request URL</a> and <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-presentation-identifier\" id=\"ref-for-dfn-presentation-identifier\">presentation\nidentifier</a>.</p>"
16+
},
17+
{
18+
"html": "<p>A controller must be able to create a new <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/presentation-api/#dom-presentationconnection\" id=\"ref-for-dom-presentationconnection\">PresentationConnection</a></code> to an\nexisting presentation on the receiver, given its <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-presentation-request-url\" id=\"ref-for-dfn-presentation-request-url②\">presentation request\nURL</a> and <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-presentation-identifier\" id=\"ref-for-dfn-presentation-identifier①\">presentation identifier</a>.</p>"
19+
},
20+
{
21+
"html": "<p>It must be possible to close a <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/presentation-api/#dom-presentationconnection\" id=\"ref-for-dom-presentationconnection①\">PresentationConnection</a></code> between a\ncontroller and a presentation, and signal both parties with the reason why\nthe connection was closed.</p>"
22+
},
23+
{
24+
"html": "<p>Multiple controllers must be able to connect to a single presentation\nsimultaneously.</p>"
25+
},
26+
{
27+
"html": "<p>Messages sent by the controller must be delivered to the presentation (or\nvice versa) in a reliable and in-order fashion.</p>"
28+
},
29+
{
30+
"html": "<p>If a message cannot be delivered, then the controller must be\nable to signal the receiver (or vice versa) that the connection should be\nclosed with reason <code>error</code>.</p>"
31+
},
32+
{
33+
"html": "<p>The controller and presentation must be able to send and receive <code>DOMString</code> messages (represented as <code>string</code> type in ECMAScript).</p>"
34+
},
35+
{
36+
"html": "<p>The controller and presentation must be able to send and receive binary\nmessages (represented as <code>Blob</code> objects in HTML5, or <code>ArrayBuffer</code> or <code>ArrayBufferView</code> types in ECMAScript).</p>"
37+
},
38+
{
39+
"html": "<p>The controller must be able to signal to the receiver to\nterminate a presentation, given its <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-presentation-request-url\" id=\"ref-for-dfn-presentation-request-url③\">presentation request URL</a> and <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/presentation-api/#dfn-presentation-identifier\" id=\"ref-for-dfn-presentation-identifier②\">presentation identifier</a>.</p>"
40+
},
41+
{
42+
"html": "<p>The receiver must be able to signal all connected controllers\nwhen a presentation is terminated.</p>"
43+
}
44+
]
45+
},
46+
{
47+
"html": "As messages are modified or extended over time, certain rules must be followed\nto maintain backwards compatibiilty with agents that understand older versions\nof messages.",
48+
"rationale": "if",
49+
"steps": [
50+
{
51+
"html": "<p>If a required field is added to or removed from a message (either to/from the\nmessage directly or indirectly through the field of a field), a new type key\nmust be assigned to the message. Is is effectively a new message and must not\nbe sent unless the receiving agent is known to understand the new type key.</p>"
52+
},
53+
{
54+
"html": "<p>If an optional field is added to a message (either to the message directly\nor indirectly through the field of a field), the type key may remain unchanged\nif the behavior of older receiving agents that do not understand the added field\nis compatible with newer sending agents that include the field.\nOtherwise, a new type key must be assigned.</p>"
55+
},
56+
{
57+
"html": "<p>If an optional field is removed from a message (either from the message\ndirectly or indirectly through the field of a field), the type key may remain\nunchanged if the behavior of newer receiving agents that do not understand the\nremoved field is compatible with older sending agents that include the field.\nOtherwise, a new type key must be assigned.</p>"
58+
},
59+
{
60+
"html": "<p>Required fields may not be added or removed from array-based messages, such\nas audio-frame.</p>"
61+
}
62+
]
63+
}
64+
]
65+
}
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
{
2+
"spec": {
3+
"title": "Open Screen Network Protocol",
4+
"url": "https://www.w3.org/TR/openscreen-network/"
5+
},
6+
"algorithms": [
7+
{
8+
"name": "agent fingerprint",
9+
"href": "https://www.w3.org/TR/openscreen-network/#agent-fingerprint",
10+
"html": "The <dfn class=\"dfn-paneled has-dfn-panel\" data-dfn-type=\"dfn\" data-noexport=\"\" id=\"agent-fingerprint\" role=\"button\" aria-expanded=\"false\" tabindex=\"0\">agent fingerprint</dfn> of an agent is computed by following these\nsteps:",
11+
"rationale": "compute",
12+
"steps": [
13+
{
14+
"html": "<p>Compute the <a href=\"https://www.rfc-editor.org/rfc/rfc7469#section-2.4\">SKPI Fingerprint</a> of the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-network/#agent-certificate\" id=\"ref-for-agent-certificate\">agent certificate</a> according to <a data-link-type=\"biblio\" href=\"https://www.w3.org/TR/openscreen-network/#biblio-rfc7469\" title=\"Public Key Pinning Extension for HTTP\">[RFC7469]</a> using <a data-link-type=\"biblio\" href=\"https://www.w3.org/TR/openscreen-network/#biblio-rfc6234\" title=\"US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)\">SHA-256</a> as the hash algorithm.</p>"
15+
},
16+
{
17+
"html": "<p>base64 encode the result of Step 1 according to <a data-link-type=\"biblio\" href=\"https://www.w3.org/TR/openscreen-network/#biblio-rfc4648\" title=\"The Base16, Base32, and Base64 Data Encodings\">[RFC4648]</a>.</p>"
18+
}
19+
]
20+
},
21+
{
22+
"name": "certificate serial number",
23+
"href": "https://www.w3.org/TR/openscreen-network/#certificate-serial-number",
24+
"html": "Let the <dfn class=\"dfn-paneled has-dfn-panel\" data-dfn-type=\"dfn\" data-noexport=\"\" id=\"certificate-serial-number\" role=\"button\" aria-expanded=\"false\" tabindex=\"0\">certificate serial number</dfn> be the result of the following\nsteps:",
25+
"rationale": "if",
26+
"steps": [
27+
{
28+
"html": "If the agent has never generated an agent certificate:",
29+
"rationale": "let",
30+
"steps": [
31+
{
32+
"html": "Let the <dfn class=\"dfn-paneled has-dfn-panel\" data-dfn-type=\"dfn\" data-noexport=\"\" id=\"certificate-serial-number-base\" role=\"button\" aria-expanded=\"false\" tabindex=\"0\">certificate serial number base</dfn> be a 128-bit <a data-link-type=\"dfn\" href=\"https://datatracker.ietf.org/doc/html/rfc4122#section-4.4\" id=\"ref-for-section-4.4\">UUID</a>."
33+
},
34+
{
35+
"html": "Let the <dfn class=\"dfn-paneled has-dfn-panel\" data-dfn-type=\"dfn\" data-noexport=\"\" id=\"certificate-serial-number-counter\" role=\"button\" aria-expanded=\"false\" tabindex=\"0\">certificate serial number counter</dfn> be a 32-bit\n unsigned integer, initially set to 0."
36+
}
37+
]
38+
},
39+
{
40+
"html": "Generate a 160-bit value as follows:",
41+
"rationale": "increment",
42+
"steps": [
43+
{
44+
"html": "Increment the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-network/#certificate-serial-number-counter\" id=\"ref-for-certificate-serial-number-counter\">certificate serial number counter</a> by one."
45+
},
46+
{
47+
"html": "Assign the upper 128 bits to the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-network/#certificate-serial-number-base\" id=\"ref-for-certificate-serial-number-base\">certificate serial number base</a>."
48+
},
49+
{
50+
"html": "Assign the lower 32 bits to the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-network/#certificate-serial-number-counter\" id=\"ref-for-certificate-serial-number-counter①\">certificate serial number counter</a>."
51+
}
52+
]
53+
}
54+
]
55+
},
56+
{
57+
"name": "agent hostname",
58+
"href": "https://www.w3.org/TR/openscreen-network/#agent-hostname",
59+
"html": "Each time the agent changes its DNS-SD <a data-link-type=\"dfn\" href=\"https://datatracker.ietf.org/doc/html/rfc6763#section-4.1\" id=\"ref-for-section-4.1\">Service Instance Name</a> or <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-network/#certificate-serial-number\" id=\"ref-for-certificate-serial-number\">certificate serial number</a> it must compute an <dfn class=\"dfn-paneled has-dfn-panel\" data-dfn-type=\"dfn\" data-noexport=\"\" id=\"agent-hostname\" role=\"button\" aria-expanded=\"false\" tabindex=\"0\">agent hostname</dfn> as\nfollows.",
60+
"rationale": "set",
61+
"steps": [
62+
{
63+
"html": "<p>Set <var>hexSerialNumber</var> to the <a data-link-type=\"biblio\" href=\"https://www.w3.org/TR/openscreen-network/#biblio-rfc4648\" title=\"The Base16, Base32, and Base64 Data Encodings\">base64</a> encoded <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-network/#certificate-serial-number\" id=\"ref-for-certificate-serial-number①\">certificate serial number</a>.</p>"
64+
},
65+
{
66+
"html": "Set <var>encodedInstanceName</var> to the result of the following:",
67+
"rationale": "replace",
68+
"steps": [
69+
{
70+
"html": "<p>Replace any character in the DNS-SD Instance Name other\nthan <code>[A-Za-z0-9-]</code> with a hyphen <code>-</code>.</p>"
71+
}
72+
]
73+
},
74+
{
75+
"html": "Set <var>encodedDomain</var> to the result of the following:",
76+
"rationale": "replace",
77+
"steps": [
78+
{
79+
"html": "<p>Replace any character in the DNS-SD Domain Name other\nthan <code>[A-Za-z0-9-]</code> with a hyphen <code>-</code>.</p>"
80+
}
81+
]
82+
},
83+
{
84+
"html": "<p>Set the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/openscreen-network/#agent-hostname\" id=\"ref-for-agent-hostname\">agent hostname</a> to the string <var>hexSerialNumber</var> + <code>.</code> + <var>encodedInstanceName</var> + <code>.</code> + <var>encodedDomain</var></p>"
85+
}
86+
]
87+
},
88+
{
89+
"html": "To encode <code>P</code> into a numeric string, follow these steps:",
90+
"rationale": "convert",
91+
"steps": [
92+
{
93+
"html": "<p>Convert <code>P</code> to a base-10 integer <code>N</code>.</p>"
94+
},
95+
{
96+
"html": "<p>If <code>N</code> has fewer than 9 digits:</p>\n <ul>\n <li data-md=\"\">\n <p>Zero-pad <code>N</code> on the left with <code>3 - len(N) mod 3</code> digits.</p>\n </li><li data-md=\"\">\n <p>Output <code>N</code> in groups of three digits separated by dashes.</p>\n </li></ul>"
97+
},
98+
{
99+
"html": "<p>If <code>N</code> has more than 9 digits:</p>\n <ul>\n <li data-md=\"\">\n <p>Zero-pad <code>N</code> on the left with <code>4 - len(N) mod 4</code> digits.</p>\n </li><li data-md=\"\">\n <p>Output <code>N</code> in groups of four digits separated by dashes.</p>\n </li></ul>"
100+
}
101+
]
102+
},
103+
{
104+
"html": "To decode a string <code>N</code> into a PSK <code>P</code>, follow these steps:",
105+
"rationale": "remove",
106+
"steps": [
107+
{
108+
"html": "<p>Remove dashes and leading zeros from <code>N</code>.</p>"
109+
},
110+
{
111+
"html": "<p>Parse <code>N</code> as a base-10 decimal number to obtain <code>P</code>.</p>"
112+
}
113+
]
114+
},
115+
{
116+
"html": "To encode a PSK into a QR code, follow these steps:",
117+
"rationale": "set",
118+
"steps": [
119+
{
120+
"html": "<p>Set <code>N</code> to the value of <code>P</code> converted to an ASCII-encoded, hexadecimal string.</p>"
121+
},
122+
{
123+
"html": "<p>Construct a text <a data-link-type=\"dfn\" href=\"https://www.iso.org/standard/62021.html#\" id=\"ref-for-something②\">QR code</a> with the value of <code>N</code>.</p>"
124+
}
125+
]
126+
},
127+
{
128+
"html": "To decode a PSK <code>P</code> given a QR code, follow these steps:",
129+
"rationale": "parse",
130+
"steps": [
131+
{
132+
"html": "<p>Obtain the string <code>N</code> by decoding the QR code.</p>"
133+
},
134+
{
135+
"html": "<p>Parse <code>N</code> as a hexadecimal number to obtain <code>P</code>.</p>"
136+
}
137+
]
138+
}
139+
]
140+
}

0 commit comments

Comments
 (0)