--- a/editcommands.html Sun Jul 10 13:18:36 2011 -0600
+++ b/editcommands.html Sun Jul 10 13:26:27 2011 -0600
@@ -3036,14 +3036,10 @@
<h3 id=block-formatting-command-definitions><span class=secno>8.1 </span>Block formatting command definitions</h3>
-<p>A <dfn id=potential-indentation-element>potential indentation element</dfn> is either a <code class=external data-anolis-spec=html title="the blockquote element"><a href=http://www.whatwg.org/html/#the-blockquote-element>blockquote</a></code>, or a
-<code class=external data-anolis-spec=html title="the div element"><a href=http://www.whatwg.org/html/#the-div-element>div</a></code> that has a <code class=external data-anolis-spec=html title="the style attribute"><a href=http://www.whatwg.org/html/#the-style-attribute>style</a></code> attribute that sets "margin" or some subproperty
-of it.
-
-<p class=XXX>Terminology is inconsistent with "modifiable" etc. used for inline
-styles.
-
-<p>An <dfn id=indentation-element>indentation element</dfn> is an <a href=#potential-indentation-element>potential indentation
+<p>An <dfn id=indentation-element>indentation element</dfn> is either a <code class=external data-anolis-spec=html title="the blockquote element"><a href=http://www.whatwg.org/html/#the-blockquote-element>blockquote</a></code>, or a <code class=external data-anolis-spec=html title="the div element"><a href=http://www.whatwg.org/html/#the-div-element>div</a></code>
+that has a <code class=external data-anolis-spec=html title="the style attribute"><a href=http://www.whatwg.org/html/#the-style-attribute>style</a></code> attribute that sets "margin" or some subproperty of it.
+
+<p>A <dfn id=simple-indentation-element>simple indentation element</dfn> is an <a href=#indentation-element>indentation
element</a> that has no attributes other than one or more of
<ul>
@@ -3181,10 +3177,10 @@
<li>For each <var title="">node</var> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#contained>contained</a> in <var title="">new range</var>, append
<var title="">node</var> to <var title="">node list</var> if the last member of <var title="">node
list</var> (if any) is not an <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-ancestor title=concept-tree-ancestor>ancestor</a> of <var title="">node</var>;
- <var title="">node</var> is <a href=#editable>editable</a>; <var title="">node</var> is not a
- <a href=#potential-indentation-element>potential indentation element</a>; and <var title="">node</var> is either an
- <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or the <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-child title=concept-tree-child>child</a> of an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or an
- <a href=#allowed-child>allowed child</a> of "li".
+ <var title="">node</var> is <a href=#editable>editable</a>; <var title="">node</var> is not an
+ <a href=#indentation-element>indentation element</a>; and <var title="">node</var> is either an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or
+ <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or the <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-child title=concept-tree-child>child</a> of an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or an <a href=#allowed-child>allowed
+ child</a> of "li".
<li>If <var title="">node list</var> is empty, return "none".
@@ -4193,8 +4189,8 @@
-->
<li><a href=#wrap>Wrap</a> <var title="">node list</var>, with <a href=#sibling-criteria>sibling
- criteria</a> matching any <a href=#indentation-element>indentation element</a>, and <a href=#new-parent-instructions>new
- parent instructions</a> to return the result of calling <code class=external data-anolis-spec=domcore title=dom-Document-createElement><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-createelement>createElement("blockquote")</a></code> on the
+ criteria</a> matching any <a href=#simple-indentation-element>simple indentation element</a>, and
+ <a href=#new-parent-instructions>new parent instructions</a> to return the result of calling <code class=external data-anolis-spec=domcore title=dom-Document-createElement><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-createelement>createElement("blockquote")</a></code> on the
<code class=external data-anolis-spec=domcore title=dom-Node-ownerDocument><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-ownerdocument>ownerDocument</a></code> of <var title="">first node</var>. Let <var title="">new parent</var> be the
result.
<!--
@@ -4237,7 +4233,7 @@
created by IE, this might change the direction of some children, but then
their direction was probably changed incorrectly in the first place, so no
harm. -->
- <li>If <var title="">node</var> is an <a href=#indentation-element>indentation element</a>, remove
+ <li>If <var title="">node</var> is a <a href=#simple-indentation-element>simple indentation element</a>, remove
<var title="">node</var>, <a href=#preserving-its-descendants>preserving its descendants</a>. Then abort these
steps.
@@ -4245,8 +4241,8 @@
margin attribute to an existing element, including Firefox itself. So let's
just skip it. -->
- <li>If <var title="">node</var> is a <a href=#potential-indentation-element>potential indentation element</a>:
- <!-- This might be an indentation element that had style added to it by
+ <li>If <var title="">node</var> is an <a href=#indentation-element>indentation element</a>:
+ <!-- This might be a simple indentation element that had style added to it by
Firefox in CSS mode, for instance (color, font-family, etc.). -->
<ol>
@@ -4292,19 +4288,19 @@
Overall, all flawed, so I'll make up my own, patterned after pushing down
styles. First we search ancestors for an indentation element, which we stand
- a chance of completely removing. Failing that, we look for a potential
- indentation element, which we cannot completely remove. -->
+ a chance of completely removing. Failing that, we look for an indentation
+ element, which we cannot completely remove. -->
<li>Let <var title="">current ancestor</var> be <var title="">node</var>'s <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a>.
<li>Let <var title="">ancestor list</var> be a list of <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-node title=concept-node>nodes</a>, initially empty.
<li>While <var title="">current ancestor</var> is an <a href=#editable>editable</a> <code class=external data-anolis-spec=domcore><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#element>Element</a></code>
- that is not an <a href=#indentation-element>indentation element</a>, append <var title="">current
+ that is not a <a href=#simple-indentation-element>simple indentation element</a>, append <var title="">current
ancestor</var> to <var title="">ancestor list</var> and then set <var title="">current
ancestor</var> to its <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a>.
<li>If <var title="">current ancestor</var> is not an <a href=#editable>editable</a>
- <a href=#indentation-element>indentation element</a>:
+ <a href=#simple-indentation-element>simple indentation element</a>:
<ol>
<li>Let <var title="">current ancestor</var> be <var title="">node</var>'s <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a>.
@@ -4312,19 +4308,19 @@
<li>Let <var title="">ancestor list</var> be the empty list.
<li>While <var title="">current ancestor</var> is an <a href=#editable>editable</a>
- <code class=external data-anolis-spec=domcore><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#element>Element</a></code> that is not a <a href=#potential-indentation-element>potential indentation element</a>,
- append <var title="">current ancestor</var> to <var title="">ancestor list</var> and then set
+ <code class=external data-anolis-spec=domcore><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#element>Element</a></code> that is not an <a href=#indentation-element>indentation element</a>, append
+ <var title="">current ancestor</var> to <var title="">ancestor list</var> and then set
<var title="">current ancestor</var> to its <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a>.
</ol>
<li>If <var title="">node</var> is an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, and either <var title="">current
- ancestor</var> is not an <a href=#editable>editable</a> <a href=#potential-indentation-element>potential indentation
+ ancestor</var> is not an <a href=#editable>editable</a> <a href=#indentation-element>indentation
element</a> or <var title="">node</var>'s <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> is an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>:
<!--
- When asked to outdent a list wrapped in an indentation element, Chrome 12 dev
- removes the list instead of the indentation element. Opera 11.10 seems to
- remove both. IE9 and Firefox 4.0 remove the indentation element, as does the
- spec.
+ When asked to outdent a list wrapped in a simple indentation element, Chrome
+ 12 dev removes the list instead of the simple indentation element. Opera
+ 11.10 seems to remove both. IE9 and Firefox 4.0 remove the simple
+ indentation element, as does the spec.
-->
<div class=XXX>
@@ -4367,7 +4363,7 @@
</ol>
<li>If <var title="">current ancestor</var> is not an <a href=#editable>editable</a>
- <a href=#potential-indentation-element>potential indentation element</a>, abort these steps.
+ <a href=#indentation-element>indentation element</a>, abort these steps.
<!-- At this point, we have an ancestor to split up. -->
<li>Append <var title="">current ancestor</var> to <var title="">ancestor list</var>.
@@ -4746,14 +4742,14 @@
<li>For each <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-node title=concept-node>node</a> <var title="">node</var> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#contained>contained</a> in <var title="">new range</var>,
if <var title="">node</var> is <a href=#editable>editable</a>; the last member of <var title="">node
list</var> (if any) is not an <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-ancestor title=concept-tree-ancestor>ancestor</a> of <var title="">node</var>;
- <var title="">node</var> is not a <a href=#potential-indentation-element>potential indentation element</a>; and
- either <var title="">node</var> is an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or its <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> is an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code>
- or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or it is an <a href=#allowed-child>allowed child</a> of "li"; then append
+ <var title="">node</var> is not an <a href=#indentation-element>indentation element</a>; and either
+ <var title="">node</var> is an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or its <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> is an <code class=external data-anolis-spec=html title="the ol element"><a href=http://www.whatwg.org/html/#the-ol-element>ol</a></code> or
+ <code class=external data-anolis-spec=html title="the ul element"><a href=http://www.whatwg.org/html/#the-ul-element>ul</a></code>, or it is an <a href=#allowed-child>allowed child</a> of "li"; then append
<var title="">node</var> to <var title="">node list</var>.
<!--
- We exclude potential indentation elements so that selecting some random text
- and doing indent followed by insertOrderedList will have the same result as
- the reverse. Specifically,
+ We exclude indentation elements so that selecting some random text and doing
+ indent followed by insertOrderedList will have the same result as the
+ reverse. Specifically,
<blockquote>[foo]</blockquote> ->
<blockquote><ol><li>[foo]</li></ol></blockquote>
@@ -4905,11 +4901,11 @@
<ol>
<li>If the <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> of <var title="">node</var> is not an <a href=#editable>editable</a>
- <a href=#indentation-element>indentation element</a>, or the <code class=external data-anolis-spec=domcore title=dom-Node-previousSibling><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-previoussibling>previousSibling</a></code> of the
- <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> of <var title="">node</var> is not an <a href=#editable>editable</a> <a href=#html-element>HTML
- element</a> with <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-element-local-name title=concept-element-local-name>local name</a> <var title="">tag name</var>, call <code class=external data-anolis-spec=domcore title=dom-Document-createElement><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-createelement>createElement(<var title="">tag
- name</var>)</a></code> on the <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#context-object>context object</a> and return the result.
- Otherwise:
+ <a href=#simple-indentation-element>simple indentation element</a>, or the <code class=external data-anolis-spec=domcore title=dom-Node-previousSibling><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-previoussibling>previousSibling</a></code> of
+ the <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> of <var title="">node</var> is not an <a href=#editable>editable</a>
+ <a href=#html-element>HTML element</a> with <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-element-local-name title=concept-element-local-name>local name</a> <var title="">tag name</var>, call
+ <code class=external data-anolis-spec=domcore title=dom-Document-createElement><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-createelement>createElement(<var title="">tag name</var>)</a></code> on the <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#context-object>context object</a> and return
+ the result. Otherwise:
<li>Let <var title="">list</var> be the <code class=external data-anolis-spec=domcore title=dom-Node-previousSibling><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-previoussibling>previousSibling</a></code> of the <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> of
<var title="">node</var>.
@@ -5184,8 +5180,8 @@
Browsers don't do this, word processors do.
-->
<li>If <var title="">offset</var> is zero, and <var title="">node</var> has an
- <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#ancestor-container title="ancestor container">ancestor container</a> that is both a <a href=#potential-indentation-element>potential indentation
- element</a> and a <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-descendant title=concept-tree-descendant>descendant</a> of <var title="">start node</var>:
+ <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#ancestor-container title="ancestor container">ancestor container</a> that is both an <a href=#indentation-element>indentation element</a> and a
+ <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-descendant title=concept-tree-descendant>descendant</a> of <var title="">start node</var>:
<p class=XXX>This copy-pastes from the outdent command action. I'm also not
totally sure it's correct.
--- a/implementation.js Sun Jul 10 13:18:36 2011 -0600
+++ b/implementation.js Sun Jul 10 13:26:27 2011 -0600
@@ -3355,9 +3355,9 @@
///// Block formatting command definitions /////
//@{
-// "A potential indentation element is either a blockquote, or a div that has a
-// style attribute that sets "margin" or some subproperty of it."
-function isPotentialIndentationElement(node) {
+// "An indentation element is either a blockquote, or a div that has a style
+// attribute that sets "margin" or some subproperty of it."
+function isIndentationElement(node) {
if (!isHtmlElement(node)) {
return false;
}
@@ -3380,15 +3380,15 @@
return false;
}
-// "An indentation element is a potential indentation element that has no
+// "A simple indentation element is an indentation element that has no
// attributes other than one or more of
//
// * "a style attribute that sets no properties other than "margin", "border",
// "padding", or subproperties of those;
// * "a class attribute;
// * "a dir attribute."
-function isIndentationElement(node) {
- if (!isPotentialIndentationElement(node)) {
+function isSimpleIndentationElement(node) {
+ if (!isIndentationElement(node)) {
return false;
}
@@ -3543,12 +3543,11 @@
//
// "For each node contained in new range, append node to node list if the
// last member of node list (if any) is not an ancestor of node; node is
- // editable; node is not a potential indentation element; and node is
- // either an ol or ul, or the child of an ol or ul, or an allowed child of
- // "li"."
+ // editable; node is not an indentation element; and node is either an ol
+ // or ul, or the child of an ol or ul, or an allowed child of "li"."
var nodeList = getContainedNodes(newRange, function(node) {
return isEditable(node)
- && !isPotentialIndentationElement(node)
+ && !isIndentationElement(node)
&& (isHtmlElement(node, ["ol", "ul"])
|| isHtmlElement(node.parentNode, ["ol", "ul"])
|| isAllowedChild(node, "li"));
@@ -4684,12 +4683,12 @@
return;
}
- // "Wrap node list, with sibling criteria matching any indentation element,
- // and new parent instructions to return the result of calling
+ // "Wrap node list, with sibling criteria matching any simple indentation
+ // element, and new parent instructions to return the result of calling
// createElement("blockquote") on the ownerDocument of first node. Let new
// parent be the result."
var newParent = wrap(nodeList,
- function(node) { return isIndentationElement(node) },
+ function(node) { return isSimpleIndentationElement(node) },
function() { return firstNode.ownerDocument.createElement("blockquote") });
// "Fix disallowed ancestors of new parent."
@@ -4702,15 +4701,15 @@
return;
}
- // "If node is an indentation element, remove node, preserving its
+ // "If node is a simple indentation element, remove node, preserving its
// descendants. Then abort these steps."
- if (isIndentationElement(node)) {
+ if (isSimpleIndentationElement(node)) {
removePreservingDescendants(node);
return;
}
- // "If node is a potential indentation element:"
- if (isPotentialIndentationElement(node)) {
+ // "If node is an indentation element:"
+ if (isIndentationElement(node)) {
// "Unset the class and dir attributes of node, if any."
node.removeAttribute("class");
node.removeAttribute("dir");
@@ -4736,41 +4735,41 @@
// "Let ancestor list be a list of nodes, initially empty."
var ancestorList = [];
- // "While current ancestor is an editable Element that is not an
+ // "While current ancestor is an editable Element that is not a simple
// indentation element, append current ancestor to ancestor list and then
// set current ancestor to its parent."
while (isEditable(currentAncestor)
&& currentAncestor.nodeType == Node.ELEMENT_NODE
- && !isIndentationElement(currentAncestor)) {
+ && !isSimpleIndentationElement(currentAncestor)) {
ancestorList.push(currentAncestor);
currentAncestor = currentAncestor.parentNode;
}
- // "If current ancestor is not an editable indentation element:"
+ // "If current ancestor is not an editable simple indentation element:"
if (!isEditable(currentAncestor)
- || !isIndentationElement(currentAncestor)) {
+ || !isSimpleIndentationElement(currentAncestor)) {
// "Let current ancestor be node's parent."
currentAncestor = node.parentNode;
// "Let ancestor list be the empty list."
ancestorList = [];
- // "While current ancestor is an editable Element that is not a
- // potential indentation element, append current ancestor to ancestor
- // list and then set current ancestor to its parent."
+ // "While current ancestor is an editable Element that is not an
+ // indentation element, append current ancestor to ancestor list and
+ // then set current ancestor to its parent."
while (isEditable(currentAncestor)
&& currentAncestor.nodeType == Node.ELEMENT_NODE
- && !isPotentialIndentationElement(currentAncestor)) {
+ && !isIndentationElement(currentAncestor)) {
ancestorList.push(currentAncestor);
currentAncestor = currentAncestor.parentNode;
}
}
// "If node is an ol or ul, and either current ancestor is not an editable
- // potential indentation element or node's parent is an ol or ul:"
+ // indentation element or node's parent is an ol or ul:"
if (isHtmlElement(node, ["OL", "UL"])
&& (!isEditable(currentAncestor)
- || !isPotentialIndentationElement(currentAncestor)
+ || !isIndentationElement(currentAncestor)
|| isHtmlElement(node.parentNode, ["OL", "UL"]))) {
// "Unset the reversed, start, and type attributes of node, if any are
// set."
@@ -4801,10 +4800,10 @@
return;
}
- // "If current ancestor is not an editable potential indentation element,
- // abort these steps."
+ // "If current ancestor is not an editable indentation element, abort these
+ // steps."
if (!isEditable(currentAncestor)
- || !isPotentialIndentationElement(currentAncestor)) {
+ || !isIndentationElement(currentAncestor)) {
return;
}
@@ -4902,9 +4901,9 @@
// "For each node node contained in new range, if node is editable; the
// last member of node list (if any) is not an ancestor of node; node
- // is not a potential indentation element; and either node is an ol or
- // ul, or its parent is an ol or ul, or it is an allowed child of "li";
- // then append node to node list."
+ // is not an indentation element; and either node is an ol or ul, or its
+ // parent is an ol or ul, or it is an allowed child of "li"; then append
+ // node to node list."
for (
var node = newRange.startContainer;
node != nextNodeDescendants(newRange.endContainer);
@@ -4913,7 +4912,7 @@
if (isEditable(node)
&& isContained(node, newRange)
&& (!nodeList.length || !isAncestor(nodeList[nodeList.length - 1], node))
- && !isPotentialIndentationElement(node)
+ && !isIndentationElement(node)
&& (isHtmlElement(node, ["OL", "UL"])
|| isHtmlElement(node.parentNode, ["OL", "UL"])
|| isAllowedChild(node, "li"))) {
@@ -5076,13 +5075,13 @@
var newParent = wrap([node],
function(node) { return isHtmlElement(node, tagName) },
function() {
- // "If the parent of node is not an editable indentation
- // element, or the previousSibling of the parent of node is
- // not an editable HTML element with local name tag name,
- // call createElement(tag name) on the context object and
- // return the result. Otherwise:"
+ // "If the parent of node is not an editable simple
+ // indentation element, or the previousSibling of the
+ // parent of node is not an editable HTML element with
+ // local name tag name, call createElement(tag name) on the
+ // context object and return the result. Otherwise:"
if (!isEditable(node.parentNode)
- || !isIndentationElement(node.parentNode)
+ || !isSimpleIndentationElement(node.parentNode)
|| !isEditable(node.parentNode.previousSibling)
|| !isHtmlElement(node.parentNode.previousSibling, tagName)) {
return document.createElement(tagName);
@@ -5377,14 +5376,14 @@
}
// "If offset is zero, and node has an ancestor container that is both
- // a potential indentation element and a descendant of start node:"
+ // an indentation element and a descendant of start node:"
var outdentableAncestor = false;
for (
var ancestor = node;
isDescendant(ancestor, startNode);
ancestor = ancestor.parentNode
) {
- if (isPotentialIndentationElement(ancestor)) {
+ if (isIndentationElement(ancestor)) {
outdentableAncestor = true;
break;
}
--- a/source.html Sun Jul 10 13:18:36 2011 -0600
+++ b/source.html Sun Jul 10 13:26:27 2011 -0600
@@ -3012,14 +3012,10 @@
<h3>Block formatting command definitions</h3>
<!-- @{ -->
-<p>A <dfn>potential indentation element</dfn> is either a [[blockquote]], or a
-[[div]] that has a [[style]] attribute that sets "margin" or some subproperty
-of it.
-
-<p class=XXX>Terminology is inconsistent with "modifiable" etc. used for inline
-styles.
-
-<p>An <dfn>indentation element</dfn> is an <span>potential indentation
+<p>An <dfn>indentation element</dfn> is either a [[blockquote]], or a [[div]]
+that has a [[style]] attribute that sets "margin" or some subproperty of it.
+
+<p>A <dfn>simple indentation element</dfn> is an <span>indentation
element</span> that has no attributes other than one or more of
<ul>
@@ -3159,10 +3155,10 @@
<li>For each <var>node</var> [[contained]] in <var>new range</var>, append
<var>node</var> to <var>node list</var> if the last member of <var>node
list</var> (if any) is not an [[ancestor]] of <var>node</var>;
- <var>node</var> is <span>editable</span>; <var>node</var> is not a
- <span>potential indentation element</span>; and <var>node</var> is either an
- [[ol]] or [[ul]], or the [[child]] of an [[ol]] or [[ul]], or an
- <span>allowed child</span> of "li".
+ <var>node</var> is <span>editable</span>; <var>node</var> is not an
+ <span>indentation element</span>; and <var>node</var> is either an [[ol]] or
+ [[ul]], or the [[child]] of an [[ol]] or [[ul]], or an <span>allowed
+ child</span> of "li".
<li>If <var>node list</var> is empty, return "none".
@@ -4175,8 +4171,8 @@
-->
<li><span>Wrap</span> <var>node list</var>, with <span>sibling
- criteria</span> matching any <span>indentation element</span>, and <span>new
- parent instructions</span> to return the result of calling <code
+ criteria</span> matching any <span>simple indentation element</span>, and
+ <span>new parent instructions</span> to return the result of calling <code
data-anolis-spec=domcore
title=dom-Document-createElement>createElement("blockquote")</code> on the
[[ownerdocument]] of <var>first node</var>. Let <var>new parent</var> be the
@@ -4221,7 +4217,7 @@
created by IE, this might change the direction of some children, but then
their direction was probably changed incorrectly in the first place, so no
harm. -->
- <li>If <var>node</var> is an <span>indentation element</span>, remove
+ <li>If <var>node</var> is a <span>simple indentation element</span>, remove
<var>node</var>, <span>preserving its descendants</span>. Then abort these
steps.
@@ -4229,8 +4225,8 @@
margin attribute to an existing element, including Firefox itself. So let's
just skip it. -->
- <li>If <var>node</var> is a <span>potential indentation element</span>:
- <!-- This might be an indentation element that had style added to it by
+ <li>If <var>node</var> is an <span>indentation element</span>:
+ <!-- This might be a simple indentation element that had style added to it by
Firefox in CSS mode, for instance (color, font-family, etc.). -->
<ol>
@@ -4276,19 +4272,19 @@
Overall, all flawed, so I'll make up my own, patterned after pushing down
styles. First we search ancestors for an indentation element, which we stand
- a chance of completely removing. Failing that, we look for a potential
- indentation element, which we cannot completely remove. -->
+ a chance of completely removing. Failing that, we look for an indentation
+ element, which we cannot completely remove. -->
<li>Let <var>current ancestor</var> be <var>node</var>'s [[parent]].
<li>Let <var>ancestor list</var> be a list of [[nodes]], initially empty.
<li>While <var>current ancestor</var> is an <span>editable</span> [[element]]
- that is not an <span>indentation element</span>, append <var>current
+ that is not a <span>simple indentation element</span>, append <var>current
ancestor</var> to <var>ancestor list</var> and then set <var>current
ancestor</var> to its [[parent]].
<li>If <var>current ancestor</var> is not an <span>editable</span>
- <span>indentation element</span>:
+ <span>simple indentation element</span>:
<ol>
<li>Let <var>current ancestor</var> be <var>node</var>'s [[parent]].
@@ -4296,19 +4292,19 @@
<li>Let <var>ancestor list</var> be the empty list.
<li>While <var>current ancestor</var> is an <span>editable</span>
- [[element]] that is not a <span>potential indentation element</span>,
- append <var>current ancestor</var> to <var>ancestor list</var> and then set
+ [[element]] that is not an <span>indentation element</span>, append
+ <var>current ancestor</var> to <var>ancestor list</var> and then set
<var>current ancestor</var> to its [[parent]].
</ol>
<li>If <var>node</var> is an [[ol]] or [[ul]], and either <var>current
- ancestor</var> is not an <span>editable</span> <span>potential indentation
+ ancestor</var> is not an <span>editable</span> <span>indentation
element</span> or <var>node</var>'s [[parent]] is an [[ol]] or [[ul]]:
<!--
- When asked to outdent a list wrapped in an indentation element, Chrome 12 dev
- removes the list instead of the indentation element. Opera 11.10 seems to
- remove both. IE9 and Firefox 4.0 remove the indentation element, as does the
- spec.
+ When asked to outdent a list wrapped in a simple indentation element, Chrome
+ 12 dev removes the list instead of the simple indentation element. Opera
+ 11.10 seems to remove both. IE9 and Firefox 4.0 remove the simple
+ indentation element, as does the spec.
-->
<div class=XXX>
@@ -4354,7 +4350,7 @@
</ol>
<li>If <var>current ancestor</var> is not an <span>editable</span>
- <span>potential indentation element</span>, abort these steps.
+ <span>indentation element</span>, abort these steps.
<!-- At this point, we have an ancestor to split up. -->
<li>Append <var>current ancestor</var> to <var>ancestor list</var>.
@@ -4733,14 +4729,14 @@
<li>For each [[node]] <var>node</var> [[contained]] in <var>new range</var>,
if <var>node</var> is <span>editable</span>; the last member of <var>node
list</var> (if any) is not an [[ancestor]] of <var>node</var>;
- <var>node</var> is not a <span>potential indentation element</span>; and
- either <var>node</var> is an [[ol]] or [[ul]], or its [[parent]] is an [[ol]]
- or [[ul]], or it is an <span>allowed child</span> of "li"; then append
+ <var>node</var> is not an <span>indentation element</span>; and either
+ <var>node</var> is an [[ol]] or [[ul]], or its [[parent]] is an [[ol]] or
+ [[ul]], or it is an <span>allowed child</span> of "li"; then append
<var>node</var> to <var>node list</var>.
<!--
- We exclude potential indentation elements so that selecting some random text
- and doing indent followed by insertOrderedList will have the same result as
- the reverse. Specifically,
+ We exclude indentation elements so that selecting some random text and doing
+ indent followed by insertOrderedList will have the same result as the
+ reverse. Specifically,
<blockquote>[foo]</blockquote> ->
<blockquote><ol><li>[foo]</li></ol></blockquote>
@@ -4900,13 +4896,11 @@
<ol>
<li>If the [[parent]] of <var>node</var> is not an <span>editable</span>
- <span>indentation element</span>, or the [[previoussibling]] of the
- [[parent]] of <var>node</var> is not an <span>editable</span> <span>HTML
- element</span> with [[localname]] <var>tag name</var>, call <code
- data-anolis-spec=domcore
- title=dom-Document-createElement>createElement(<var>tag
- name</var>)</code> on the [[contextobject]] and return the result.
- Otherwise:
+ <span>simple indentation element</span>, or the [[previoussibling]] of
+ the [[parent]] of <var>node</var> is not an <span>editable</span>
+ <span>HTML element</span> with [[localname]] <var>tag name</var>, call
+ [[createelement|<var>tag name</var>]] on the [[contextobject]] and return
+ the result. Otherwise:
<li>Let <var>list</var> be the [[previoussibling]] of the [[parent]] of
<var>node</var>.
@@ -5185,8 +5179,8 @@
Browsers don't do this, word processors do.
-->
<li>If <var>offset</var> is zero, and <var>node</var> has an
- [[ancestorcontainer]] that is both a <span>potential indentation
- element</span> and a [[descendant]] of <var>start node</var>:
+ [[ancestorcontainer]] that is both an <span>indentation element</span> and a
+ [[descendant]] of <var>start node</var>:
<p class=XXX>This copy-pastes from the outdent command action. I'm also not
totally sure it's correct.