diff --git a/source b/source index d0ae6452289..43518a41d05 100644 --- a/source +++ b/source @@ -4068,6 +4068,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
mo
elementms
elementmtext
elementmrow
elementElements that have a nonce
content attribute ensure that the
crytographic nonce is only exposed to script (and not to side-channels like CSS attribute
selectors) by extracting the value from the content attribute, moving it into an internal slot
- named [[CryptographicNonce]], and exposing it to script via the
- HTMLOrSVGElement
interface mixin. Unless otherwise specified, the slot's value
+ HTMLOrForeignElement
interface mixin. Unless otherwise specified, the slot's value
is the empty string.
The nonce
IDL
+ data-dfn-for="HTMLOrForeignElement">nonce
IDL
attribute must, on getting, return the value of this element's
[[CryptographicNonce]]; and on setting, set this element's
[[CryptographicNonce]] to the given value.
Note how the setter for the nonce
IDL attribute does not update the corresponding
+ data-x="dom-HTMLOrForeignElement-nonce">nonce IDL attribute does not update the corresponding
content attribute. This, as well as the below setting of the nonce
content attribute to the empty string when an element
becomes browsing-context connected, is meant to prevent exfiltration of the nonce
@@ -7142,11 +7143,11 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
issue #2369, where this behavior was
introduced.
Whenever an element including HTMLOrSVGElement
has its Whenever an element including
HTMLOrForeignElement
has its nonce
attribute is set or changed, set this element's
[[CryptographicNonce]] to the given value.
Whenever an element including Whenever an element including HTMLOrSVGElement
becomes browsing-context
+ HTMLOrForeignElement
becomes browsing-context
connected, the user agent must execute the following steps on the element:
@@ -7174,7 +7175,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
creation and initialization
.
The cloning steps for elements that include
- HTMLOrSVGElement
must set the [[CryptographicNonce]] slot on the copy
+ HTMLOrForeignElement
must set the [[CryptographicNonce]] slot on the copy
to the value of the slot on the element being cloned.
Features shared between HTML and SVG elements use the HTMLOrSVGElement
interface
+
Features shared between HTML, SVG and MathML elements use the HTMLOrForeignElement
interface
mixin:
interface mixin HTMLOrSVGElement {
+ interface mixin HTMLOrForeignElement {
[SameObject] readonly attribute DOMStringMap dataset;
- attribute DOMString nonce; // intentionally no [CEReactions]
+ attribute DOMString nonce; // intentionally no [CEReactions]
[CEReactions] attribute boolean autofocus;
[CEReactions] attribute long tabIndex;
@@ -74617,7 +74618,7 @@ END:VCARD
attribute. The default value is 0 if the element is an a
, area
,
button
, frame
, iframe
, input
,
object
, select
, textarea
, or SVG
- a
element, or is a summary
element that is a summary for
+ a
element, or is a MathML hyperlinking element (mi
, mo
, mn
, ms
, mtext
, or mrow
), or is a summary
element that is a summary for
its parent details. The default value is −1 otherwise.
The varying default value based on element type is a historical artifact.
@@ -126041,4 +126042,4 @@ INSERT INTERFACES HERE