Bug 1377989 - part7: Rename aParent, aParentNode and aNode related to nsRange to aContainer r=smaug

MozReview-Commit-ID: K7Lu0U0pdC8

--HG--
extra : rebase_source : 324de9d2927231414395799c0f002889321b7d1e
This commit is contained in:
Masayuki Nakano 2017-07-11 23:33:04 +09:00
parent dd7bcc05ab
commit e756fe8300
6 changed files with 98 additions and 90 deletions

View File

@ -2457,50 +2457,51 @@ Selection::RemoveRange(nsRange& aRange, ErrorResult& aRv)
* Collapse sets the whole selection to be one point.
*/
NS_IMETHODIMP
Selection::Collapse(nsIDOMNode* aParentNode, int32_t aOffset)
Selection::Collapse(nsIDOMNode* aContainer, int32_t aOffset)
{
nsCOMPtr<nsINode> parentNode = do_QueryInterface(aParentNode);
nsCOMPtr<nsINode> parentNode = do_QueryInterface(aContainer);
return Collapse(parentNode, aOffset);
}
NS_IMETHODIMP
Selection::CollapseNative(nsINode* aParentNode, int32_t aOffset)
Selection::CollapseNative(nsINode* aContainer, int32_t aOffset)
{
return Collapse(aParentNode, aOffset);
return Collapse(aContainer, aOffset);
}
void
Selection::CollapseJS(nsINode* aNode, uint32_t aOffset, ErrorResult& aRv)
Selection::CollapseJS(nsINode* aContainer, uint32_t aOffset, ErrorResult& aRv)
{
AutoRestore<bool> calledFromJSRestorer(mCalledByJS);
mCalledByJS = true;
if (!aNode) {
if (!aContainer) {
RemoveAllRanges(aRv);
return;
}
Collapse(*aNode, aOffset, aRv);
Collapse(*aContainer, aOffset, aRv);
}
nsresult
Selection::Collapse(nsINode* aParentNode, int32_t aOffset)
Selection::Collapse(nsINode* aContainer, int32_t aOffset)
{
if (!aParentNode)
if (!aContainer) {
return NS_ERROR_INVALID_ARG;
}
ErrorResult result;
Collapse(*aParentNode, static_cast<uint32_t>(aOffset), result);
Collapse(*aContainer, static_cast<uint32_t>(aOffset), result);
return result.StealNSResult();
}
void
Selection::Collapse(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
Selection::Collapse(nsINode& aContainer, uint32_t aOffset, ErrorResult& aRv)
{
if (!mFrameSelection) {
aRv.Throw(NS_ERROR_NOT_INITIALIZED); // Can't do selection
return;
}
nsCOMPtr<nsINode> parentNode = &aParentNode;
nsCOMPtr<nsINode> parentNode = &aContainer;
RefPtr<nsFrameSelection> frameSelection = mFrameSelection;
frameSelection->InvalidateDesiredPos();
@ -2841,39 +2842,40 @@ a 2 1 deselect from 2 to 1
* We don't need to know the direction, because we always change the focus.
*/
NS_IMETHODIMP
Selection::Extend(nsIDOMNode* aParentNode, int32_t aOffset)
Selection::Extend(nsIDOMNode* aContainer, int32_t aOffset)
{
nsCOMPtr<nsINode> parentNode = do_QueryInterface(aParentNode);
nsCOMPtr<nsINode> parentNode = do_QueryInterface(aContainer);
return Extend(parentNode, aOffset);
}
NS_IMETHODIMP
Selection::ExtendNative(nsINode* aParentNode, int32_t aOffset)
Selection::ExtendNative(nsINode* aContainer, int32_t aOffset)
{
return Extend(aParentNode, aOffset);
return Extend(aContainer, aOffset);
}
void
Selection::ExtendJS(nsINode& aNode, uint32_t aOffset, ErrorResult& aRv)
Selection::ExtendJS(nsINode& aContainer, uint32_t aOffset, ErrorResult& aRv)
{
AutoRestore<bool> calledFromJSRestorer(mCalledByJS);
mCalledByJS = true;
Extend(aNode, aOffset, aRv);
Extend(aContainer, aOffset, aRv);
}
nsresult
Selection::Extend(nsINode* aParentNode, int32_t aOffset)
Selection::Extend(nsINode* aContainer, int32_t aOffset)
{
if (!aParentNode)
if (!aContainer) {
return NS_ERROR_INVALID_ARG;
}
ErrorResult result;
Extend(*aParentNode, static_cast<uint32_t>(aOffset), result);
Extend(*aContainer, static_cast<uint32_t>(aOffset), result);
return result.StealNSResult();
}
void
Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
Selection::Extend(nsINode& aContainer, uint32_t aOffset, ErrorResult& aRv)
{
// First, find the range containing the old focus point:
if (!mAnchorFocusRange) {
@ -2887,13 +2889,13 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
}
nsresult res;
if (!IsValidSelectionPoint(mFrameSelection, &aParentNode)) {
if (!IsValidSelectionPoint(mFrameSelection, &aContainer)) {
aRv.Throw(NS_ERROR_FAILURE);
return;
}
RefPtr<nsPresContext> presContext = GetPresContext();
if (!presContext || presContext->Document() != aParentNode.OwnerDoc()) {
if (!presContext || presContext->Document() != aContainer.OwnerDoc()) {
aRv.Throw(NS_ERROR_FAILURE);
return;
}
@ -2930,12 +2932,12 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
//compare old cursor to new cursor
shouldClearRange |= disconnected;
int32_t result2 = nsContentUtils::ComparePoints(focusNode, focusOffset,
&aParentNode, aOffset,
&aContainer, aOffset,
&disconnected);
//compare anchor to new cursor
shouldClearRange |= disconnected;
int32_t result3 = nsContentUtils::ComparePoints(anchorNode, anchorOffset,
&aParentNode, aOffset,
&aContainer, aOffset,
&disconnected);
// If the points are disconnected, the range will be collapsed below,
@ -2945,10 +2947,10 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
SelectFrames(presContext, range, false);
}
RefPtr<nsRange> difRange = new nsRange(&aParentNode);
RefPtr<nsRange> difRange = new nsRange(&aContainer);
if ((result1 == 0 && result3 < 0) || (result1 <= 0 && result2 < 0)){//a1,2 a,1,2
//select from 1 to 2 unless they are collapsed
range->SetEnd(aParentNode, aOffset, aRv);
range->SetEnd(aContainer, aOffset, aRv);
if (aRv.Failed()) {
return;
}
@ -2970,7 +2972,7 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
else if (result1 == 0 && result3 > 0){//2, a1
//select from 2 to 1a
SetDirection(eDirPrevious);
range->SetStart(aParentNode, aOffset, aRv);
range->SetStart(aContainer, aOffset, aRv);
if (aRv.Failed()) {
return;
}
@ -2983,14 +2985,14 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
}
else if (result3 <= 0 && result2 >= 0) {//a,2,1 or a2,1 or a,21 or a21
//deselect from 2 to 1
res = difRange->SetStartAndEnd(&aParentNode, aOffset,
res = difRange->SetStartAndEnd(&aContainer, aOffset,
focusNode, focusOffset);
if (NS_FAILED(res)) {
aRv.Throw(res);
return;
}
range->SetEnd(aParentNode, aOffset, aRv);
range->SetEnd(aContainer, aOffset, aRv);
if (aRv.Failed()) {
return;
}
@ -3013,7 +3015,7 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
}
}
SetDirection(eDirNext);
range->SetEnd(aParentNode, aOffset, aRv);
range->SetEnd(aContainer, aOffset, aRv);
if (aRv.Failed()) {
return;
}
@ -3049,13 +3051,13 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
else if (result2 <= 0 && result3 >= 0) {//1,2,a or 12,a or 1,2a or 12a
//deselect from 1 to 2
res = difRange->SetStartAndEnd(focusNode, focusOffset,
&aParentNode, aOffset);
&aContainer, aOffset);
if (NS_FAILED(res)) {
aRv.Throw(res);
return;
}
SetDirection(eDirPrevious);
range->SetStart(aParentNode, aOffset, aRv);
range->SetStart(aContainer, aOffset, aRv);
if (aRv.Failed()) {
return;
}
@ -3074,7 +3076,7 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
range->SetEnd(startNode, startOffset);
}
SetDirection(eDirPrevious);
range->SetStart(aParentNode, aOffset, aRv);
range->SetStart(aContainer, aOffset, aRv);
if (aRv.Failed()) {
return;
}
@ -3105,7 +3107,7 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
}
else if (result2 >= 0 && result1 >= 0) {//2,1,a or 21,a or 2,1a or 21a
//select from 2 to 1
range->SetStart(aParentNode, aOffset, aRv);
range->SetStart(aContainer, aOffset, aRv);
if (aRv.Failed()) {
return;
}
@ -3140,7 +3142,7 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
printf(" direction changed to %s\n",
GetDirection() == eDirNext? "eDirNext":"eDirPrevious");
}
nsCOMPtr<nsIContent> content = do_QueryInterface(&aParentNode);
nsCOMPtr<nsIContent> content = do_QueryInterface(&aContainer);
printf ("Sel. Extend to %p %s %d\n", content.get(),
nsAtomCString(content->NodeInfo()->NameAtom()).get(), aOffset);
#endif
@ -3155,10 +3157,10 @@ Selection::Extend(nsINode& aParentNode, uint32_t aOffset, ErrorResult& aRv)
}
NS_IMETHODIMP
Selection::SelectAllChildren(nsIDOMNode* aParentNode)
Selection::SelectAllChildren(nsIDOMNode* aNode)
{
ErrorResult result;
nsCOMPtr<nsINode> node = do_QueryInterface(aParentNode);
nsCOMPtr<nsINode> node = do_QueryInterface(aNode);
NS_ENSURE_TRUE(node, NS_ERROR_INVALID_ARG);
SelectAllChildren(*node, result);
return result.StealNSResult();

View File

@ -129,8 +129,8 @@ public:
nsresult RemoveItem(nsRange* aRange);
nsresult RemoveCollapsedRanges();
nsresult Clear(nsPresContext* aPresContext);
nsresult Collapse(nsINode* aParentNode, int32_t aOffset);
nsresult Extend(nsINode* aParentNode, int32_t aOffset);
nsresult Collapse(nsINode* aContainer, int32_t aOffset);
nsresult Extend(nsINode* aContainer, int32_t aOffset);
nsRange* GetRangeAt(int32_t aIndex) const;
// Get the anchor-to-focus range if we don't care which end is
@ -145,7 +145,10 @@ public:
void ReplaceAnchorFocusRange(nsRange *aRange);
void AdjustAnchorFocusForMultiRange(nsDirection aDirection);
// NS_IMETHOD GetPrimaryFrameForRangeEndpoint(nsIDOMNode *aNode, int32_t aOffset, bool aIsEndNode, nsIFrame **aResultFrame);
// NS_IMETHOD GetPrimaryFrameForRangeEndpoint(nsIDOMNode* aContainer,
// int32_t aOffset,
// bool aIsEndNode,
// nsIFrame** aResultFrame);
NS_IMETHOD GetPrimaryFrameForAnchorNode(nsIFrame **aResultFrame);
NS_IMETHOD GetPrimaryFrameForFocusNode(nsIFrame **aResultFrame, int32_t *aOffset, bool aVisual);
@ -179,12 +182,12 @@ public:
// *JS() methods are mapped to Selection.*().
// They may move focus only when the range represents normal selection.
// These methods shouldn't be used by non-JS callers.
void CollapseJS(nsINode* aNode, uint32_t aOffset,
void CollapseJS(nsINode* aContainer, uint32_t aOffset,
mozilla::ErrorResult& aRv);
void CollapseToStartJS(mozilla::ErrorResult& aRv);
void CollapseToEndJS(mozilla::ErrorResult& aRv);
void ExtendJS(nsINode& aNode, uint32_t aOffset,
void ExtendJS(nsINode& aContainer, uint32_t aOffset,
mozilla::ErrorResult& aRv);
void SelectAllChildrenJS(nsINode& aNode, mozilla::ErrorResult& aRv);
@ -259,10 +262,10 @@ public:
void ResetColors(mozilla::ErrorResult& aRv);
// Non-JS callers should use the following methods.
void Collapse(nsINode& aNode, uint32_t aOffset, mozilla::ErrorResult& aRv);
void Collapse(nsINode& aContainer, uint32_t aOffset, ErrorResult& aRv);
void CollapseToStart(mozilla::ErrorResult& aRv);
void CollapseToEnd(mozilla::ErrorResult& aRv);
void Extend(nsINode& aNode, uint32_t aOffset, mozilla::ErrorResult& aRv);
void Extend(nsINode& aContainer, uint32_t aOffset, ErrorResult& aRv);
void AddRange(nsRange& aRange, mozilla::ErrorResult& aRv);
void SelectAllChildren(nsINode& aNode, mozilla::ErrorResult& aRv);
void SetBaseAndExtent(nsINode& aAnchorNode, uint32_t aAnchorOffset,

View File

@ -753,9 +753,9 @@ nsRange::ParentChainChanged(nsIContent *aContent)
* Utilities for comparing points: API from nsIDOMRange
******************************************************/
NS_IMETHODIMP
nsRange::IsPointInRange(nsIDOMNode* aParent, int32_t aOffset, bool* aResult)
nsRange::IsPointInRange(nsIDOMNode* aContainer, int32_t aOffset, bool* aResult)
{
nsCOMPtr<nsINode> parent = do_QueryInterface(aParent);
nsCOMPtr<nsINode> parent = do_QueryInterface(aContainer);
if (!parent) {
return NS_ERROR_DOM_NOT_OBJECT_ERR;
}
@ -766,9 +766,9 @@ nsRange::IsPointInRange(nsIDOMNode* aParent, int32_t aOffset, bool* aResult)
}
bool
nsRange::IsPointInRange(nsINode& aParent, uint32_t aOffset, ErrorResult& aRv)
nsRange::IsPointInRange(nsINode& aContainer, uint32_t aOffset, ErrorResult& aRv)
{
uint16_t compareResult = ComparePoint(aParent, aOffset, aRv);
uint16_t compareResult = ComparePoint(aContainer, aOffset, aRv);
// If the node isn't in the range's document, it clearly isn't in the range.
if (aRv.ErrorCodeIs(NS_ERROR_DOM_WRONG_DOCUMENT_ERR)) {
aRv.SuppressException();
@ -781,9 +781,9 @@ nsRange::IsPointInRange(nsINode& aParent, uint32_t aOffset, ErrorResult& aRv)
// returns -1 if point is before range, 0 if point is in range,
// 1 if point is after range.
NS_IMETHODIMP
nsRange::ComparePoint(nsIDOMNode* aParent, int32_t aOffset, int16_t* aResult)
nsRange::ComparePoint(nsIDOMNode* aContainer, int32_t aOffset, int16_t* aResult)
{
nsCOMPtr<nsINode> parent = do_QueryInterface(aParent);
nsCOMPtr<nsINode> parent = do_QueryInterface(aContainer);
NS_ENSURE_TRUE(parent, NS_ERROR_DOM_HIERARCHY_REQUEST_ERR);
ErrorResult rv;
@ -792,7 +792,7 @@ nsRange::ComparePoint(nsIDOMNode* aParent, int32_t aOffset, int16_t* aResult)
}
int16_t
nsRange::ComparePoint(nsINode& aParent, uint32_t aOffset, ErrorResult& aRv)
nsRange::ComparePoint(nsINode& aContainer, uint32_t aOffset, ErrorResult& aRv)
{
// our range is in a good state?
if (!mIsPositioned) {
@ -800,30 +800,30 @@ nsRange::ComparePoint(nsINode& aParent, uint32_t aOffset, ErrorResult& aRv)
return 0;
}
if (!nsContentUtils::ContentIsDescendantOf(&aParent, mRoot)) {
if (!nsContentUtils::ContentIsDescendantOf(&aContainer, mRoot)) {
aRv.Throw(NS_ERROR_DOM_WRONG_DOCUMENT_ERR);
return 0;
}
if (aParent.NodeType() == nsIDOMNode::DOCUMENT_TYPE_NODE) {
if (aContainer.NodeType() == nsIDOMNode::DOCUMENT_TYPE_NODE) {
aRv.Throw(NS_ERROR_DOM_INVALID_NODE_TYPE_ERR);
return 0;
}
if (aOffset > aParent.Length()) {
if (aOffset > aContainer.Length()) {
aRv.Throw(NS_ERROR_DOM_INDEX_SIZE_ERR);
return 0;
}
int32_t cmp;
if ((cmp = nsContentUtils::ComparePoints(&aParent, aOffset,
if ((cmp = nsContentUtils::ComparePoints(&aContainer, aOffset,
mStartContainer,
mStartOffset)) <= 0) {
return cmp;
}
if (nsContentUtils::ComparePoints(mEndContainer, mEndOffset,
&aParent, aOffset) == -1) {
&aContainer, aOffset) == -1) {
return 1;
}
@ -1215,9 +1215,9 @@ nsRange::SetStart(nsINode& aNode, uint32_t aOffset, ErrorResult& aRv)
}
NS_IMETHODIMP
nsRange::SetStart(nsIDOMNode* aParent, int32_t aOffset)
nsRange::SetStart(nsIDOMNode* aContainer, int32_t aOffset)
{
nsCOMPtr<nsINode> parent = do_QueryInterface(aParent);
nsCOMPtr<nsINode> parent = do_QueryInterface(aContainer);
if (!parent) {
return NS_ERROR_DOM_NOT_OBJECT_ERR;
}
@ -1228,28 +1228,28 @@ nsRange::SetStart(nsIDOMNode* aParent, int32_t aOffset)
}
/* virtual */ nsresult
nsRange::SetStart(nsINode* aParent, int32_t aOffset)
nsRange::SetStart(nsINode* aContainer, int32_t aOffset)
{
nsINode* newRoot = IsValidBoundary(aParent);
nsINode* newRoot = IsValidBoundary(aContainer);
if (!newRoot) {
return NS_ERROR_DOM_INVALID_NODE_TYPE_ERR;
}
if (!IsValidOffset(aParent, aOffset)) {
if (!IsValidOffset(aContainer, aOffset)) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}
// Collapse if not positioned yet, if positioned in another doc or
// if the new start is after end.
if (!mIsPositioned || newRoot != mRoot ||
nsContentUtils::ComparePoints(aParent, aOffset,
nsContentUtils::ComparePoints(aContainer, aOffset,
mEndContainer, mEndOffset) == 1) {
DoSetRange(aParent, aOffset, aParent, aOffset, newRoot);
DoSetRange(aContainer, aOffset, aContainer, aOffset, newRoot);
return NS_OK;
}
DoSetRange(aParent, aOffset, mEndContainer, mEndOffset, mRoot);
DoSetRange(aContainer, aOffset, mEndContainer, mEndOffset, mRoot);
return NS_OK;
}
@ -1347,9 +1347,9 @@ nsRange::SetEnd(nsINode& aNode, uint32_t aOffset, ErrorResult& aRv)
}
NS_IMETHODIMP
nsRange::SetEnd(nsIDOMNode* aParent, int32_t aOffset)
nsRange::SetEnd(nsIDOMNode* aContainer, int32_t aOffset)
{
nsCOMPtr<nsINode> parent = do_QueryInterface(aParent);
nsCOMPtr<nsINode> parent = do_QueryInterface(aContainer);
if (!parent) {
return NS_ERROR_DOM_NOT_OBJECT_ERR;
}
@ -1360,14 +1360,14 @@ nsRange::SetEnd(nsIDOMNode* aParent, int32_t aOffset)
}
/* virtual */ nsresult
nsRange::SetEnd(nsINode* aParent, int32_t aOffset)
nsRange::SetEnd(nsINode* aContainer, int32_t aOffset)
{
nsINode* newRoot = IsValidBoundary(aParent);
nsINode* newRoot = IsValidBoundary(aContainer);
if (!newRoot) {
return NS_ERROR_DOM_INVALID_NODE_TYPE_ERR;
}
if (!IsValidOffset(aParent, aOffset)) {
if (!IsValidOffset(aContainer, aOffset)) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}
@ -1375,13 +1375,13 @@ nsRange::SetEnd(nsINode* aParent, int32_t aOffset)
// if the new end is before start.
if (!mIsPositioned || newRoot != mRoot ||
nsContentUtils::ComparePoints(mStartContainer, mStartOffset,
aParent, aOffset) == 1) {
DoSetRange(aParent, aOffset, aParent, aOffset, newRoot);
aContainer, aOffset) == 1) {
DoSetRange(aContainer, aOffset, aContainer, aOffset, newRoot);
return NS_OK;
}
DoSetRange(mStartContainer, mStartOffset, aParent, aOffset, mRoot);
DoSetRange(mStartContainer, mStartOffset, aContainer, aOffset, mRoot);
return NS_OK;
}
@ -1967,11 +1967,11 @@ static nsresult SplitDataNode(nsIDOMCharacterData* aStartNode,
}
NS_IMETHODIMP
PrependChild(nsINode* aParent, nsINode* aChild)
PrependChild(nsINode* aContainer, nsINode* aChild)
{
nsCOMPtr<nsINode> first = aParent->GetFirstChild();
nsCOMPtr<nsINode> first = aContainer->GetFirstChild();
ErrorResult rv;
aParent->InsertBefore(*aChild, first, rv);
aContainer->InsertBefore(*aChild, first, rv);
return rv.StealNSResult();
}

View File

@ -147,8 +147,8 @@ public:
* When you set both start and end of a range, you should use
* SetStartAndEnd() instead.
*/
nsresult SetStart(nsINode* aParent, int32_t aOffset);
nsresult SetEnd(nsINode* aParent, int32_t aOffset);
nsresult SetStart(nsINode* aContainer, int32_t aOffset);
nsresult SetEnd(nsINode* aContainer, int32_t aOffset);
already_AddRefed<nsRange> CloneRange() const;
@ -166,11 +166,11 @@ public:
/**
* CollapseTo() works similar to call both SetStart() and SetEnd() with
* same node and offset. This just calls SetStartAndParent() to set
* collapsed range at aParent and aOffset.
* collapsed range at aContainer and aOffset.
*/
nsresult CollapseTo(nsINode* aParent, int32_t aOffset)
nsresult CollapseTo(nsINode* aContainer, int32_t aOffset)
{
return SetStartAndEnd(aParent, aOffset, aParent, aOffset);
return SetStartAndEnd(aContainer, aOffset, aContainer, aOffset);
}
/**
@ -222,7 +222,8 @@ public:
CloneContents(ErrorResult& aErr);
int16_t CompareBoundaryPoints(uint16_t aHow, nsRange& aOther,
ErrorResult& aErr);
int16_t ComparePoint(nsINode& aParent, uint32_t aOffset, ErrorResult& aErr);
int16_t ComparePoint(nsINode& aContainer, uint32_t aOffset,
ErrorResult& aErr);
void DeleteContents(ErrorResult& aRv);
already_AddRefed<mozilla::dom::DocumentFragment>
ExtractContents(ErrorResult& aErr);
@ -233,7 +234,7 @@ public:
uint32_t GetEndOffset(ErrorResult& aRv) const;
void InsertNode(nsINode& aNode, ErrorResult& aErr);
bool IntersectsNode(nsINode& aNode, ErrorResult& aRv);
bool IsPointInRange(nsINode& aParent, uint32_t aOffset, ErrorResult& aErr);
bool IsPointInRange(nsINode& aContainer, uint32_t aOffset, ErrorResult& aErr);
// *JS() methods are mapped to Range.*() of DOM.
// They may move focus only when the range represents normal selection.

View File

@ -2849,15 +2849,17 @@ nsFrameSelection::SelectCellElement(nsIContent *aCellElement)
}
nsresult
nsFrameSelection::CreateAndAddRange(nsINode *aParentNode, int32_t aOffset)
nsFrameSelection::CreateAndAddRange(nsINode* aContainer, int32_t aOffset)
{
if (!aParentNode) return NS_ERROR_NULL_POINTER;
if (!aContainer) {
return NS_ERROR_NULL_POINTER;
}
RefPtr<nsRange> range = new nsRange(aParentNode);
RefPtr<nsRange> range = new nsRange(aContainer);
// Set range around child at given offset
nsresult rv = range->SetStartAndEnd(aParentNode, aOffset,
aParentNode, aOffset + 1);
nsresult rv = range->SetStartAndEnd(aContainer, aOffset,
aContainer, aOffset + 1);
if (NS_WARN_IF(NS_FAILED(rv))) {
return rv;
}

View File

@ -728,7 +728,7 @@ private:
nsIContent* IsInSameTable(nsIContent *aContent1, nsIContent *aContent2) const;
// Might return null
nsIContent* GetParentTable(nsIContent *aCellNode) const;
nsresult CreateAndAddRange(nsINode *aParentNode, int32_t aOffset);
nsresult CreateAndAddRange(nsINode* aContainer, int32_t aOffset);
nsCOMPtr<nsINode> mCellParent; //used to snap to table selection
nsCOMPtr<nsIContent> mStartSelectedCell;