#114429, caret ignores a backspace on a line before a <HR>.

r=jfrancis, sr=kin


git-svn-id: svn://10.0.0.236/trunk@110298 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
hwaara%chello.se 2001-12-11 22:22:47 +00:00
parent 29a382dcb9
commit 0cdc2cf1d3
3 changed files with 15 additions and 2 deletions

View File

@ -6253,12 +6253,14 @@ nsHTMLEditRules::AdjustSelection(nsISelection *aSelection, nsIEditor::EDirection
res = mHTMLEditor->GetPriorHTMLSibling(selNode, selOffset, address_of(nearNode));
if (NS_FAILED(res)) return res;
if (nearNode && (nsTextEditUtils::IsBreak(nearNode)
|| nsHTMLEditUtils::IsImage(nearNode)))
|| nsHTMLEditUtils::IsImage(nearNode)
|| nsHTMLEditUtils::IsHR(nearNode)))
return NS_OK; // this is a good place for the caret to be
res = mHTMLEditor->GetNextHTMLSibling(selNode, selOffset, address_of(nearNode));
if (NS_FAILED(res)) return res;
if (nearNode && (nsTextEditUtils::IsBreak(nearNode)
|| nsHTMLEditUtils::IsImage(nearNode)))
|| nsHTMLEditUtils::IsImage(nearNode)
|| nsHTMLEditUtils::IsHR(nearNode)))
return NS_OK; // this is a good place for the caret to be
// look for a nearby text node.

View File

@ -101,6 +101,16 @@ nsHTMLEditUtils::IsParagraph(nsIDOMNode *node)
}
///////////////////////////////////////////////////////////////////////////
// IsHR: true if node an horizontal rule
//
PRBool
nsHTMLEditUtils::IsHR(nsIDOMNode *node)
{
return nsTextEditUtils::NodeIsType(node, NS_LITERAL_STRING("hr"));
}
///////////////////////////////////////////////////////////////////////////
// IsListItem: true if node an html list item
//

View File

@ -54,6 +54,7 @@ public:
// from nsHTMLEditRules:
static PRBool IsHeader(nsIDOMNode *aNode);
static PRBool IsParagraph(nsIDOMNode *aNode);
static PRBool IsHR(nsIDOMNode *aNode);
static PRBool IsListItem(nsIDOMNode *aNode);
static PRBool IsTable(nsIDOMNode *aNode);
static PRBool IsTableRow(nsIDOMNode *aNode);