mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
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:
parent
dd7bcc05ab
commit
e756fe8300
@ -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();
|
||||
|
@ -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,
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user