OLD | NEW |
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 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 void deleteSelection(EditingState* = ASSERT_NO_EDITING_ABORT, bool smartDele
te = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements =
true, bool sanitizeMarkup = true); | 107 void deleteSelection(EditingState* = ASSERT_NO_EDITING_ABORT, bool smartDele
te = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements =
true, bool sanitizeMarkup = true); |
108 void deleteSelection(const VisibleSelection&, EditingState*, bool smartDelet
e = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements = t
rue, bool sanitizeMarkup = true); | 108 void deleteSelection(const VisibleSelection&, EditingState*, bool smartDelet
e = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements = t
rue, bool sanitizeMarkup = true); |
109 virtual void deleteTextFromNode(PassRefPtrWillBeRawPtr<Text>, unsigned offse
t, unsigned count); | 109 virtual void deleteTextFromNode(PassRefPtrWillBeRawPtr<Text>, unsigned offse
t, unsigned count); |
110 bool isRemovableBlock(const Node*); | 110 bool isRemovableBlock(const Node*); |
111 void insertNodeAfter(PassRefPtrWillBeRawPtr<Node>, PassRefPtrWillBeRawPtr<No
de> refChild); | 111 void insertNodeAfter(PassRefPtrWillBeRawPtr<Node>, PassRefPtrWillBeRawPtr<No
de> refChild); |
112 void insertNodeAt(PassRefPtrWillBeRawPtr<Node>, const Position&, EditingStat
e* = ASSERT_NO_EDITING_ABORT); | 112 void insertNodeAt(PassRefPtrWillBeRawPtr<Node>, const Position&, EditingStat
e* = ASSERT_NO_EDITING_ABORT); |
113 void insertNodeAtTabSpanPosition(PassRefPtrWillBeRawPtr<Node>, const Positio
n&); | 113 void insertNodeAtTabSpanPosition(PassRefPtrWillBeRawPtr<Node>, const Positio
n&); |
114 void insertNodeBefore(PassRefPtrWillBeRawPtr<Node>, PassRefPtrWillBeRawPtr<N
ode> refChild, EditingState* = ASSERT_NO_EDITING_ABORT, ShouldAssumeContentIsAlw
aysEditable = DoNotAssumeContentIsAlwaysEditable); | 114 void insertNodeBefore(PassRefPtrWillBeRawPtr<Node>, PassRefPtrWillBeRawPtr<N
ode> refChild, EditingState* = ASSERT_NO_EDITING_ABORT, ShouldAssumeContentIsAlw
aysEditable = DoNotAssumeContentIsAlwaysEditable); |
115 void insertParagraphSeparator(bool useDefaultParagraphElement = false, bool
pasteBlockqutoeIntoUnquotedArea = false); | 115 void insertParagraphSeparator(bool useDefaultParagraphElement = false, bool
pasteBlockqutoeIntoUnquotedArea = false); |
116 void insertTextIntoNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset, const
String& text); | 116 void insertTextIntoNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset, const
String& text); |
117 void mergeIdenticalElements(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWillB
eRawPtr<Element>); | 117 void mergeIdenticalElements(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWillB
eRawPtr<Element>, EditingState*); |
118 void rebalanceWhitespace(); | 118 void rebalanceWhitespace(); |
119 void rebalanceWhitespaceAt(const Position&); | 119 void rebalanceWhitespaceAt(const Position&); |
120 void rebalanceWhitespaceOnTextSubstring(PassRefPtrWillBeRawPtr<Text>, int st
artOffset, int endOffset); | 120 void rebalanceWhitespaceOnTextSubstring(PassRefPtrWillBeRawPtr<Text>, int st
artOffset, int endOffset); |
121 void prepareWhitespaceAtPositionForSplit(Position&); | 121 void prepareWhitespaceAtPositionForSplit(Position&); |
122 void replaceCollapsibleWhitespaceWithNonBreakingSpaceIfNeeded(const VisibleP
osition&); | 122 void replaceCollapsibleWhitespaceWithNonBreakingSpaceIfNeeded(const VisibleP
osition&); |
123 bool canRebalance(const Position&) const; | 123 bool canRebalance(const Position&) const; |
124 bool shouldRebalanceLeadingWhitespaceFor(const String&) const; | 124 bool shouldRebalanceLeadingWhitespaceFor(const String&) const; |
125 void removeCSSProperty(PassRefPtrWillBeRawPtr<Element>, CSSPropertyID); | 125 void removeCSSProperty(PassRefPtrWillBeRawPtr<Element>, CSSPropertyID); |
126 void removeElementAttribute(PassRefPtrWillBeRawPtr<Element>, const Qualified
Name& attribute); | 126 void removeElementAttribute(PassRefPtrWillBeRawPtr<Element>, const Qualified
Name& attribute); |
127 void removeChildrenInRange(PassRefPtrWillBeRawPtr<Node>, unsigned from, unsi
gned to); | 127 void removeChildrenInRange(PassRefPtrWillBeRawPtr<Node>, unsigned from, unsi
gned to, EditingState*); |
128 virtual void removeNode(PassRefPtrWillBeRawPtr<Node>, EditingState* = ASSERT
_NO_EDITING_ABORT, ShouldAssumeContentIsAlwaysEditable = DoNotAssumeContentIsAlw
aysEditable); | 128 virtual void removeNode(PassRefPtrWillBeRawPtr<Node>, EditingState*, ShouldA
ssumeContentIsAlwaysEditable = DoNotAssumeContentIsAlwaysEditable); |
129 HTMLSpanElement* replaceElementWithSpanPreservingChildrenAndAttributes(PassR
efPtrWillBeRawPtr<HTMLElement>); | 129 HTMLSpanElement* replaceElementWithSpanPreservingChildrenAndAttributes(PassR
efPtrWillBeRawPtr<HTMLElement>); |
130 void removeNodePreservingChildren(PassRefPtrWillBeRawPtr<Node>, EditingState
* = ASSERT_NO_EDITING_ABORT, ShouldAssumeContentIsAlwaysEditable = DoNotAssumeCo
ntentIsAlwaysEditable); | 130 void removeNodePreservingChildren(PassRefPtrWillBeRawPtr<Node>, EditingState
* = ASSERT_NO_EDITING_ABORT, ShouldAssumeContentIsAlwaysEditable = DoNotAssumeCo
ntentIsAlwaysEditable); |
131 void removeNodeAndPruneAncestors(PassRefPtrWillBeRawPtr<Node>, Node* exclude
Node = nullptr); | 131 void removeNodeAndPruneAncestors(PassRefPtrWillBeRawPtr<Node>, EditingState*
, Node* excludeNode = nullptr); |
132 void moveRemainingSiblingsToNewParent(Node*, Node* pastLastNodeToMove, PassR
efPtrWillBeRawPtr<Element> prpNewParent); | 132 void moveRemainingSiblingsToNewParent(Node*, Node* pastLastNodeToMove, PassR
efPtrWillBeRawPtr<Element> prpNewParent, EditingState*); |
133 void updatePositionForNodeRemovalPreservingChildren(Position&, Node&); | 133 void updatePositionForNodeRemovalPreservingChildren(Position&, Node&); |
134 void prune(PassRefPtrWillBeRawPtr<Node>, Node* excludeNode = nullptr); | 134 void prune(PassRefPtrWillBeRawPtr<Node>, EditingState*, Node* excludeNode =
nullptr); |
135 void replaceTextInNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset, unsign
ed count, const String& replacementText); | 135 void replaceTextInNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset, unsign
ed count, const String& replacementText); |
136 Position replaceSelectedTextInNode(const String&); | 136 Position replaceSelectedTextInNode(const String&); |
137 void replaceTextInNodePreservingMarkers(PassRefPtrWillBeRawPtr<Text>, unsign
ed offset, unsigned count, const String& replacementText); | 137 void replaceTextInNodePreservingMarkers(PassRefPtrWillBeRawPtr<Text>, unsign
ed offset, unsigned count, const String& replacementText); |
138 Position positionOutsideTabSpan(const Position&); | 138 Position positionOutsideTabSpan(const Position&); |
139 void setNodeAttribute(PassRefPtrWillBeRawPtr<Element>, const QualifiedName&
attribute, const AtomicString& value); | 139 void setNodeAttribute(PassRefPtrWillBeRawPtr<Element>, const QualifiedName&
attribute, const AtomicString& value); |
140 void splitElement(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWillBeRawPtr<No
de> atChild); | 140 void splitElement(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWillBeRawPtr<No
de> atChild); |
141 void splitTextNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset); | 141 void splitTextNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset); |
142 void splitTextNodeContainingElement(PassRefPtrWillBeRawPtr<Text>, unsigned o
ffset); | 142 void splitTextNodeContainingElement(PassRefPtrWillBeRawPtr<Text>, unsigned o
ffset); |
143 void wrapContentsInDummySpan(PassRefPtrWillBeRawPtr<Element>); | 143 void wrapContentsInDummySpan(PassRefPtrWillBeRawPtr<Element>); |
144 | 144 |
(...skipping 10 matching lines...) Expand all Loading... |
155 | 155 |
156 PassRefPtrWillBeRawPtr<HTMLElement> moveParagraphContentsToNewBlockIfNecessa
ry(const Position&, EditingState*); | 156 PassRefPtrWillBeRawPtr<HTMLElement> moveParagraphContentsToNewBlockIfNecessa
ry(const Position&, EditingState*); |
157 | 157 |
158 void pushAnchorElementDown(Element*, EditingState*); | 158 void pushAnchorElementDown(Element*, EditingState*); |
159 | 159 |
160 // FIXME: preserveSelection and preserveStyle should be enums | 160 // FIXME: preserveSelection and preserveStyle should be enums |
161 void moveParagraph(const VisiblePosition&, const VisiblePosition&, const Vis
iblePosition&, EditingState* = ASSERT_NO_EDITING_ABORT, bool preserveSelection =
false, bool preserveStyle = true, Node* constrainingAncestor = nullptr); | 161 void moveParagraph(const VisiblePosition&, const VisiblePosition&, const Vis
iblePosition&, EditingState* = ASSERT_NO_EDITING_ABORT, bool preserveSelection =
false, bool preserveStyle = true, Node* constrainingAncestor = nullptr); |
162 void moveParagraphs(const VisiblePosition&, const VisiblePosition&, const Vi
siblePosition&, EditingState*, bool preserveSelection = false, bool preserveStyl
e = true, Node* constrainingAncestor = nullptr); | 162 void moveParagraphs(const VisiblePosition&, const VisiblePosition&, const Vi
siblePosition&, EditingState*, bool preserveSelection = false, bool preserveStyl
e = true, Node* constrainingAncestor = nullptr); |
163 void moveParagraphWithClones(const VisiblePosition& startOfParagraphToMove,
const VisiblePosition& endOfParagraphToMove, HTMLElement* blockElement, Node* ou
terNode, EditingState* = ASSERT_NO_EDITING_ABORT); | 163 void moveParagraphWithClones(const VisiblePosition& startOfParagraphToMove,
const VisiblePosition& endOfParagraphToMove, HTMLElement* blockElement, Node* ou
terNode, EditingState* = ASSERT_NO_EDITING_ABORT); |
164 void cloneParagraphUnderNewElement(const Position& start, const Position& en
d, Node* outerNode, Element* blockElement, EditingState*); | 164 void cloneParagraphUnderNewElement(const Position& start, const Position& en
d, Node* outerNode, Element* blockElement, EditingState*); |
165 void cleanupAfterDeletion(VisiblePosition destination = VisiblePosition()); | 165 void cleanupAfterDeletion(EditingState*, VisiblePosition destination = Visib
lePosition()); |
166 | 166 |
167 bool breakOutOfEmptyListItem(); | 167 bool breakOutOfEmptyListItem(EditingState*); |
168 bool breakOutOfEmptyMailBlockquotedParagraph(); | 168 bool breakOutOfEmptyMailBlockquotedParagraph(EditingState*); |
169 | 169 |
170 Position positionAvoidingSpecialElementBoundary(const Position&, EditingStat
e*); | 170 Position positionAvoidingSpecialElementBoundary(const Position&, EditingStat
e*); |
171 | 171 |
172 PassRefPtrWillBeRawPtr<Node> splitTreeToNode(Node*, Node*, bool splitAncesto
r = false); | 172 PassRefPtrWillBeRawPtr<Node> splitTreeToNode(Node*, Node*, bool splitAncesto
r = false); |
173 | 173 |
174 WillBeHeapVector<RefPtrWillBeMember<EditCommand>> m_commands; | 174 WillBeHeapVector<RefPtrWillBeMember<EditCommand>> m_commands; |
175 | 175 |
176 private: | 176 private: |
177 bool isCompositeEditCommand() const final { return true; } | 177 bool isCompositeEditCommand() const final { return true; } |
178 | 178 |
179 RefPtrWillBeMember<EditCommandComposition> m_composition; | 179 RefPtrWillBeMember<EditCommandComposition> m_composition; |
180 }; | 180 }; |
181 | 181 |
182 DEFINE_TYPE_CASTS(CompositeEditCommand, EditCommand, command, command->isComposi
teEditCommand(), command.isCompositeEditCommand()); | 182 DEFINE_TYPE_CASTS(CompositeEditCommand, EditCommand, command, command->isComposi
teEditCommand(), command.isCompositeEditCommand()); |
183 | 183 |
184 } // namespace blink | 184 } // namespace blink |
185 | 185 |
186 #endif // CompositeEditCommand_h | 186 #endif // CompositeEditCommand_h |
OLD | NEW |