Skip to content

Commit

Permalink
Update of TR report from new reffy run
Browse files Browse the repository at this point in the history
Using reffy commit 18.1.0.
  • Loading branch information
reffy-bot committed Dec 17, 2024
1 parent a73c0b8 commit b1bb92e
Show file tree
Hide file tree
Showing 31 changed files with 3,677 additions and 3,713 deletions.
2 changes: 1 addition & 1 deletion tr/algorithms/autoplay-detection.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"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."
},
{
"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."
"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."
}
]
},
Expand Down
34 changes: 17 additions & 17 deletions tr/algorithms/mediasession.json

Large diffs are not rendered by default.

65 changes: 65 additions & 0 deletions tr/algorithms/openscreen-application.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"spec": {
"title": "Open Screen Application Protocol",
"url": "https://www.w3.org/TR/openscreen-application/"
},
"algorithms": [
{
"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.",
"rationale": "if",
"steps": [
{
"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>"
},
{
"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>"
},
{
"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>"
},
{
"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>"
},
{
"html": "<p>Multiple controllers must be able to connect to a single presentation\nsimultaneously.</p>"
},
{
"html": "<p>Messages sent by the controller must be delivered to the presentation (or\nvice versa) in a reliable and in-order fashion.</p>"
},
{
"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>"
},
{
"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>"
},
{
"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>"
},
{
"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>"
},
{
"html": "<p>The receiver must be able to signal all connected controllers\nwhen a presentation is terminated.</p>"
}
]
},
{
"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.",
"rationale": "if",
"steps": [
{
"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>"
},
{
"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>"
},
{
"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>"
},
{
"html": "<p>Required fields may not be added or removed from array-based messages, such\nas audio-frame.</p>"
}
]
}
]
}
140 changes: 140 additions & 0 deletions tr/algorithms/openscreen-network.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
{
"spec": {
"title": "Open Screen Network Protocol",
"url": "https://www.w3.org/TR/openscreen-network/"
},
"algorithms": [
{
"name": "agent fingerprint",
"href": "https://www.w3.org/TR/openscreen-network/#agent-fingerprint",
"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:",
"rationale": "compute",
"steps": [
{
"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>"
},
{
"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>"
}
]
},
{
"name": "certificate serial number",
"href": "https://www.w3.org/TR/openscreen-network/#certificate-serial-number",
"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:",
"rationale": "if",
"steps": [
{
"html": "If the agent has never generated an agent certificate:",
"rationale": "let",
"steps": [
{
"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>."
},
{
"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."
}
]
},
{
"html": "Generate a 160-bit value as follows:",
"rationale": "increment",
"steps": [
{
"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."
},
{
"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>."
},
{
"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>."
}
]
}
]
},
{
"name": "agent hostname",
"href": "https://www.w3.org/TR/openscreen-network/#agent-hostname",
"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.",
"rationale": "set",
"steps": [
{
"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>"
},
{
"html": "Set <var>encodedInstanceName</var> to the result of the following:",
"rationale": "replace",
"steps": [
{
"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>"
}
]
},
{
"html": "Set <var>encodedDomain</var> to the result of the following:",
"rationale": "replace",
"steps": [
{
"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>"
}
]
},
{
"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>"
}
]
},
{
"html": "To encode <code>P</code> into a numeric string, follow these steps:",
"rationale": "convert",
"steps": [
{
"html": "<p>Convert <code>P</code> to a base-10 integer <code>N</code>.</p>"
},
{
"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>"
},
{
"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>"
}
]
},
{
"html": "To decode a string <code>N</code> into a PSK <code>P</code>, follow these steps:",
"rationale": "remove",
"steps": [
{
"html": "<p>Remove dashes and leading zeros from <code>N</code>.</p>"
},
{
"html": "<p>Parse <code>N</code> as a base-10 decimal number to obtain <code>P</code>.</p>"
}
]
},
{
"html": "To encode a PSK into a QR code, follow these steps:",
"rationale": "set",
"steps": [
{
"html": "<p>Set <code>N</code> to the value of <code>P</code> converted to an ASCII-encoded, hexadecimal string.</p>"
},
{
"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>"
}
]
},
{
"html": "To decode a PSK <code>P</code> given a QR code, follow these steps:",
"rationale": "parse",
"steps": [
{
"html": "<p>Obtain the string <code>N</code> by decoding the QR code.</p>"
},
{
"html": "<p>Parse <code>N</code> as a hexadecimal number to obtain <code>P</code>.</p>"
}
]
}
]
}
Loading

0 comments on commit b1bb92e

Please sign in to comment.