HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
2040Define insertAdjacentHTML().2008-08-11 05:04
@@ -5540,21 +5540,21 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E..
   elements that have no additional requirements, is the
   <code>HTMLElement</code> interface.</p>
 
   <pre class="idl">interface <dfn>HTMLElement</dfn> : <span>Element</span> {
   // <span>DOM tree accessors</span>
   NodeList <span title="dom-getElementsByClassName">getElementsByClassName</span>(in DOMString classNames);
 
   // <span>dynamic markup insertion</span>
            attribute DOMString <span title="dom-innerHTML">innerHTML</span>;
            attribute DOMString <span title="dom-outerHTML">outerHTML</span>;
-  void <span title="dom-insertAdjacentHTML">insertAdjacentHTML</span>(in DOMString position, in DOMString data);
+  void <span title="dom-insertAdjacentHTML">insertAdjacentHTML</span>(in DOMString position, in DOMString text);
 
   // <span>metadata attributes</span>
            attribute DOMString <span title="dom-id">id</span>;
            attribute DOMString <span title="dom-title">title</span>;
            attribute DOMString <span title="dom-lang">lang</span>;
            attribute DOMString <span title="dom-dir">dir</span>;
            attribute <span>DOMString</span> <span title="dom-className">className</span>;
   readonly attribute <span>DOMTokenList</span> <span title="dom-classList">classList</span>;
   readonly attribute <span>DOMStringMap</span> <span title="dom-dataset">dataset</span>;
 
@@ -7075,21 +7075,171 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
     <p>Remove <var title="">target</var> from its parent node and
     insert in its place all the <var title="">new children</var>
     nodes, preserving their order.</p>
 
    </li>
 
   </ol>
 
   <hr>
 
-  <p class="big-issue"><dfn title="dom-insertAdjacentHTML-HTML"><code>insertAdjacentHTML()</code></dfn></p>
+  <p>The <dfn
+  title="dom-insertAdjacentHTML-HTML"><code>insertAdjacentHTML(<var
+  title="">position</var>, <var title="">text</var>)</code></dfn>
+  method, when invoked, must run the following steps:</p>
+
+  <ol>
+
+   <li>
+
+    <p>Let <var title="">position</var> and <var title="">text</var>
+    be the method's first and second arguments, respectively.</p>
+
+   </li>
+
+   <li>
+
+    <p>Let <var title="">target</var> be the element on which the
+    method was invoked.</p>
+
+   </li>
+
+   <li>
+
+    <p>Use the first matching item from this list:</p>
+
+    <dl>
+
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "beforebegin"</dt>
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "afterend"</dt>
+
+     <dd>
+
+      <p>If <var title="">target</var> has no parent node, then abort
+      these steps.</p>
+
+      <p>If <var title="">target</var>'s parent node is a
+      <code>Document</code> object, then throw a
+      <code>NO_MODIFICATION_ALLOWED_ERR</code> exception and abort
+      these steps.
+
+      <p>Otherwise, let <var title="">context</var> be the parent node
+      of <var title="">target</var>.</p>
+
+     </dd>
+
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "afterbegin"</dt>
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "beforeend"</dt>
+
+     <dd>
+
+      <p>Let <var title="">context</var> be the same as <var
+      title="">target</var>.</p>
+
+     </dd>
+
+     <dt>Otherwise</dt>
+
+     <dd>
+
+      <p>Throw a <code>SYNTAX_ERR</code> exception.</p>
+
+     </dd>
+
+    </dl>
+
+   </li>
+
+   <li>
+
+    <p>Invoke the <span>HTML fragment parsing algorithm</span>, with
+    the <var title="">context</var> element being that selected by the
+    previous step, and <var title="">input</var> being the method's
+    <var title="">text</var> argument. Let <var title="">new
+    children</var> be the result of this algorithm.</p>
+
+   </li>
+
+   <li>
+
+    <p>Let <var title="">target document</var> be the <code
+    title="">ownerDocument</code> of <var title="">target</var>.</p>
+
+   </li>
+
+   <li>
+
+    <p>Set the <code title="">ownerDocument</code> of all the nodes in
+    <var title="">new children</var> to the <var title="">target
+    document</var>.</p>
+
+   </li>
+
+   <li>
+
+    <p>Use the first matching item from this list:</p>
+
+    <dl>
+
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "beforebegin"</dt>
+
+     <dd>
+
+      <p>Insert all the <var title="">new children</var> nodes
+      immediately before <var title="">target</var>, preserving their
+      order.</p>
+
+     </dd>
+
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "afterbegin"</dt>
+
+     <dd>
+
+      <p>Insert all the <var title="">new children</var> nodes before
+      the first child of <var title="">target</var>, if there is one,
+      preserving their order. If there is no such child, append them
+      all to <var title="">target</var>, preserving their order.</p>
+
+     </dd>
+
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "beforeend"</dt>
+
+     <dd>
+
+      <p>Append all the <var title="">new children</var> nodes to <var
+      title="">target</var>, preserving their order.</p>
+
+     </dd>
+
+     <dt>If <var title="">position</var> is an <span>ASCII
+     case-insensitive</span> match for the string "afterend"</dt>
+
+     <dd>
+
+      <p>Insert all the <var title="">new children</var> nodes
+      immediately after <var title="">target</var>, preserving their
+      order.</p>
+
+     </dd>
+
+    </dl>
+
+   </li>
+
+  </ol>
 
 
   <!-- XXX must make sure we spec that innerHTML et al causes mutation
   events to fire, but document.write() doesn't. (the latter is already
   req-stated in the parser section, btw) -->
 
   <!-- http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/innerhtml.asp -->
   <!-- http://lxr.mozilla.org/seamonkey/source/content/html/content/src/nsGenericHTMLElement.cpp#879
        note script execution disabled
        http://lxr.mozilla.org/seamonkey/source/content/base/src/nsContentUtils.cpp#3308

|