|
441 | 441 | "html": "If the internal slot contains an asymmetric key pair, set the contents of <var>key</var> to the\n serialized value of the public key from the key pair. This uses the serialization format\n described in the specification that defines the name. For example, [<cite><a class=\"bibref\" data-link-type=\"biblio\" href=\"https://www.w3.org/TR/push-api/#bib-rfc8291\" title=\"Message Encryption for Web Push\">RFC8291</a></cite>] specifies\n that the \"<a data-link-type=\"idl\" href=\"https://www.w3.org/TR/push-api/#dom-pushencryptionkeyname-p256dh\" class=\"internalDFN\" id=\"ref-for-dom-pushencryptionkeyname-p256dh-3\"><code>p256dh</code></a>\" public key is encoded using the uncompressed\n format defined in [<cite><a class=\"bibref\" data-link-type=\"biblio\" href=\"https://www.w3.org/TR/push-api/#bib-ansi-x9-62\" title=\"Public Key Cryptography for the Financial Services Industry, The Elliptic Curve Digital Signature Algorithm (ECDSA)\">ANSI-X9-62</a></cite>] Annex A (that is, a 65 octet sequence that starts with a\n 0x04 octet)." |
442 | 442 | }, |
443 | 443 | { |
444 | | - "html": "Otherwise, if the internal slot contains a symmetric key, set the contents of <var>key</var> to\n a copy of the value from the internal slot. For example, the <code>auth</code> parameter contains an\n octet sequence used by the <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-46\">user agent</a> to authenticate messages sent by an\n <a href=\"https://www.w3.org/TR/push-api/#dfn-application-server\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-application-server-25\">application server</a>." |
| 444 | + "html": "Otherwise, if the internal slot contains a symmetric key, set the contents of <var>key</var> to\n a copy of the value from the internal slot. For example, the <code>auth</code> parameter contains an\n octet sequence used by the <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-43\">user agent</a> to authenticate messages sent by an\n <a href=\"https://www.w3.org/TR/push-api/#dfn-application-server\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-application-server-25\">application server</a>." |
445 | 445 | }, |
446 | 446 | { |
447 | 447 | "html": "Return <var>key</var>." |
|
468 | 468 | "rationale": "deactivate", |
469 | 469 | "steps": [ |
470 | 470 | { |
471 | | - "html": "<a href=\"https://www.w3.org/TR/push-api/#dfn-deactivate\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-deactivate-8\">Deactivate</a> the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-subscription\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-subscription-69\">push subscription</a>. The <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-47\">user agent</a> <em class=\"rfc2119\">MUST NOT</em>\n deliver any further <a href=\"https://www.w3.org/TR/push-api/#dfn-push-message\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-message-37\">push messages</a> for the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-subscription\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-subscription-70\">push subscription</a>.\n <p>\n If the <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-48\">user agent</a> failed to request the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-service\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-service-27\">push service</a> to\n <a href=\"https://www.w3.org/TR/push-api/#dfn-deactivate\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-deactivate-9\">deactivate</a> the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-subscription\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-subscription-71\">push subscription</a>, for example because of network\n failures, it <em class=\"rfc2119\">SHOULD</em> retry the request to the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-service\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-service-28\">push service</a> for a reasonable\n amount of time.\n </p>" |
| 471 | + "html": "<a href=\"https://www.w3.org/TR/push-api/#dfn-deactivate\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-deactivate-8\">Deactivate</a> the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-subscription\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-subscription-69\">push subscription</a>. The <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-44\">user agent</a> <em class=\"rfc2119\">MUST NOT</em>\n deliver any further <a href=\"https://www.w3.org/TR/push-api/#dfn-push-message\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-message-37\">push messages</a> for the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-subscription\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-subscription-70\">push subscription</a>.\n <p>\n If the <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-45\">user agent</a> failed to request the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-service\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-service-27\">push service</a> to\n <a href=\"https://www.w3.org/TR/push-api/#dfn-deactivate\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-deactivate-9\">deactivate</a> the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-subscription\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-subscription-71\">push subscription</a>, for example because of network\n failures, it <em class=\"rfc2119\">SHOULD</em> retry the request to the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-service\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-service-28\">push service</a> for a reasonable\n amount of time.\n </p>" |
472 | 472 | } |
473 | 473 | ] |
474 | 474 | }, |
|
506 | 506 | "html": "Otherwise, let <var>b</var> be the value as returned by <a data-link-type=\"idl\" href=\"https://www.w3.org/TR/push-api/#dom-pushsubscription-getkey\" class=\"internalDFN\" id=\"ref-for-dom-pushsubscription-getkey-7\"><code>getKey</code></a>." |
507 | 507 | }, |
508 | 508 | { |
509 | | - "html": "Let <var>s</var> be the URL-safe base64 encoding without padding [<cite><a class=\"bibref\" data-link-type=\"biblio\" href=\"https://www.w3.org/TR/push-api/#bib-rfc4648\" title=\"The Base16, Base32, and Base64 Data Encodings\">RFC4648</a></cite>] of <var>b</var> as a\n <a data-link-type=\"interface\" data-lt=\"USVString\" href=\"https://webidl.spec.whatwg.org/#idl-USVString\"><code>USVString</code></a>. The <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-49\">user agent</a> <em class=\"rfc2119\">MUST</em> use a serialization method that does not\n branch based on the value of <var>b</var>." |
| 509 | + "html": "Let <var>s</var> be the URL-safe base64 encoding without padding [<cite><a class=\"bibref\" data-link-type=\"biblio\" href=\"https://www.w3.org/TR/push-api/#bib-rfc4648\" title=\"The Base16, Base32, and Base64 Data Encodings\">RFC4648</a></cite>] of <var>b</var> as a\n <a data-link-type=\"interface\" data-lt=\"USVString\" href=\"https://webidl.spec.whatwg.org/#idl-USVString\"><code>USVString</code></a>. The <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-46\">user agent</a> <em class=\"rfc2119\">MUST</em> use a serialization method that does not\n branch based on the value of <var>b</var>." |
510 | 510 | }, |
511 | 511 | { |
512 | 512 | "html": "Set <var>keys</var>[<var>i</var>] to <var>s</var>." |
|
556 | 556 | ] |
557 | 557 | }, |
558 | 558 | { |
559 | | - "html": "When the <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-50\">user agent</a> receives a <a href=\"https://www.w3.org/TR/push-api/#dfn-push-message\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-message-41\">push message</a> from the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-service\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-service-29\">push service</a>,\n it <em class=\"rfc2119\">MUST</em> run the following steps.", |
| 559 | + "html": "When the <a href=\"https://www.w3.org/TR/push-api/#dfn-user-agent\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-user-agent-47\">user agent</a> receives a <a href=\"https://www.w3.org/TR/push-api/#dfn-push-message\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-message-41\">push message</a> from the <a href=\"https://www.w3.org/TR/push-api/#dfn-push-service\" class=\"internalDFN\" data-link-type=\"dfn\" id=\"ref-for-dfn-push-service-29\">push service</a>,\n it <em class=\"rfc2119\">MUST</em> run the following steps.", |
560 | 560 | "rationale": "let", |
561 | 561 | "steps": [ |
562 | 562 | { |
|
0 commit comments