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

Side by Side Diff: Source/core/editing/ReplaceSelectionCommand.cpp

Issue 23863002: Refactoring: toHTMLElement(const Node*) added but never used. Using it. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 3 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 unified diff | Download patch
« no previous file with comments | « Source/core/editing/MarkupAccumulator.cpp ('k') | Source/core/editing/markup.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2009, 2010, 2011 Google Inc. All rights reserved. 3 * Copyright (C) 2009, 2010, 2011 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 98
99 static bool isInterchangeNewlineNode(const Node *node) 99 static bool isInterchangeNewlineNode(const Node *node)
100 { 100 {
101 DEFINE_STATIC_LOCAL(String, interchangeNewlineClassString, (AppleInterchange Newline)); 101 DEFINE_STATIC_LOCAL(String, interchangeNewlineClassString, (AppleInterchange Newline));
102 return node && node->hasTagName(brTag) && toElement(node)->getAttribute(clas sAttr) == interchangeNewlineClassString; 102 return node && node->hasTagName(brTag) && toElement(node)->getAttribute(clas sAttr) == interchangeNewlineClassString;
103 } 103 }
104 104
105 static bool isInterchangeConvertedSpaceSpan(const Node *node) 105 static bool isInterchangeConvertedSpaceSpan(const Node *node)
106 { 106 {
107 DEFINE_STATIC_LOCAL(String, convertedSpaceSpanClassString, (AppleConvertedSp ace)); 107 DEFINE_STATIC_LOCAL(String, convertedSpaceSpanClassString, (AppleConvertedSp ace));
108 return node->isHTMLElement() && 108 return node->isHTMLElement() && toHTMLElement(node)->getAttribute(classAttr) == convertedSpaceSpanClassString;
109 static_cast<const HTMLElement *>(node)->getAttribute(classAttr) == co nvertedSpaceSpanClassString;
110 } 109 }
111 110
112 static Position positionAvoidingPrecedingNodes(Position pos) 111 static Position positionAvoidingPrecedingNodes(Position pos)
113 { 112 {
114 // If we're already on a break, it's probably a placeholder and we shouldn't change our position. 113 // If we're already on a break, it's probably a placeholder and we shouldn't change our position.
115 if (editingIgnoresContent(pos.deprecatedNode())) 114 if (editingIgnoresContent(pos.deprecatedNode()))
116 return pos; 115 return pos;
117 116
118 // We also stop when changing block flow elements because even though the vi sual position is the 117 // We also stop when changing block flow elements because even though the vi sual position is the
119 // same. E.g., 118 // same. E.g.,
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 { 855 {
857 // We don't want to skip over any block elements. 856 // We don't want to skip over any block elements.
858 if (isBlock(node)) 857 if (isBlock(node))
859 return false; 858 return false;
860 859
861 if (!node->isHTMLElement()) 860 if (!node->isHTMLElement())
862 return false; 861 return false;
863 862
864 // We can skip over elements whose class attribute is 863 // We can skip over elements whose class attribute is
865 // one of our internal classes. 864 // one of our internal classes.
866 const HTMLElement* element = static_cast<const HTMLElement*>(node); 865 const HTMLElement* element = toHTMLElement(node);
867 const AtomicString& classAttributeValue = element->getAttribute(classAttr); 866 const AtomicString& classAttributeValue = element->getAttribute(classAttr);
868 if (classAttributeValue == AppleTabSpanClass 867 if (classAttributeValue == AppleTabSpanClass
869 || classAttributeValue == AppleConvertedSpace 868 || classAttributeValue == AppleConvertedSpace
870 || classAttributeValue == ApplePasteAsQuotation) 869 || classAttributeValue == ApplePasteAsQuotation)
871 return true; 870 return true;
872 871
873 return EditingStyle::elementIsStyledSpanOrHTMLEquivalent(element); 872 return EditingStyle::elementIsStyledSpanOrHTMLEquivalent(element);
874 } 873 }
875 874
876 inline Node* nodeToSplitToAvoidPastingIntoInlineNodesWithStyle(const Position& i nsertionPos) 875 inline Node* nodeToSplitToAvoidPastingIntoInlineNodesWithStyle(const Position& i nsertionPos)
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 removeNodeAndPruneAncestors(nodeAfterInsertionPos.get()); 1486 removeNodeAndPruneAncestors(nodeAfterInsertionPos.get());
1488 1487
1489 VisibleSelection selectionAfterReplace(m_selectReplacement ? start : end, en d); 1488 VisibleSelection selectionAfterReplace(m_selectReplacement ? start : end, en d);
1490 1489
1491 setEndingSelection(selectionAfterReplace); 1490 setEndingSelection(selectionAfterReplace);
1492 1491
1493 return true; 1492 return true;
1494 } 1493 }
1495 1494
1496 } // namespace WebCore 1495 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/editing/MarkupAccumulator.cpp ('k') | Source/core/editing/markup.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698