- From: <bugzilla@jessica.w3.org>
- Date: Tue, 18 Jun 2013 21:00:21 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=22400
Bug ID: 22400
Summary: [Templates]: Form-associated elements inside templates
should not be associated with forms by the parser
Classification: Unclassified
Product: WebAppsWG
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Component Model
Assignee: rafaelw@chromium.org
Reporter: adamk@chromium.org
QA Contact: public-webapps-bugzilla@w3.org
CC: dglazkov@chromium.org, hsivonen@iki.fi, ian@hixie.ch,
robin@w3.org, tross@microsoft.com, w3c@adambarth.com,
wchen@mozilla.com
Blocks: 15476
For markup such as
(a) <form><template><input></template></form>
or
(b) <template><form><template><input></template></form></template>
the spec currently requires that the <input> be associated with the <form>. But
that is incorrect: in case (b), the form and input are in different trees. And
in case (a), they are not even in the same document! The existing
implementations in WebKit, Blink, and Gecko all make this "mistake".
To correct it, I propose that the paragraph in the section on "Creating and
inserting elements"
(http://www.w3.org/html/wg/drafts/html/master/syntax.html#creating-and-inserting-elements)
which currently reads:
"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 when the element is inserted, instead of running the reset
the form owner algorithm."
have an additional clause added, requiring that the element has an
ownerDocument with a browsing context. This will keep this special-casing of
form association from taking place inside templates. I've implemented this in
Blink in https://codereview.chromium.org/17033002/ (this misbehavior was
causing some crashes, which is why I'm landing the code before a spec update).
An alternate approach would have been to compare the <form>'s ownerDocument
with the <input>, but that would lead to the wrong answer in case (b) above
(since both <template>'s contents share the same browsing context-less
document).
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Tuesday, 18 June 2013 21:00:23 UTC