Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(766)

Unified Diff: Source/core/editing/CompositeEditCommand.cpp

Issue 196683003: Use new is*Element() helper functions more in editing code (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/editing/BreakBlockquoteCommand.cpp ('k') | Source/core/editing/DeleteSelectionCommand.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/editing/CompositeEditCommand.cpp
diff --git a/Source/core/editing/CompositeEditCommand.cpp b/Source/core/editing/CompositeEditCommand.cpp
index 2e0897bea7891c4d74d7ee185db8b4329beabccf..68004119c52761d255034c83f1663d4ff178b339 100644
--- a/Source/core/editing/CompositeEditCommand.cpp
+++ b/Source/core/editing/CompositeEditCommand.cpp
@@ -277,7 +277,8 @@ void CompositeEditCommand::insertParagraphSeparator(bool useDefaultParagraphElem
bool CompositeEditCommand::isRemovableBlock(const Node* node)
{
- if (!node->hasTagName(divTag))
+ ASSERT(node);
+ if (!isHTMLDivElement(*node))
return false;
Node* parentNode = node->parentNode();
@@ -292,7 +293,7 @@ bool CompositeEditCommand::isRemovableBlock(const Node* node)
void CompositeEditCommand::insertNodeBefore(PassRefPtr<Node> insertChild, PassRefPtr<Node> refChild, ShouldAssumeContentIsAlwaysEditable shouldAssumeContentIsAlwaysEditable)
{
- ASSERT(!refChild->hasTagName(bodyTag));
+ ASSERT(!isHTMLBodyElement(*refChild));
applyCommandToComposite(InsertNodeBeforeCommand::create(insertChild, refChild, shouldAssumeContentIsAlwaysEditable));
}
@@ -300,7 +301,7 @@ void CompositeEditCommand::insertNodeAfter(PassRefPtr<Node> insertChild, PassRef
{
ASSERT(insertChild);
ASSERT(refChild);
- ASSERT(!refChild->hasTagName(bodyTag));
+ ASSERT(!isHTMLBodyElement(*refChild));
ContainerNode* parent = refChild->parentNode();
ASSERT(parent);
ASSERT(!parent->isShadowRoot());
@@ -684,7 +685,7 @@ void CompositeEditCommand::replaceCollapsibleWhitespaceWithNonBreakingSpaceIfNee
if (!isCollapsibleWhitespace(visiblePosition.characterAfter()))
return;
Position pos = visiblePosition.deepEquivalent().downstream();
- if (!pos.containerNode() || !pos.containerNode()->isTextNode() || pos.containerNode()->hasTagName(brTag))
+ if (!pos.containerNode() || !pos.containerNode()->isTextNode())
return;
replaceTextInNodePreservingMarkers(pos.containerText(), pos.offsetInContainerNode(), 1, nonBreakingSpaceString());
}
@@ -864,7 +865,7 @@ void CompositeEditCommand::removePlaceholderAt(const Position& p)
ASSERT(lineBreakExistsAtPosition(p));
// We are certain that the position is at a line break, but it may be a br or a preserved newline.
- if (p.anchorNode()->hasTagName(brTag)) {
+ if (isHTMLBRElement(*p.anchorNode())) {
removeNode(p.anchorNode());
return;
}
@@ -933,11 +934,11 @@ PassRefPtr<Node> CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessar
RefPtr<Node> newBlock = insertNewDefaultParagraphElementAt(upstreamStart);
- bool endWasBr = visibleParagraphEnd.deepEquivalent().deprecatedNode()->hasTagName(brTag);
+ bool endWasBr = isHTMLBRElement(*visibleParagraphEnd.deepEquivalent().deprecatedNode());
moveParagraphs(visibleParagraphStart, visibleParagraphEnd, VisiblePosition(firstPositionInNode(newBlock.get())));
- if (newBlock->lastChild() && newBlock->lastChild()->hasTagName(brTag) && !endWasBr)
+ if (newBlock->lastChild() && isHTMLBRElement(*newBlock->lastChild()) && !endWasBr)
removeNode(newBlock->lastChild());
return newBlock.release();
@@ -1048,7 +1049,7 @@ void CompositeEditCommand::cleanupAfterDeletion(VisiblePosition destination)
return;
// Normally deletion will leave a br as a placeholder.
- if (node->hasTagName(brTag)) {
+ if (isHTMLBRElement(*node)) {
removeNodeAndPruneAncestors(node, destinationNode);
// If the selection to move was empty and in an empty block that
@@ -1264,14 +1265,14 @@ bool CompositeEditCommand::breakOutOfEmptyListItem()
RefPtr<ContainerNode> listNode = emptyListItem->parentNode();
// FIXME: Can't we do something better when the immediate parent wasn't a list node?
if (!listNode
- || (!listNode->hasTagName(ulTag) && !listNode->hasTagName(olTag))
+ || (!isHTMLUListElement(*listNode) && !isHTMLOListElement(*listNode))
|| !listNode->rendererIsEditable()
|| listNode == emptyListItem->rootEditableElement())
return false;
RefPtr<Element> newBlock = nullptr;
if (ContainerNode* blockEnclosingList = listNode->parentNode()) {
- if (blockEnclosingList->hasTagName(liTag)) { // listNode is inside another list item
+ if (isHTMLLIElement(*blockEnclosingList)) { // listNode is inside another list item
if (visiblePositionAfterNode(*blockEnclosingList) == visiblePositionAfterNode(*listNode)) {
// If listNode appears at the end of the outer list item, then move listNode outside of this list item
// e.g. <ul><li>hello <ul><li><br></li></ul> </li></ul> should become <ul><li>hello</li> <ul><li><br></li></ul> </ul> after this section
@@ -1282,7 +1283,7 @@ bool CompositeEditCommand::breakOutOfEmptyListItem()
newBlock = createListItemElement(document());
}
// If listNode does NOT appear at the end of the outer list item, then behave as if in a regular paragraph.
- } else if (blockEnclosingList->hasTagName(olTag) || blockEnclosingList->hasTagName(ulTag)) {
+ } else if (isHTMLOListElement(*blockEnclosingList) || isHTMLUListElement(*blockEnclosingList)) {
newBlock = createListItemElement(document());
}
}
@@ -1355,9 +1356,9 @@ bool CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph()
Position caretPos(caret.deepEquivalent().downstream());
// A line break is either a br or a preserved newline.
- ASSERT(caretPos.deprecatedNode()->hasTagName(brTag) || (caretPos.deprecatedNode()->isTextNode() && caretPos.deprecatedNode()->renderer()->style()->preserveNewline()));
+ ASSERT(isHTMLBRElement(caretPos.deprecatedNode()) || (caretPos.deprecatedNode()->isTextNode() && caretPos.deprecatedNode()->renderer()->style()->preserveNewline()));
- if (caretPos.deprecatedNode()->hasTagName(brTag))
+ if (isHTMLBRElement(*caretPos.deprecatedNode()))
removeNodeAndPruneAncestors(caretPos.deprecatedNode());
else if (caretPos.deprecatedNode()->isTextNode()) {
ASSERT(caretPos.deprecatedEditingOffset() == 0);
« no previous file with comments | « Source/core/editing/BreakBlockquoteCommand.cpp ('k') | Source/core/editing/DeleteSelectionCommand.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698