| 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 17 matching lines...) Expand all Loading... |
| 28 | 28 |
| 29 #include "core/CSSPropertyNames.h" | 29 #include "core/CSSPropertyNames.h" |
| 30 #include "core/editing/EditCommand.h" | 30 #include "core/editing/EditCommand.h" |
| 31 #include "core/editing/UndoStep.h" | 31 #include "core/editing/UndoStep.h" |
| 32 #include "wtf/Vector.h" | 32 #include "wtf/Vector.h" |
| 33 | 33 |
| 34 namespace blink { | 34 namespace blink { |
| 35 | 35 |
| 36 class EditingStyle; | 36 class EditingStyle; |
| 37 class Element; | 37 class Element; |
| 38 class HTMLBRElement; |
| 38 class HTMLElement; | 39 class HTMLElement; |
| 39 class Text; | 40 class Text; |
| 40 | 41 |
| 41 class EditCommandComposition FINAL : public UndoStep { | 42 class EditCommandComposition FINAL : public UndoStep { |
| 42 public: | 43 public: |
| 43 static PassRefPtrWillBeRawPtr<EditCommandComposition> create(Document*, cons
t VisibleSelection&, const VisibleSelection&, EditAction); | 44 static PassRefPtrWillBeRawPtr<EditCommandComposition> create(Document*, cons
t VisibleSelection&, const VisibleSelection&, EditAction); |
| 44 | 45 |
| 45 virtual bool belongsTo(const LocalFrame&) const OVERRIDE; | 46 virtual bool belongsTo(const LocalFrame&) const OVERRIDE; |
| 46 virtual void unapply() OVERRIDE; | 47 virtual void unapply() OVERRIDE; |
| 47 virtual void reapply() OVERRIDE; | 48 virtual void reapply() OVERRIDE; |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 void setNodeAttribute(PassRefPtrWillBeRawPtr<Element>, const QualifiedName&
attribute, const AtomicString& value); | 135 void setNodeAttribute(PassRefPtrWillBeRawPtr<Element>, const QualifiedName&
attribute, const AtomicString& value); |
| 135 void splitElement(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWillBeRawPtr<No
de> atChild); | 136 void splitElement(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWillBeRawPtr<No
de> atChild); |
| 136 void splitTextNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset); | 137 void splitTextNode(PassRefPtrWillBeRawPtr<Text>, unsigned offset); |
| 137 void splitTextNodeContainingElement(PassRefPtrWillBeRawPtr<Text>, unsigned o
ffset); | 138 void splitTextNodeContainingElement(PassRefPtrWillBeRawPtr<Text>, unsigned o
ffset); |
| 138 void wrapContentsInDummySpan(PassRefPtrWillBeRawPtr<Element>); | 139 void wrapContentsInDummySpan(PassRefPtrWillBeRawPtr<Element>); |
| 139 | 140 |
| 140 void deleteInsignificantText(PassRefPtrWillBeRawPtr<Text>, unsigned start, u
nsigned end); | 141 void deleteInsignificantText(PassRefPtrWillBeRawPtr<Text>, unsigned start, u
nsigned end); |
| 141 void deleteInsignificantText(const Position& start, const Position& end); | 142 void deleteInsignificantText(const Position& start, const Position& end); |
| 142 void deleteInsignificantTextDownstream(const Position&); | 143 void deleteInsignificantTextDownstream(const Position&); |
| 143 | 144 |
| 144 PassRefPtrWillBeRawPtr<Node> appendBlockPlaceholder(PassRefPtrWillBeRawPtr<E
lement>); | 145 PassRefPtrWillBeRawPtr<HTMLBRElement> appendBlockPlaceholder(PassRefPtrWillB
eRawPtr<Element>); |
| 145 PassRefPtrWillBeRawPtr<Node> insertBlockPlaceholder(const Position&); | 146 PassRefPtrWillBeRawPtr<HTMLBRElement> insertBlockPlaceholder(const Position&
); |
| 146 PassRefPtrWillBeRawPtr<Node> addBlockPlaceholderIfNeeded(Element*); | 147 PassRefPtrWillBeRawPtr<HTMLBRElement> addBlockPlaceholderIfNeeded(Element*); |
| 147 void removePlaceholderAt(const Position&); | 148 void removePlaceholderAt(const Position&); |
| 148 | 149 |
| 149 PassRefPtrWillBeRawPtr<Element> insertNewDefaultParagraphElementAt(const Pos
ition&); | 150 PassRefPtrWillBeRawPtr<HTMLElement> insertNewDefaultParagraphElementAt(const
Position&); |
| 150 | 151 |
| 151 PassRefPtrWillBeRawPtr<Element> moveParagraphContentsToNewBlockIfNecessary(c
onst Position&); | 152 PassRefPtrWillBeRawPtr<HTMLElement> moveParagraphContentsToNewBlockIfNecessa
ry(const Position&); |
| 152 | 153 |
| 153 void pushAnchorElementDown(Node*); | 154 void pushAnchorElementDown(Element*); |
| 154 | 155 |
| 155 // FIXME: preserveSelection and preserveStyle should be enums | 156 // FIXME: preserveSelection and preserveStyle should be enums |
| 156 void moveParagraph(const VisiblePosition&, const VisiblePosition&, const Vis
iblePosition&, bool preserveSelection = false, bool preserveStyle = true, Node*
constrainingAncestor = 0); | 157 void moveParagraph(const VisiblePosition&, const VisiblePosition&, const Vis
iblePosition&, bool preserveSelection = false, bool preserveStyle = true, Node*
constrainingAncestor = 0); |
| 157 void moveParagraphs(const VisiblePosition&, const VisiblePosition&, const Vi
siblePosition&, bool preserveSelection = false, bool preserveStyle = true, Node*
constrainingAncestor = 0); | 158 void moveParagraphs(const VisiblePosition&, const VisiblePosition&, const Vi
siblePosition&, bool preserveSelection = false, bool preserveStyle = true, Node*
constrainingAncestor = 0); |
| 158 void moveParagraphWithClones(const VisiblePosition& startOfParagraphToMove,
const VisiblePosition& endOfParagraphToMove, Element* blockElement, Node* outerN
ode); | 159 void moveParagraphWithClones(const VisiblePosition& startOfParagraphToMove,
const VisiblePosition& endOfParagraphToMove, Element* blockElement, Node* outerN
ode); |
| 159 void cloneParagraphUnderNewElement(const Position& start, const Position& en
d, Node* outerNode, Element* blockElement); | 160 void cloneParagraphUnderNewElement(const Position& start, const Position& en
d, Node* outerNode, Element* blockElement); |
| 160 void cleanupAfterDeletion(VisiblePosition destination = VisiblePosition()); | 161 void cleanupAfterDeletion(VisiblePosition destination = VisiblePosition()); |
| 161 | 162 |
| 162 bool breakOutOfEmptyListItem(); | 163 bool breakOutOfEmptyListItem(); |
| 163 bool breakOutOfEmptyMailBlockquotedParagraph(); | 164 bool breakOutOfEmptyMailBlockquotedParagraph(); |
| 164 | 165 |
| 165 Position positionAvoidingSpecialElementBoundary(const Position&); | 166 Position positionAvoidingSpecialElementBoundary(const Position&); |
| 166 | 167 |
| 167 PassRefPtrWillBeRawPtr<Node> splitTreeToNode(Node*, Node*, bool splitAncesto
r = false); | 168 PassRefPtrWillBeRawPtr<Node> splitTreeToNode(Node*, Node*, bool splitAncesto
r = false); |
| 168 | 169 |
| 169 WillBeHeapVector<RefPtrWillBeMember<EditCommand> > m_commands; | 170 WillBeHeapVector<RefPtrWillBeMember<EditCommand> > m_commands; |
| 170 | 171 |
| 171 private: | 172 private: |
| 172 virtual bool isCompositeEditCommand() const OVERRIDE FINAL { return true; } | 173 virtual bool isCompositeEditCommand() const OVERRIDE FINAL { return true; } |
| 173 | 174 |
| 174 RefPtrWillBeMember<EditCommandComposition> m_composition; | 175 RefPtrWillBeMember<EditCommandComposition> m_composition; |
| 175 }; | 176 }; |
| 176 | 177 |
| 177 DEFINE_TYPE_CASTS(CompositeEditCommand, EditCommand, command, command->isComposi
teEditCommand(), command.isCompositeEditCommand()); | 178 DEFINE_TYPE_CASTS(CompositeEditCommand, EditCommand, command, command->isComposi
teEditCommand(), command.isCompositeEditCommand()); |
| 178 | 179 |
| 179 } // namespace blink | 180 } // namespace blink |
| 180 | 181 |
| 181 #endif // CompositeEditCommand_h | 182 #endif // CompositeEditCommand_h |
| OLD | NEW |