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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 | 70 |
71 Node* firstNodeInserted() const { return m_firstNodeInserted.get(); } | 71 Node* firstNodeInserted() const { return m_firstNodeInserted.get(); } |
72 Node* lastLeafInserted() const { return m_lastNodeInserted ? &NodeTraver
sal::lastWithinOrSelf(*m_lastNodeInserted) : 0; } | 72 Node* lastLeafInserted() const { return m_lastNodeInserted ? &NodeTraver
sal::lastWithinOrSelf(*m_lastNodeInserted) : 0; } |
73 Node* pastLastLeaf() const { return m_lastNodeInserted ? NodeTraversal::
next(NodeTraversal::lastWithinOrSelf(*m_lastNodeInserted)) : 0; } | 73 Node* pastLastLeaf() const { return m_lastNodeInserted ? NodeTraversal::
next(NodeTraversal::lastWithinOrSelf(*m_lastNodeInserted)) : 0; } |
74 | 74 |
75 private: | 75 private: |
76 RefPtrWillBeMember<Node> m_firstNodeInserted; | 76 RefPtrWillBeMember<Node> m_firstNodeInserted; |
77 RefPtrWillBeMember<Node> m_lastNodeInserted; | 77 RefPtrWillBeMember<Node> m_lastNodeInserted; |
78 }; | 78 }; |
79 | 79 |
80 Node* insertAsListItems(PassRefPtrWillBeRawPtr<HTMLElement> listElement, Nod
e* insertionNode, const Position&, InsertedNodes&); | 80 Node* insertAsListItems(PassRefPtrWillBeRawPtr<HTMLElement> listElement, Ele
ment* insertionBlock, const Position&, InsertedNodes&); |
81 | 81 |
82 void updateNodesInserted(Node*); | 82 void updateNodesInserted(Node*); |
83 bool shouldRemoveEndBR(Node*, const VisiblePosition&); | 83 bool shouldRemoveEndBR(HTMLBRElement*, const VisiblePosition&); |
84 | 84 |
85 bool shouldMergeStart(bool, bool, bool); | 85 bool shouldMergeStart(bool, bool, bool); |
86 bool shouldMergeEnd(bool selectionEndWasEndOfParagraph); | 86 bool shouldMergeEnd(bool selectionEndWasEndOfParagraph); |
87 bool shouldMerge(const VisiblePosition&, const VisiblePosition&); | 87 bool shouldMerge(const VisiblePosition&, const VisiblePosition&); |
88 | 88 |
89 void mergeEndIfNeeded(); | 89 void mergeEndIfNeeded(); |
90 | 90 |
91 void removeUnrenderedTextNodesAtEnds(InsertedNodes&); | 91 void removeUnrenderedTextNodesAtEnds(InsertedNodes&); |
92 | 92 |
93 void removeRedundantStylesAndKeepStyleSpanInline(InsertedNodes&); | 93 void removeRedundantStylesAndKeepStyleSpanInline(InsertedNodes&); |
94 void makeInsertedContentRoundTrippableWithHTMLTreeBuilder(const InsertedNode
s&); | 94 void makeInsertedContentRoundTrippableWithHTMLTreeBuilder(const InsertedNode
s&); |
95 void moveNodeOutOfAncestor(PassRefPtrWillBeRawPtr<Node>, PassRefPtrWillBeRaw
Ptr<ContainerNode> ancestor); | 95 void moveElementOutOfAncestor(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWil
lBeRawPtr<ContainerNode> ancestor); |
96 void handleStyleSpans(InsertedNodes&); | 96 void handleStyleSpans(InsertedNodes&); |
97 | 97 |
98 VisiblePosition positionAtStartOfInsertedContent() const; | 98 VisiblePosition positionAtStartOfInsertedContent() const; |
99 VisiblePosition positionAtEndOfInsertedContent() const; | 99 VisiblePosition positionAtEndOfInsertedContent() const; |
100 | 100 |
101 bool shouldPerformSmartReplace() const; | 101 bool shouldPerformSmartReplace() const; |
102 void addSpacesForSmartReplace(); | 102 void addSpacesForSmartReplace(); |
103 void completeHTMLReplacement(const Position& lastPositionToSelect); | 103 void completeHTMLReplacement(const Position& lastPositionToSelect); |
104 void mergeTextNodesAroundPosition(Position&, Position& positionOnlyToBeUpdat
ed); | 104 void mergeTextNodesAroundPosition(Position&, Position& positionOnlyToBeUpdat
ed); |
105 | 105 |
106 bool performTrivialReplace(const ReplacementFragment&); | 106 bool performTrivialReplace(const ReplacementFragment&); |
107 | 107 |
108 Position m_startOfInsertedContent; | 108 Position m_startOfInsertedContent; |
109 Position m_endOfInsertedContent; | 109 Position m_endOfInsertedContent; |
110 RefPtrWillBeMember<EditingStyle> m_insertionStyle; | 110 RefPtrWillBeMember<EditingStyle> m_insertionStyle; |
111 bool m_selectReplacement; | 111 bool m_selectReplacement; |
112 bool m_smartReplace; | 112 bool m_smartReplace; |
113 bool m_matchStyle; | 113 bool m_matchStyle; |
114 RefPtrWillBeMember<DocumentFragment> m_documentFragment; | 114 RefPtrWillBeMember<DocumentFragment> m_documentFragment; |
115 bool m_preventNesting; | 115 bool m_preventNesting; |
116 bool m_movingParagraph; | 116 bool m_movingParagraph; |
117 EditAction m_editAction; | 117 EditAction m_editAction; |
118 bool m_sanitizeFragment; | 118 bool m_sanitizeFragment; |
119 bool m_shouldMergeEnd; | 119 bool m_shouldMergeEnd; |
120 }; | 120 }; |
121 | 121 |
122 } // namespace blink | 122 } // namespace blink |
123 | 123 |
124 #endif // ReplaceSelectionCommand_h | 124 #endif // ReplaceSelectionCommand_h |
OLD | NEW |