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

Side by Side Diff: third_party/WebKit/Source/core/editing/commands/IndentOutdentCommand.cpp

Issue 2341053002: Mark the createVisiblePosition overloads as deprecated (Closed)
Patch Set: minor revision Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 // CSS selector. 84 // CSS selector.
85 HTMLElement* newList = toHTMLElement(document().createElement(listElement->t agQName(), CreatedByCloneNode)); 85 HTMLElement* newList = toHTMLElement(document().createElement(listElement->t agQName(), CreatedByCloneNode));
86 insertNodeBefore(newList, selectedListItem, editingState); 86 insertNodeBefore(newList, selectedListItem, editingState);
87 if (editingState->isAborted()) 87 if (editingState->isAborted())
88 return false; 88 return false;
89 89
90 // We should clone all the children of the list item for indenting purposes. However, in case the current 90 // We should clone all the children of the list item for indenting purposes. However, in case the current
91 // selection does not encompass all its children, we need to explicitally ha ndle the same. The original 91 // selection does not encompass all its children, we need to explicitally ha ndle the same. The original
92 // list item too would require proper deletion in that case. 92 // list item too would require proper deletion in that case.
93 if (end.anchorNode() == selectedListItem || end.anchorNode()->isDescendantOf (selectedListItem->lastChild())) { 93 if (end.anchorNode() == selectedListItem || end.anchorNode()->isDescendantOf (selectedListItem->lastChild())) {
94 moveParagraphWithClones(createVisiblePosition(start), createVisiblePosit ion(end), newList, selectedListItem, editingState); 94 moveParagraphWithClones(createVisiblePositionDeprecated(start), createVi siblePositionDeprecated(end), newList, selectedListItem, editingState);
95 } else { 95 } else {
96 moveParagraphWithClones(createVisiblePosition(start), VisiblePosition::a fterNode(selectedListItem->lastChild()), newList, selectedListItem, editingState ); 96 moveParagraphWithClones(createVisiblePositionDeprecated(start), VisibleP osition::afterNode(selectedListItem->lastChild()), newList, selectedListItem, ed itingState);
97 if (editingState->isAborted()) 97 if (editingState->isAborted())
98 return false; 98 return false;
99 removeNode(selectedListItem, editingState); 99 removeNode(selectedListItem, editingState);
100 } 100 }
101 if (editingState->isAborted()) 101 if (editingState->isAborted())
102 return false; 102 return false;
103 103
104 if (canMergeLists(previousList, newList)) { 104 if (canMergeLists(previousList, newList)) {
105 mergeIdenticalElements(previousList, newList, editingState); 105 mergeIdenticalElements(previousList, newList, editingState);
106 if (editingState->isAborted()) 106 if (editingState->isAborted())
(...skipping 17 matching lines...) Expand all
124 else if (enclosingList(start.computeContainerNode())) 124 else if (enclosingList(start.computeContainerNode()))
125 elementToSplitTo = enclosingBlock(start.computeContainerNode()); 125 elementToSplitTo = enclosingBlock(start.computeContainerNode());
126 else 126 else
127 elementToSplitTo = rootEditableElementOf(start); 127 elementToSplitTo = rootEditableElementOf(start);
128 128
129 if (!elementToSplitTo) 129 if (!elementToSplitTo)
130 return; 130 return;
131 131
132 Node* outerBlock = (start.computeContainerNode() == elementToSplitTo) ? star t.computeContainerNode() : splitTreeToNode(start.computeContainerNode(), element ToSplitTo); 132 Node* outerBlock = (start.computeContainerNode() == elementToSplitTo) ? star t.computeContainerNode() : splitTreeToNode(start.computeContainerNode(), element ToSplitTo);
133 133
134 VisiblePosition startOfContents = createVisiblePosition(start); 134 VisiblePosition startOfContents = createVisiblePositionDeprecated(start);
135 if (!targetBlockquote) { 135 if (!targetBlockquote) {
136 // Create a new blockquote and insert it as a child of the root editable element. We accomplish 136 // Create a new blockquote and insert it as a child of the root editable element. We accomplish
137 // this by splitting all parents of the current paragraph up to that poi nt. 137 // this by splitting all parents of the current paragraph up to that poi nt.
138 targetBlockquote = createBlockElement(); 138 targetBlockquote = createBlockElement();
139 if (outerBlock == start.computeContainerNode()) { 139 if (outerBlock == start.computeContainerNode()) {
140 // When we apply indent to an empty <blockquote>, we should call ins ertNodeAfter(). 140 // When we apply indent to an empty <blockquote>, we should call ins ertNodeAfter().
141 // See http://crbug.com/625802 for more details. 141 // See http://crbug.com/625802 for more details.
142 if (outerBlock->hasTagName(blockquoteTag)) 142 if (outerBlock->hasTagName(blockquoteTag))
143 insertNodeAfter(targetBlockquote, outerBlock, editingState); 143 insertNodeAfter(targetBlockquote, outerBlock, editingState);
144 else 144 else
145 insertNodeAt(targetBlockquote, start, editingState); 145 insertNodeAt(targetBlockquote, start, editingState);
146 } else 146 } else
147 insertNodeBefore(targetBlockquote, outerBlock, editingState); 147 insertNodeBefore(targetBlockquote, outerBlock, editingState);
148 if (editingState->isAborted()) 148 if (editingState->isAborted())
149 return; 149 return;
150 startOfContents = VisiblePosition::inParentAfterNode(*targetBlockquote); 150 startOfContents = VisiblePosition::inParentAfterNode(*targetBlockquote);
151 } 151 }
152 152
153 VisiblePosition endOfContents = createVisiblePosition(end); 153 VisiblePosition endOfContents = createVisiblePositionDeprecated(end);
154 if (startOfContents.isNull() || endOfContents.isNull()) 154 if (startOfContents.isNull() || endOfContents.isNull())
155 return; 155 return;
156 moveParagraphWithClones(startOfContents, endOfContents, targetBlockquote, ou terBlock, editingState); 156 moveParagraphWithClones(startOfContents, endOfContents, targetBlockquote, ou terBlock, editingState);
157 } 157 }
158 158
159 void IndentOutdentCommand::outdentParagraph(EditingState* editingState) 159 void IndentOutdentCommand::outdentParagraph(EditingState* editingState)
160 { 160 {
161 VisiblePosition visibleStartOfParagraph = startOfParagraph(endingSelection() .visibleStart()); 161 VisiblePosition visibleStartOfParagraph = startOfParagraph(endingSelection() .visibleStart());
162 VisiblePosition visibleEndOfParagraph = endOfParagraph(visibleStartOfParagra ph); 162 VisiblePosition visibleEndOfParagraph = endOfParagraph(visibleStartOfParagra ph);
163 163
(...skipping 30 matching lines...) Expand all
194 if (splitPoint) { 194 if (splitPoint) {
195 if (Element* splitPointParent = splitPoint->parentElement()) { 195 if (Element* splitPointParent = splitPoint->parentElement()) {
196 if (splitPointParent->hasTagName(blockquoteTag) 196 if (splitPointParent->hasTagName(blockquoteTag)
197 && !splitPoint->hasTagName(blockquoteTag) 197 && !splitPoint->hasTagName(blockquoteTag)
198 && hasEditableStyle(*splitPointParent->parentNode())) // We can't outdent if there is no place to go! 198 && hasEditableStyle(*splitPointParent->parentNode())) // We can't outdent if there is no place to go!
199 splitElement(splitPointParent, splitPoint); 199 splitElement(splitPointParent, splitPoint);
200 } 200 }
201 } 201 }
202 202
203 document().updateStyleAndLayoutIgnorePendingStylesheets(); 203 document().updateStyleAndLayoutIgnorePendingStylesheets();
204 visibleStartOfParagraph = createVisiblePosition(visibleStartOfParagraph. deepEquivalent()); 204 visibleStartOfParagraph = createVisiblePositionDeprecated(visibleStartOf Paragraph.deepEquivalent());
205 visibleEndOfParagraph = createVisiblePosition(visibleEndOfParagraph.deep Equivalent()); 205 visibleEndOfParagraph = createVisiblePositionDeprecated(visibleEndOfPara graph.deepEquivalent());
206 if (visibleStartOfParagraph.isNotNull() && !isStartOfParagraph(visibleSt artOfParagraph)) { 206 if (visibleStartOfParagraph.isNotNull() && !isStartOfParagraph(visibleSt artOfParagraph)) {
207 insertNodeAt(HTMLBRElement::create(document()), visibleStartOfParagr aph.deepEquivalent(), editingState); 207 insertNodeAt(HTMLBRElement::create(document()), visibleStartOfParagr aph.deepEquivalent(), editingState);
208 if (editingState->isAborted()) 208 if (editingState->isAborted())
209 return; 209 return;
210 } 210 }
211 if (visibleEndOfParagraph.isNotNull() && !isEndOfParagraph(visibleEndOfP aragraph)) 211 if (visibleEndOfParagraph.isNotNull() && !isEndOfParagraph(visibleEndOfP aragraph))
212 insertNodeAt(HTMLBRElement::create(document()), visibleEndOfParagrap h.deepEquivalent(), editingState); 212 insertNodeAt(HTMLBRElement::create(document()), visibleEndOfParagrap h.deepEquivalent(), editingState);
213 return; 213 return;
214 } 214 }
215 Node* splitBlockquoteNode = enclosingElement; 215 Node* splitBlockquoteNode = enclosingElement;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 if (editingState->isAborted()) 258 if (editingState->isAborted())
259 return; 259 return;
260 260
261 // outdentParagraph could move more than one paragraph if the paragraph 261 // outdentParagraph could move more than one paragraph if the paragraph
262 // is in a list item. As a result, endAfterSelection and endOfNextParagr aph 262 // is in a list item. As a result, endAfterSelection and endOfNextParagr aph
263 // could refer to positions no longer in the document. 263 // could refer to positions no longer in the document.
264 if (endAfterSelection.isNotNull() && !endAfterSelection.deepEquivalent() .isConnected()) 264 if (endAfterSelection.isNotNull() && !endAfterSelection.deepEquivalent() .isConnected())
265 break; 265 break;
266 266
267 if (endOfNextParagraph.isNotNull() && !endOfNextParagraph.deepEquivalent ().isConnected()) { 267 if (endOfNextParagraph.isNotNull() && !endOfNextParagraph.deepEquivalent ().isConnected()) {
268 endOfCurrentParagraph = createVisiblePosition(endingSelection().end( )); 268 endOfCurrentParagraph = createVisiblePositionDeprecated(endingSelect ion().end());
269 endOfNextParagraph = endOfParagraph(nextPositionOf(endOfCurrentParag raph)); 269 endOfNextParagraph = endOfParagraph(nextPositionOf(endOfCurrentParag raph));
270 } 270 }
271 endOfCurrentParagraph = endOfNextParagraph; 271 endOfCurrentParagraph = endOfNextParagraph;
272 } 272 }
273 } 273 }
274 274
275 void IndentOutdentCommand::formatSelection(const VisiblePosition& startOfSelecti on, const VisiblePosition& endOfSelection, EditingState* editingState) 275 void IndentOutdentCommand::formatSelection(const VisiblePosition& startOfSelecti on, const VisiblePosition& endOfSelection, EditingState* editingState)
276 { 276 {
277 if (m_typeOfAction == Indent) 277 if (m_typeOfAction == Indent)
278 ApplyBlockElementCommand::formatSelection(startOfSelection, endOfSelecti on, editingState); 278 ApplyBlockElementCommand::formatSelection(startOfSelection, endOfSelecti on, editingState);
(...skipping 11 matching lines...) Expand all
290 else 290 else
291 indentIntoBlockquote(start, end, blockquoteForNextIndent, editingState); 291 indentIntoBlockquote(start, end, blockquoteForNextIndent, editingState);
292 } 292 }
293 293
294 InputEvent::InputType IndentOutdentCommand::inputType() const 294 InputEvent::InputType IndentOutdentCommand::inputType() const
295 { 295 {
296 return m_typeOfAction == Indent ? InputEvent::InputType::Indent : InputEvent ::InputType::Outdent; 296 return m_typeOfAction == Indent ? InputEvent::InputType::Indent : InputEvent ::InputType::Outdent;
297 } 297 }
298 298
299 } // namespace blink 299 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698