diff --git a/index b/index index 2a728f7ddc6..0e88ab7741f 100644 --- a/index +++ b/index @@ -46987,6 +46987,15 @@ interface MessageChannel { node. (This happens in particular during the parsing of tables with invalid content.)

+

If an element created by the insert an HTML element + algorithm is a form-associated element, and the + form element pointer is not null, + and the newly created element doesn't have a form attribute, the user agent must + associate the newly + created element with the form element pointed to by the + form element pointer before + inserting it wherever it is to be inserted.

+

When the steps below require the UA to insert a foreign element for a token, the UA must first create an element for the token in the given namespace, and then append this @@ -47899,9 +47908,9 @@ interface MessageChannel {

A start tag whose tag name is one of: "address", "article", "aside", "blockquote", "center", "datagrid", "details", "dialog", - "dir", "div", "dl", "figure", "footer", "h1", "h2", "h3", "h4", - "h5", "h6", "header", "menu", "nav", "ol", "p", "section", - "ul"
+ "dir", "div", "dl", "fieldset", "figure", "footer", "h1", "h2", + "h3", "h4", "h5", "h6", "header", "menu", "nav", "ol", "p", + "section", "ul"
-
A start tag whose tag name is "fieldset"
-
- -

If the stack of open elements has a p element in - scope, then act as if an end tag with the tag name - "p" had been seen.

- -

Insert an HTML element for the token.

- -

If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created fieldset element with the form - element pointed to by the form element - pointer.

- -
-
A start tag whose tag name is "li"
@@ -48476,33 +48466,13 @@ interface MessageChannel {

Insert an HTML element for the token.

-

If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the - button element with the form element - pointed to by the form element - pointer.

-

Insert a marker at the end of the list of active formatting elements.

A start tag token whose tag name is one of: "applet", - "marquee"
-
- -

Reconstruct the active formatting elements, if - any.

- -

Insert an HTML element for the token.

- -

Insert a marker at the end of the list of active - formatting elements.

- -
- - -
A start tag token whose tag name is "object"
+ "marquee", "object"

Reconstruct the active formatting elements, if @@ -48510,12 +48480,6 @@ interface MessageChannel {

Insert an HTML element for the token.

-

If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created object element with the form - element pointed to by the form element - pointer.

-

Insert a marker at the end of the list of active formatting elements.

@@ -48571,7 +48535,7 @@ interface MessageChannel {
A start tag whose tag name is one of: "area", "basefont", - "bgsound", "br", "embed", "img", "spacer", "wbr"
+ "bgsound", "br", "embed", "img", "input", "spacer", "wbr"

Reconstruct the active formatting elements, if @@ -48623,45 +48587,6 @@ interface MessageChannel { element. -->

-
A start tag whose tag name is "input"
-
- -

Reconstruct the active formatting elements, if - any.

- -

Insert an HTML element for the token. Immediately - pop the current node off the stack of open - elements.

- -

Acknowledge the - token's self-closing flag, if it is set.

- -

If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created input element with the form - element pointed to by the form element - pointer.

- -
- -
A start tag whose tag name is "label"
-
- - - -

Reconstruct the active formatting elements, if - any.

- -

Insert an HTML element for the token.

- -

If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created label element with the form - element pointed to by the form element - pointer.

- -
-
A start tag whose tag name is "isindex"
@@ -48742,14 +48667,6 @@ interface MessageChannel {
  1. Insert an HTML element for the token.

  2. -
  3. If the form element - pointer is not null and the newly created element doesn't - have a form attribute, then - associate the newly - created textarea element with the form - element pointed to by the form - element pointer.

  4. -
  5. If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move on to the next one. (Newlines at the start of textarea elements are @@ -48783,12 +48700,6 @@ interface MessageChannel {

    Insert an HTML element for the token.

    -

    If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the - select element with the form element - pointed to by the form element - pointer.

    -

    If the insertion mode is one of in table", "in caption", "in column group", "in table body", "in @@ -49224,9 +49135,9 @@ interface MessageChannel {

    If the token does not have an attribute with the name "type", or if it does, but that attribute's value is not an ASCII - case-insensitive match for the string "hidden", or, if the - current table is tainted, then: act as - described in the "anything else" entry below.

    + case-insensitive match for the string "hidden", or, if the current table is + tainted, then: act as described in the "anything + else" entry below.

    Otherwise:

    @@ -49234,11 +49145,6 @@ interface MessageChannel {

    Insert an HTML element for the token.

    -

    If the form element - pointer is not null, then associate the input element with the - form element pointed to by the form element pointer.

    -

    Pop that input element off the stack of open elements.

    diff --git a/source b/source index 985c668e3ff..13e7cd9d73f 100644 --- a/source +++ b/source @@ -53602,6 +53602,16 @@ interface MessageChannel { node. (This happens in particular during the parsing of tables with invalid content.)

    +

    If an element created by the insert an HTML element + algorithm is a form-associated element, and the + form element pointer is not null, + and the newly created element doesn't have a form attribute, the user agent must + associate the newly + created element with the form element pointed to by the + form element pointer before + inserting it wherever it is to be inserted.

    +

    When the steps below require the UA to insert a foreign @@ -54606,9 +54616,9 @@ interface MessageChannel {

    A start tag whose tag name is one of: "address", "article", "aside", "blockquote", "center", "datagrid", "details", "dialog", - "dir", "div", "dl", "figure", "footer", "h1", "h2", "h3", "h4", - "h5", "h6", "header", "menu", "nav", "ol", "p", "section", - "ul"
    + "dir", "div", "dl", "fieldset", "figure", "footer", "h1", "h2", + "h3", "h4", "h5", "h6", "header", "menu", "nav", "ol", "p", + "section", "ul"
    -
    A start tag whose tag name is "fieldset"
    -
    - -

    If the stack of open elements has a p element in - scope, then act as if an end tag with the tag name - "p" had been seen.

    - -

    Insert an HTML element for the token.

    - -

    If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created fieldset element with the form - element pointed to by the form element - pointer.

    - -
    -
    A start tag whose tag name is "li"
    @@ -55237,35 +55226,13 @@ interface MessageChannel {

    Insert an HTML element for the token.

    -

    If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the - button element with the form element - pointed to by the form element - pointer.

    -

    Insert a marker at the end of the list of active formatting elements.

    A start tag token whose tag name is one of: "applet", - "marquee"
    -
    - -

    Reconstruct the active formatting elements, if - any.

    - -

    Insert an HTML element for the token.

    - -

    Insert a marker at the end of the list of active - formatting elements.

    - -
    - - -
    A start tag token whose tag name is "object"
    + "marquee", "object"

    Reconstruct the active formatting elements, if @@ -55273,14 +55240,6 @@ interface MessageChannel {

    Insert an HTML element for the token.

    -

    If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created object element with the form - element pointed to by the form element - pointer.

    -

    Insert a marker at the end of the list of active formatting elements.

    @@ -55342,7 +55301,7 @@ interface MessageChannel {
    A start tag whose tag name is one of: "area", "basefont", - "bgsound", "br", "embed", "img", "spacer", "wbr"
    + "bgsound", "br", "embed", "img", "input", "spacer", "wbr"

    Reconstruct the active formatting elements, if @@ -55394,49 +55353,6 @@ interface MessageChannel { element. -->

    -
    A start tag whose tag name is "input"
    -
    - -

    Reconstruct the active formatting elements, if - any.

    - -

    Insert an HTML element for the token. Immediately - pop the current node off the stack of open - elements.

    - -

    Acknowledge the - token's self-closing flag, if it is set.

    - -

    If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created input element with the form - element pointed to by the form element - pointer.

    - -
    - -
    A start tag whose tag name is "label"
    -
    - - - -

    Reconstruct the active formatting elements, if - any.

    - -

    Insert an HTML element for the token.

    - -

    If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the newly - created label element with the form - element pointed to by the form element - pointer.

    - -
    -
    A start tag whose tag name is "isindex"
    @@ -55521,14 +55437,6 @@ interface MessageChannel {
  6. Insert an HTML element for the token.

  7. -
  8. If the form element - pointer is not null and the newly created element doesn't - have a form attribute, then - associate the newly - created textarea element with the form - element pointed to by the form - element pointer.

  9. -
  10. If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move on to the next one. (Newlines at the start of textarea elements are @@ -55565,14 +55473,6 @@ interface MessageChannel {

    Insert an HTML element for the token.

    -

    If the form element pointer - is not null and the newly created element doesn't have a form attribute, then associate the - select element with the form element - pointed to by the form element - pointer.

    -

    If the insertion mode is one of in table", "in caption", "MessageChannel {

    If the token does not have an attribute with the name "type", or if it does, but that attribute's value is not an ASCII - case-insensitive match for the string "hidden", or, if the - current table is tainted, then: act as - described in the "anything else" entry below.

    + case-insensitive match for the string "hidden", or, if the current table is + tainted, then: act as described in the "anything + else" entry below.

    Otherwise:

    @@ -56057,12 +55958,6 @@ interface MessageChannel {

    Insert an HTML element for the token.

    -

    If the form element - pointer is not null, then associate the input element with the - form element pointed to by the form element pointer.

    -

    Pop that input element off the stack of open elements.