From 07568e4e323fa8c7fde9b7436297a7c11d9aeb97 Mon Sep 17 00:00:00 2001 From: Luke Warlow Date: Tue, 16 Apr 2024 03:07:08 +0100 Subject: [PATCH] Remove innerHTML mixin and fragment parsing/serializing algorithms These have been moved to the HTML Standard in https://github.com/whatwg/html/pull/10264. --- index.html | 118 +++++++---------------------------------------------- 1 file changed, 15 insertions(+), 103 deletions(-) diff --git a/index.html b/index.html index 5fb1b5c..9d8fffe 100644 --- a/index.html +++ b/index.html @@ -246,58 +246,11 @@

Extensibility

-

The InnerHTML mixin

+

The InnerHTML mixin

-
-    interface mixin InnerHTML {
-      [CEReactions] attribute [LegacyNullToEmptyString] HTMLString innerHTML;
-    };
-
-    Element includes InnerHTML;
-    ShadowRoot includes InnerHTML;
-  
- - - -

The innerHTML IDL attribute represents the markup of the - element's contents. - -

-
element . innerHTML [ = value ] -
Returns a fragment of HTML or XML that represents the element's contents. - -

Can be set, to replace the contents of the element with nodes parsed from the given string. - -

In the case of an XML document, throws a "InvalidStateError" - DOMException if the element cannot be serialized to XML, - or a "SyntaxError" DOMException if the given string is - not well-formed. -

- -

On getting, return the result of invoking the fragment serializing algorithm on the - context object providing true for the require well-formed flag (this - might throw an exception instead of returning a string). - -

On setting, these steps must be run: - -

    -
  1. Let context element be the context object's - host if the context object is a - ShadowRoot object, or the context object otherwise. - -
  2. Let fragment be the result of invoking the fragment parsing algorithm with - the new value as markup, and with context element. + -
  3. If the context object is a template element, then let - context object be the template's template contents (a - DocumentFragment). - -

    Setting innerHTML on a template element will replace - all the nodes in its template contents - (template.content) rather than its children.

    - -
  4. Replace all with fragment within the context object. -
+

The definition of InnerHTML has moved to the HTML Standard.

@@ -583,64 +536,27 @@

Extensibility

Parsing

-

The following steps form the fragment parsing algorithm, whose arguments are a - markup string and a context element: - -

    -
  1. If the context element's node document is an HTML document: let - algorithm be the HTML fragment parsing algorithm. - -

    If the context element's node document is an XML document: let - algorithm be the XML fragment parsing algorithm. - -

  2. Let new children be the result of invoking algorithm with - markup as the input, and context element as the - context element. - -
  3. Let fragment be a new DocumentFragment whose - node document is context element's node document. - -
  4. Append each Node in new children to fragment (in - tree order). + -

    This ensures the node document for the new nodes is correct.

    - -
  5. Return the value of fragment. -
+

The definition of fragment parsing algorithm has moved to the HTML Standard.

Serializing

-

The following steps form the fragment serializing algorithm, whose arguments are a - Node node and a flag require well-formed: - -

    -
  1. Let context document be the value of node's node document. - -
  2. If context document is an HTML document, return an - HTML serialization of node. - -
  3. Otherwise, context document is an XML document; return an - XML serialization of node passing the flag require well-formed. - -

    The XML serialization defined in this document conforms to the requirements - of the XML fragment serialization algorithm defined in [[HTML5]].

    -
+ -

To produce an HTML serialization of a Node node, the - user agent must run the HTML fragment serialization algorithm on node and return - the string produced. +

The definition of fragment serializing algorithm has moved to the HTML Standard.

XML Serialization

-

An XML serialization differs from an HTML serialization in the following ways: +

An XML serialization differs from an HTML serialization in the following ways:

The DOM specification [[!DOM4]] defines the following terms used in this document: @@ -1694,9 +1607,8 @@

Dependencies

a namespace concept; a node document; the append, - insert, - replace and - replace all operations; + insert and + replace operations; tree order; a range's start node; document URL;