diff --git a/source b/source index 5c17e790d5a..8b39b43aedf 100644 --- a/source +++ b/source @@ -1789,6 +1789,11 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • Reset the form owner of the form-associated element.

  • + +
  • If insertedNode is an Element that is not on the + stack of open elements of an HTML parser, then + process internal resource links given insertedNode's + node document.

  • The removing steps for the HTML Standard, given @@ -15162,6 +15167,7 @@ interface HTMLLinkElement : HTMLElement { data-x="concept-supported-tokens">supported tokens are alternate, dns-prefetch, + expect, icon, manifest, modulepreload, @@ -15415,9 +15421,10 @@ interface HTMLLinkElement : HTMLElement {


    The blocking - attribute is a blocking attribute. It is used by link type stylesheet, and it must only be specified on link elements - that have a rel attribute containing that keyword.

    + attribute is a blocking attribute. It is used by link types stylesheet and expect, and it must only be specified on link elements + that have a rel attribute containing those keywords.


    @@ -24589,7 +24596,7 @@ document.body.appendChild(wbr);

    Links are a conceptual construct, created by a, area, form, and link elements, that represent a connection between two resources, one of which is the current Document. There are - two kinds of links in HTML:

    + three kinds of links in HTML:

    Links to @@ -24605,6 +24612,11 @@ document.body.appendChild(wbr);

    These are links to other resources that are generally exposed to the user by the user agent so that the user can cause the user agent to navigate to those resources, e.g. to visit them in a browser or download them.

    + +
    Internal resource links
    + +

    These are links to resources within the current document, used to give those resources + special meaning or behavior.

    For link elements with an href attribute and a @@ -25885,6 +25897,15 @@ document.body.appendChild(wbr); Specifies that the user agent should preemptively perform DNS resolution for the target resource's origin. + + expect + Internal Resource + not allowed + · + · + Expect an element with the target ID to appear in the current document. + + external not allowed @@ -26344,6 +26365,128 @@ document.body.appendChild(wbr); +

    Link type "expect"
    + +

    The expect keyword may be used with link + elements. This keyword creates an internal resource + link.

    + +

    The expect keyword indicates that an element with a certain + ID is expected in this document, and the link might + block rendering until that element's closing tag is parsed.

    + +

    There is no default type for resources given by the expect + keyword.

    + +

    Whenever the following conditions occur for a link element el:

    + + + +

    then process el.

    + +

    To process internal resource link given a link element el, + run these steps:

    + +
      +
    1. Let doc be el's node document.

    2. + +
    3. Let url be the result of encoding-parsing a URL given + el's href attribute's value, relative to + doc.

    4. + +
    5. If this fails, or if url does not equal doc's + URL with exclude fragments set to false, then unblock rendering on + el and return.

    6. + +
    7. Let indicatedElement be the result of selecting the indicated part given doc + and url.

    8. + +
    9. +

      If all of the following are true:

      + + + +

      then block rendering on el.

      +
    10. + +
    11. Otherwise, unblock rendering on el.

    12. +
    + +

    To process internal resource links given a Document doc:

    + +
      +
    1. For each expect link element link in + doc's render-blocking element set, process link.

    2. +
    + +

    The following attribute change steps, given + element, localName, value, and namespace, are used to + ensure expect link elements respond to dynamic id and name changes:

    + +
      +
    1. If namespace is not null, then return.

    2. + +
    3. If element is in a stack of open elements of an + HTML parser, then return.

    4. + +
    5. +

      If any of the following is true:

      + + + +

      then process internal resource links given element's + node document.

      +
    6. +
    +
    Link type "external"
    @@ -102354,12 +102497,22 @@ location.href = '#foo'; defining the :target pseudo-class and is updated by the above algorithm. It is initially null.

    -

    For an HTML document document, the following - processing model must be followed to determine its indicated part:

    +

    For an HTML document document, its + indicated part is the result + of selecting the indicated part given + document and document's URL.

    + +

    To select the indicated part given a Document document and a + URL url:

      -
    1. Let fragment be document's URL's

      If document's URL does not equal + url with exclude fragments set to + true, then return null.

    2. + +
    3. Let fragment be url's fragment.

    4. If fragment is the empty string, then return the special value top of the @@ -122818,6 +122971,10 @@ dictionary StorageEventInit : EventInit { the stack of open elements has only one element in it (fragment case); otherwise, the adjusted current node is the current node.

      +

      When the current node is removed from the stack of open elements, + process internal resource links given the current node's + node document.

      +

      Elements in the stack of open elements fall into the following categories: