diff --git a/source b/source index 31b314f586f..a40b1e838c8 100644 --- a/source +++ b/source @@ -2824,6 +2824,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • legacy platform object
  • primary interface
  • interface object
  • +
  • include
  • interface prototype object
  • [[Realm]] field of a platform object
  • callback context
  • @@ -7118,11 +7119,11 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute

    Elements 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 + selectors) by taking 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 - is the empty string.

    + data-dfn-type="attribute">[[CryptographicNonce]], exposing it to script via the + HTMLOrSVGElement interface mixin, and setting the content attribute to the empty + string. Unless otherwise specified, the slot's value is the empty string.

    element . nonce
    @@ -7147,12 +7148,26 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute issue #2369, where this behavior was introduced.

    -

    Whenever an element including HTMLOrSVGElement has its nonce attribute is set or changed, set this element's - [[CryptographicNonce]] to the given value.

    +

    The following attribute change + steps are used for the nonce content attribute: + +

      +
    1. If element does not include HTMLOrSVGElement, then + return.

    2. + +
    3. If localName is not nonce or + namespace is not null, then return.

    4. -

      Whenever an element including HTMLOrSVGElement becomes browsing-context - connected, the user agent must execute the following steps on the element:

      +
    5. If value is null, then set element's + [[CryptographicNonce]] to the empty string.

    6. + +
    7. Otherwise, set element's [[CryptographicNonce]] to + value.

    8. +
    + +

    Whenever an element including HTMLOrSVGElement + becomes browsing-context connected, the user agent must execute the following steps + on the element:

    1. Let CSP list be element's Set an attribute value for element using "nonce" and the empty string.

    2. + +
    3. Set element's [[CryptographicNonce]] to + nonce.

    + +

    If element's [[CryptographicNonce]] were not restored it + would be the empty string at this point.

    @@ -7178,9 +7202,10 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute set during Document creation and initialization.

    -

    The cloning steps for elements that include - HTMLOrSVGElement must set the [[CryptographicNonce]] slot on the copy - to the value of the slot on the element being cloned.

    +

    The cloning steps for elements that + include HTMLOrSVGElement must set the + [[CryptographicNonce]] slot on the copy to the value of the slot on the element being + cloned.

    Lazy loading attributes