--- a/editing.html Thu Aug 11 15:39:19 2011 -0600
+++ b/editing.html Thu Aug 11 15:46:50 2011 -0600
@@ -7775,14 +7775,17 @@
text node, because that will leave an empty text node.
<p>If the <a href=#active-range>active range</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a> is a <code class=external data-anolis-spec=domcore><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#text>Text</a></code> node and
- its <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-offset title=concept-boundary-point-offset>offset</a> is zero, set the <a href=#active-range>active range</a>'s
- <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> and <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-end title=concept-range-end>end</a> to (<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 <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>, <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-indexof title=concept-indexof>index</a> of
- <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>).
+ its <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-offset title=concept-boundary-point-offset>offset</a> is zero, call <code class=external data-anolis-spec=domrange title=dom-Selection-collapse><a href=http://html5.org/specs/dom-range.html#dom-selection-collapse>collapse()</a></code> on the <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#context-object>context object</a>'s
+ <code class=external data-anolis-spec=domrange><a href=http://html5.org/specs/dom-range.html#selection>Selection</a></code>, with first argument equal to the <a href=#active-range>active range</a>'s
+ <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>'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> and second argument equal to the <a href=#active-range>active
+ range</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-indexof title=concept-indexof>index</a>.
<li>If the <a href=#active-range>active range</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a> is a <code class=external data-anolis-spec=domcore><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#text>Text</a></code> node and
- its <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-offset title=concept-boundary-point-offset>offset</a> is the <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-node-length title=concept-node-length>length</a> of its <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>, set the
- <a href=#active-range>active range</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> and <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-end title=concept-range-end>end</a> to (<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
- <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>, 1 + <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-indexof title=concept-indexof>index</a> of <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>).
+ its <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-offset title=concept-boundary-point-offset>offset</a> is the <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-node-length title=concept-node-length>length</a> of its <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>, call
+ <code class=external data-anolis-spec=domrange title=dom-Selection-collapse><a href=http://html5.org/specs/dom-range.html#dom-selection-collapse>collapse()</a></code> on the <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#context-object>context object</a>'s <code class=external data-anolis-spec=domrange><a href=http://html5.org/specs/dom-range.html#selection>Selection</a></code>, with first
+ argument equal to the <a href=#active-range>active range</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>'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>
+ and second argument equal to one plus the <a href=#active-range>active range</a>'s
+ <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-indexof title=concept-indexof>index</a>.
<li>Let <var title="">br</var> be 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("br")</a></code> on the
<a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#context-object>context object</a>.
--- a/implementation.js Thu Aug 11 15:39:19 2011 -0600
+++ b/implementation.js Thu Aug 11 15:46:50 2011 -0600
@@ -6699,21 +6699,30 @@
}
// "If the active range's start node is a Text node and its start
- // offset is zero, set the active range's start and end to (parent of
- // start node, index of start node)."
+ // offset is zero, call collapse() on the context object's Selection,
+ // with first argument equal to the active range's start node's parent
+ // and second argument equal to the active range's start node's index."
if (getActiveRange().startContainer.nodeType == Node.TEXT_NODE
&& getActiveRange().startOffset == 0) {
- getActiveRange().setStart(getActiveRange().startContainer.parentNode, getNodeIndex(getActiveRange().startContainer));
- getActiveRange().collapse(true);
+ var newNode = getActiveRange().startContainer.parentNode;
+ var newOffset = getNodeIndex(getActiveRange().startContainer);
+ getSelection().collapse(newNode, newOffset);
+ getActiveRange().setStart(newNode, newOffset);
+ getActiveRange().setEnd(newNode, newOffset);
}
// "If the active range's start node is a Text node and its start
- // offset is the length of its start node, set the active range's start
- // and end to (parent of start node, 1 + index of start node)."
+ // offset is the length of its start node, call collapse() on the
+ // context object's Selection, with first argument equal to the active
+ // range's start node's parent and second argument equal to one plus
+ // the active range's start node's index."
if (getActiveRange().startContainer.nodeType == Node.TEXT_NODE
&& getActiveRange().startOffset == getNodeLength(getActiveRange().startContainer)) {
- getActiveRange().setStart(getActiveRange().startContainer.parentNode, 1 + getNodeIndex(getActiveRange().startContainer));
- getActiveRange().collapse(true);
+ var newNode = getActiveRange().startContainer.parentNode;
+ var newOffset = 1 + getNodeIndex(getActiveRange().startContainer);
+ getSelection().collapse(newNode, newOffset);
+ getActiveRange().setStart(newNode, newOffset);
+ getActiveRange().setEnd(newNode, newOffset);
}
// "Let br be the result of calling createElement("br") on the context
@@ -6726,6 +6735,7 @@
// "Call collapse() on the context object's Selection, with br's parent
// as the first argument and one plus br's index as the second
// argument."
+ getSelection().collapse(br.parentNode, 1 + getNodeIndex(br));
getActiveRange().setStart(br.parentNode, 1 + getNodeIndex(br));
getActiveRange().setEnd(br.parentNode, 1 + getNodeIndex(br));
@@ -6736,6 +6746,7 @@
getActiveRange().insertNode(document.createElement("br"));
// Compensate for nonstandard implementations of insertNode
+ getSelection().collapse(br.parentNode, 1 + getNodeIndex(br));
getActiveRange().setStart(br.parentNode, 1 + getNodeIndex(br));
getActiveRange().setEnd(br.parentNode, 1 + getNodeIndex(br));
}
--- a/source.html Thu Aug 11 15:39:19 2011 -0600
+++ b/source.html Thu Aug 11 15:46:50 2011 -0600
@@ -7838,14 +7838,17 @@
text node, because that will leave an empty text node.
<p>If the <span>active range</span>'s [[startnode]] is a [[text]] node and
- its [[startoffset]] is zero, set the <span>active range</span>'s
- [[rangestart]] and [[rangeend]] to ([[parent]] of [[startnode]], [[index]] of
- [[startnode]]).
+ its [[startoffset]] is zero, call [[selcollapse|]] on the [[contextobject]]'s
+ [[selection]], with first argument equal to the <span>active range</span>'s
+ [[startnode]]'s [[parent]] and second argument equal to the <span>active
+ range</span>'s [[startnode]]'s [[index]].
<li>If the <span>active range</span>'s [[startnode]] is a [[text]] node and
- its [[startoffset]] is the [[length]] of its [[startnode]], set the
- <span>active range</span>'s [[rangestart]] and [[rangeend]] to ([[parent]] of
- [[startnode]], 1 + [[index]] of [[startnode]]).
+ its [[startoffset]] is the [[length]] of its [[startnode]], call
+ [[selcollapse|]] on the [[contextobject]]'s [[selection]], with first
+ argument equal to the <span>active range</span>'s [[startnode]]'s [[parent]]
+ and second argument equal to one plus the <span>active range</span>'s
+ [[startnode]]'s [[index]].
<li>Let <var>br</var> be the result of calling [[createelement|"br"]] on the
[[contextobject]].