Changeset 267363 in webkit
- Timestamp:
- Sep 21, 2020, 1:28:24 PM (6 years ago)
- Location:
- trunk/Source
- Files:
-
- 41 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/accessibility/AXObjectCache.cpp (modified) (5 diffs)
-
WebCore/accessibility/AccessibilityObject.cpp (modified) (1 diff)
-
WebCore/accessibility/AccessibilityRenderObject.cpp (modified) (3 diffs)
-
WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (modified) (2 diffs)
-
WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (modified) (1 diff)
-
WebCore/dom/Position.cpp (modified) (3 diffs)
-
WebCore/dom/Position.h (modified) (1 diff)
-
WebCore/dom/PositionIterator.cpp (modified) (1 diff)
-
WebCore/dom/Range.cpp (modified) (1 diff)
-
WebCore/editing/AlternativeTextController.cpp (modified) (4 diffs)
-
WebCore/editing/ApplyStyleCommand.cpp (modified) (1 diff)
-
WebCore/editing/CompositeEditCommand.cpp (modified) (1 diff)
-
WebCore/editing/DeleteSelectionCommand.cpp (modified) (1 diff)
-
WebCore/editing/Editing.cpp (modified) (3 diffs)
-
WebCore/editing/Editor.cpp (modified) (9 diffs)
-
WebCore/editing/FrameSelection.cpp (modified) (1 diff)
-
WebCore/editing/InsertListCommand.cpp (modified) (1 diff)
-
WebCore/editing/RenderedPosition.cpp (modified) (2 diffs)
-
WebCore/editing/TextCheckingHelper.cpp (modified) (5 diffs)
-
WebCore/editing/TextIterator.cpp (modified) (1 diff)
-
WebCore/editing/VisiblePosition.cpp (modified) (2 diffs)
-
WebCore/editing/VisibleSelection.cpp (modified) (1 diff)
-
WebCore/editing/VisibleUnits.cpp (modified) (10 diffs)
-
WebCore/editing/cocoa/HTMLConverter.mm (modified) (1 diff)
-
WebCore/editing/ios/EditorIOS.mm (modified) (1 diff)
-
WebCore/editing/markup.cpp (modified) (3 diffs)
-
WebCore/page/DragController.cpp (modified) (1 diff)
-
WebCore/page/Page.cpp (modified) (1 diff)
-
WebCore/page/ios/FrameIOS.mm (modified) (2 diffs)
-
WebCore/platform/DragImage.cpp (modified) (1 diff)
-
WebCore/rendering/RenderBlockFlow.cpp (modified) (1 diff)
-
WebCore/rendering/RenderObject.cpp (modified) (3 diffs)
-
WebCore/testing/Internals.cpp (modified) (1 diff)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (modified) (12 diffs)
-
WebKitLegacy/ios/ChangeLog (modified) (1 diff)
-
WebKitLegacy/ios/WebCoreSupport/WebVisiblePosition.mm (modified) (2 diffs)
-
WebKitLegacy/mac/ChangeLog (modified) (1 diff)
-
WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm (modified) (1 diff)
-
WebKitLegacy/mac/WebView/WebFrame.mm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r267362 r267363 1 2020-09-20 Darin Adler <darin@apple.com> 2 3 Next step towards eliminating deprecated legacy positions 4 https://bugs.webkit.org/show_bug.cgi?id=216751 5 6 Reviewed by Sam Weinig. 7 8 Eliminating our old deprecated legacy editing positions is probably a relatively long 9 road. This next step starts using the makeContainerOffsetPosition function in more 10 places, requesting that we not use any of the deprecated legacy position logic. Also 11 renames createLegacyEditingPosition to makeDeprecatedLegacyPosition. The hard part of 12 this project will be removing code that is not inside Position that depends on the old 13 style of position/offset pairs. For this patch, tried to stick to converting cases 14 where it seems clear we don't depend on the legacy behavior. Flaw in that is that we 15 might still depend on legacy behavior where it's unconditionally implemented, without 16 checking the flag on the m_isLegacyEditingPosition Position class; that will be a 17 problem long term, should not be in this patch. 18 19 * dom/Position.h: 20 (WebCore::createLegacyEditingPosition): Deleted. 21 22 * accessibility/AXObjectCache.cpp: 23 (WebCore::AXObjectCache::visiblePositionForTextMarkerData): 24 (WebCore::AXObjectCache::rangeMatchesTextNearRange): 25 (WebCore::AXObjectCache::visiblePositionFromCharacterOffset): 26 (WebCore::AXObjectCache::localCaretRectForCharacterOffset): 27 (WebCore::AXObjectCache::indexForCharacterOffset): 28 * accessibility/AccessibilityObject.cpp: 29 (WebCore::AccessibilityObject::stringForRange const): 30 * accessibility/AccessibilityRenderObject.cpp: 31 (WebCore::AccessibilityRenderObject::linkClickPoint): 32 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 33 (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const): 34 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: 35 (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]): 36 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: 37 (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]): 38 * dom/Position.cpp: 39 (WebCore::Position::previous const): 40 (WebCore::Position::next const): 41 (WebCore::Position::downstream const): 42 * dom/PositionIterator.cpp: 43 (WebCore::PositionIterator::operator Position const): 44 * dom/Range.cpp: 45 (WebCore::Range::expand): 46 * editing/AlternativeTextController.cpp: 47 (WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate): 48 (WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult): 49 (WebCore::AlternativeTextController::applyAlternativeTextToRange): 50 * editing/ApplyStyleCommand.cpp: 51 (WebCore::ApplyStyleCommand::applyBlockStyle): 52 * editing/CompositeEditCommand.cpp: 53 (WebCore::CompositeEditCommand::moveParagraphs): 54 * editing/DeleteSelectionCommand.cpp: 55 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 56 * editing/Editing.cpp: 57 (WebCore::visiblePositionForIndex): 58 (WebCore::visiblePositionForIndexUsingCharacterIterator): 59 (WebCore::isNodeVisiblyContainedWithin): 60 * editing/Editor.cpp: 61 (WebCore::Editor::canDeleteRange const): 62 (WebCore::Editor::selectComposition): 63 (WebCore::Editor::advanceToNextMisspelling): 64 (WebCore::Editor::markAndReplaceFor): 65 (WebCore::Editor::firstRectForRange const): 66 (WebCore::extendSelection): 67 (WebCore::Editor::adjustedSelectionRange): 68 * editing/FrameSelection.cpp: 69 (WebCore::FrameSelection::elementRangeContainingCaretSelection const): 70 * editing/InsertListCommand.cpp: 71 (WebCore::InsertListCommand::doApplyForSingleParagraph): 72 * editing/RenderedPosition.cpp: 73 (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun const): 74 (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun const): 75 * editing/TextCheckingHelper.cpp: 76 (WebCore::expandToParagraphBoundary): 77 (WebCore::TextCheckingParagraph::expandRangeToNextEnd): 78 (WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const): 79 * editing/TextIterator.cpp: 80 (WebCore::resolveCharacterRange): 81 * editing/VisiblePosition.cpp: 82 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate const): 83 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate const): 84 * editing/VisibleSelection.cpp: 85 (WebCore::VisibleSelection::appendTrailingWhitespace): 86 * editing/VisibleUnits.cpp: 87 (WebCore::previousRootInlineBoxCandidatePosition): 88 (WebCore::nextRootInlineBoxCandidatePosition): 89 (WebCore::previousBoundary): 90 (WebCore::nextBoundary): 91 (WebCore::startOfDocument): 92 (WebCore::endOfDocument): 93 (WebCore::closestWordBoundaryForPosition): 94 (WebCore::wordBoundaryForPositionWithoutCrossingLine): 95 * editing/cocoa/HTMLConverter.mm: 96 (HTMLConverter::HTMLConverter): 97 * editing/ios/EditorIOS.mm: 98 (WebCore::Editor::setTextAsChildOfElement): 99 * editing/markup.cpp: 100 (WebCore::serializePreservingVisualAppearance): 101 (WebCore::contextPreservesNewline): 102 (WebCore::createFragmentFromText): 103 * page/DragController.cpp: 104 (WebCore::DragController::insertDroppedImagePlaceholdersAtCaret): 105 * page/Page.cpp: 106 (WebCore::Page::replaceRangesWithText): 107 * page/ios/FrameIOS.mm: 108 (WebCore::Frame::interpretationsForCurrentRoot const): 109 * platform/DragImage.cpp: 110 (WebCore::createDragImageForRange): 111 * rendering/RenderBlockFlow.cpp: 112 (WebCore::RenderBlockFlow::positionForBox const): 113 * rendering/RenderObject.cpp: 114 (WebCore::RenderObject::createVisiblePosition const): 115 (WebCore::RenderObject::collectSelectionRectsInternal): 116 * testing/Internals.cpp: 117 (WebCore::Internals::setSelectionWithoutValidation): 118 Replaced calls to createLegacyEditingPosition with calls to 119 makeDeprecatedLegacyPosition or makeContainerOffsetPosition. 120 1 121 2020-09-20 Darin Adler <darin@apple.com> 2 122 -
trunk/Source/WebCore/accessibility/AXObjectCache.cpp
r267166 r267363 1818 1818 return VisiblePosition(); 1819 1819 1820 // FIXME: Accessability should make it clear these are DOM-compliant offsets or store Position objects. 1821 VisiblePosition visiblePos = VisiblePosition(createLegacyEditingPosition(textMarkerData.node, textMarkerData.offset), textMarkerData.affinity); 1820 VisiblePosition visiblePos = VisiblePosition(makeContainerOffsetPosition(textMarkerData.node, textMarkerData.offset), textMarkerData.affinity); 1822 1821 Position deepPos = visiblePos.deepEquivalent(); 1823 1822 if (deepPos.isNull()) … … 2003 2002 // Create a large enough range for searching the text within. 2004 2003 unsigned textLength = matchText.length(); 2005 auto startPosition = visiblePositionForPositionWithOffset( createLegacyEditingPosition(originalRange.start), -textLength);2006 auto endPosition = visiblePositionForPositionWithOffset( createLegacyEditingPosition(originalRange.start), 2 * textLength);2004 auto startPosition = visiblePositionForPositionWithOffset(makeContainerOffsetPosition(originalRange.start), -textLength); 2005 auto endPosition = visiblePositionForPositionWithOffset(makeContainerOffsetPosition(originalRange.start), 2 * textLength); 2007 2006 if (startPosition.isNull()) 2008 2007 startPosition = firstPositionInOrBeforeNode(originalRange.start.container.ptr()); … … 2319 2318 if (!range) 2320 2319 return { }; 2321 return createLegacyEditingPosition(range->start);2320 return makeContainerOffsetPosition(range->start); 2322 2321 } 2323 2322 … … 2872 2871 return IntRect(); 2873 2872 2874 auto [inlineBox, caretOffset] = createLegacyEditingPosition(range->start).inlineBoxAndOffset(Affinity::Downstream);2873 auto [inlineBox, caretOffset] = makeContainerOffsetPosition(range->start).inlineBoxAndOffset(Affinity::Downstream); 2875 2874 if (inlineBox) 2876 2875 renderer = &inlineBox->renderer(); … … 3006 3005 if (!range) 3007 3006 return 0; 3008 return obj->indexForVisiblePosition( createLegacyEditingPosition(range->start));3007 return obj->indexForVisiblePosition(makeContainerOffsetPosition(range->start)); 3009 3008 } 3010 3009 -
trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
r267166 r267363 1238 1238 if (it.text().length() != 1 || !isSpaceOrNewline(it.text()[0])) { 1239 1239 // FIXME: Seems like the position should be based on it.range(), not range. 1240 builder.append(listMarkerTextForNodeAndPosition(it.node(), VisiblePosition( createLegacyEditingPosition(range.start))));1240 builder.append(listMarkerTextForNodeAndPosition(it.node(), VisiblePosition(makeDeprecatedLegacyPosition(range.start)))); 1241 1241 } 1242 1242 it.appendTextToStringBuilder(builder); -
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
r267320 r267363 921 921 */ 922 922 if (auto range = elementRange()) { 923 auto start = VisiblePosition { createLegacyEditingPosition(range->start) };923 auto start = VisiblePosition { makeContainerOffsetPosition(range->start) }; 924 924 auto end = nextVisiblePosition(start); 925 925 if (isPointInRange(*range, makeBoundaryPoint(end))) … … 1655 1655 auto start = visiblePositionForIndexUsingCharacterIterator(node, range.start); 1656 1656 if (!isPointInRange(*elementRange, makeBoundaryPoint(start))) 1657 start = createLegacyEditingPosition(elementRange->start);1657 start = makeContainerOffsetPosition(elementRange->start); 1658 1658 auto end = visiblePositionForIndexUsingCharacterIterator(node, range.start + range.length); 1659 1659 if (!isPointInRange(*elementRange, makeBoundaryPoint(end))) 1660 end = createLegacyEditingPosition(elementRange->start);1660 end = makeContainerOffsetPosition(elementRange->start); 1661 1661 m_renderer->frame().selection().setSelection(VisibleSelection(start, end), FrameSelection::defaultSetSelectionOptions(UserTriggered)); 1662 1662 } … … 2209 2209 if (auto elementRange = this->elementRange()) { 2210 2210 if (!isPointInRange(*elementRange, makeBoundaryPoint(start))) 2211 start = createLegacyEditingPosition(elementRange->start);2211 start = makeContainerOffsetPosition(elementRange->start); 2212 2212 } 2213 2213 -
trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
r265278 r267363 2321 2321 continue; 2322 2322 2323 String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, VisiblePosition(createLegacyEditingPosition(it.range().start)));2323 String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, makeContainerOffsetPosition(it.range().start)); 2324 2324 2325 2325 if (!listMarkerText.isEmpty()) … … 2328 2328 [array addObject:it.text().createNSString().get()]; 2329 2329 } else { 2330 String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, VisiblePosition(createLegacyEditingPosition(it.range().start)));2330 String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, makeContainerOffsetPosition(it.range().start)); 2331 2331 2332 2332 if (!listMarkerText.isEmpty()) { -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
r266986 r267363 1255 1255 if (it.text().length()) { 1256 1256 // Add the text of the list marker item if necessary. 1257 String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, VisiblePosition(createLegacyEditingPosition(it.range().start)));1257 String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, makeContainerOffsetPosition(it.range().start)); 1258 1258 if (!listMarkerText.isEmpty()) 1259 1259 AXAttributedStringAppendText(attrString.get(), &node, listMarkerText, spellCheck); -
trunk/Source/WebCore/dom/Position.cpp
r267220 r267363 373 373 return positionAfterNode(previousSibling); 374 374 375 return make DeprecatedLegacyPosition(parent, node->computeNodeIndex());375 return makeContainerOffsetPosition(parent, node->computeNodeIndex()); 376 376 } 377 377 … … 421 421 return positionBeforeNode(nextSibling); 422 422 423 return make DeprecatedLegacyPosition(parent, node->computeNodeIndex() + 1);423 return makeContainerOffsetPosition(parent, node->computeNodeIndex() + 1); 424 424 } 425 425 … … 842 842 if (¤tNode != startNode) { 843 843 ASSERT(currentPosition.atStartOfNode()); 844 return make DeprecatedLegacyPosition(¤tNode, textRenderer.caretMinOffset());844 return makeContainerOffsetPosition(¤tNode, textRenderer.caretMinOffset()); 845 845 } 846 846 -
trunk/Source/WebCore/dom/Position.h
r266986 r267363 350 350 } 351 351 352 // FIXME: Delete this after changing all callers to use the makeDeprecatedLegacyPosition name.353 inline Position createLegacyEditingPosition(Node* node, unsigned offset)354 {355 return makeDeprecatedLegacyPosition(node, offset);356 }357 358 // FIXME: Delete this after changing all callers to use the makeDeprecatedLegacyPosition name.359 inline Position createLegacyEditingPosition(const BoundaryPoint& point)360 {361 return makeDeprecatedLegacyPosition(point);362 }363 364 352 } // namespace WebCore 365 353 -
trunk/Source/WebCore/dom/PositionIterator.cpp
r260207 r267363 52 52 if (m_anchorNode->hasChildNodes()) 53 53 return lastPositionInOrAfterNode(m_anchorNode); 54 return createLegacyEditingPosition(m_anchorNode, m_offsetInAnchor);54 return makeDeprecatedLegacyPosition(m_anchorNode, m_offsetInAnchor); 55 55 } 56 56 -
trunk/Source/WebCore/dom/Range.cpp
r267313 r267363 994 994 ExceptionOr<void> Range::expand(const String& unit) 995 995 { 996 auto start = VisiblePosition { make DeprecatedLegacyPosition(&startContainer(), startOffset()) };997 auto end = VisiblePosition { make DeprecatedLegacyPosition(&endContainer(), endOffset()) };996 auto start = VisiblePosition { makeContainerOffsetPosition(&startContainer(), startOffset()) }; 997 auto end = VisiblePosition { makeContainerOffsetPosition(&endContainer(), endOffset()) }; 998 998 if (unit == "word") { 999 999 start = startOfWord(start); -
trunk/Source/WebCore/editing/AlternativeTextController.cpp
r265509 r267363 207 207 Position caretPosition = m_document.selection().selection().start(); 208 208 209 if ( createLegacyEditingPosition(m_rangeWithAlternative->end) == caretPosition) {209 if (makeDeprecatedLegacyPosition(m_rangeWithAlternative->end) == caretPosition) { 210 210 handleAlternativeTextUIResult(dismissSoon(ReasonForDismissingAlternativeTextAccepted)); 211 211 return true; … … 213 213 214 214 // Pending correction should always be where caret is. But in case this is not always true, we still want to dismiss the panel without accepting the correction. 215 ASSERT( createLegacyEditingPosition(m_rangeWithAlternative->end) == caretPosition);215 ASSERT(makeDeprecatedLegacyPosition(m_rangeWithAlternative->end) == caretPosition); 216 216 dismiss(ReasonForDismissingAlternativeTextIgnored); 217 217 return false; … … 518 518 return false; 519 519 520 auto precedingCharacterRange = makeSimpleRange( createLegacyEditingPosition(rangeWithAlternative.start).previous(), rangeWithAlternative.start);520 auto precedingCharacterRange = makeSimpleRange(makeDeprecatedLegacyPosition(rangeWithAlternative.start).previous(), rangeWithAlternative.start); 521 521 if (!precedingCharacterRange) 522 522 return false; … … 600 600 601 601 // Take note of the location of autocorrection so that we can add marker after the replacement took place. 602 auto paragraphStart = makeBoundaryPoint(startOfParagraph( createLegacyEditingPosition(range.start)));602 auto paragraphStart = makeBoundaryPoint(startOfParagraph(makeDeprecatedLegacyPosition(range.start))); 603 603 if (!paragraphStart) 604 604 return; -
trunk/Source/WebCore/editing/ApplyStyleCommand.cpp
r266660 r267363 280 280 } 281 281 282 auto startPosition = createLegacyEditingPosition(resolveCharacterLocation(scope, startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));283 auto endPosition = createLegacyEditingPosition(resolveCharacterLocation(scope, endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));282 auto startPosition = makeDeprecatedLegacyPosition(resolveCharacterLocation(scope, startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions)); 283 auto endPosition = makeDeprecatedLegacyPosition(resolveCharacterLocation(scope, endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions)); 284 284 updateStartEnd(startPosition, endPosition); 285 285 } -
trunk/Source/WebCore/editing/CompositeEditCommand.cpp
r266557 r267363 1503 1503 // in a call to rangeFromLocationAndLength with a location past the end 1504 1504 // of the document (which will return null). 1505 auto start = createLegacyEditingPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));1506 auto end = createLegacyEditingPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));1505 auto start = makeDeprecatedLegacyPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions)); 1506 auto end = makeDeprecatedLegacyPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions)); 1507 1507 setEndingSelection({ start, end, Affinity::Downstream, originalIsDirectional }); 1508 1508 } -
trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp
r266557 r267363 650 650 } 651 651 removeChildrenInRange(*m_downstreamEnd.deprecatedNode(), offset, m_downstreamEnd.deprecatedEditingOffset()); 652 m_downstreamEnd = createLegacyEditingPosition(m_downstreamEnd.deprecatedNode(), offset);652 m_downstreamEnd = makeDeprecatedLegacyPosition(m_downstreamEnd.deprecatedNode(), offset); 653 653 } 654 654 } -
trunk/Source/WebCore/editing/Editing.cpp
r266557 r267363 1092 1092 if (!scope) 1093 1093 return { }; 1094 return { createLegacyEditingPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*scope), index, TextIteratorEmitsCharactersBetweenAllVisiblePositions)) };1094 return { makeDeprecatedLegacyPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*scope), index, TextIteratorEmitsCharactersBetweenAllVisiblePositions)) }; 1095 1095 } 1096 1096 … … 1108 1108 it.advance(1); 1109 1109 if (!it.atEnd()) 1110 return { createLegacyEditingPosition(it.range().start) };1111 } 1112 1113 return { createLegacyEditingPosition((it.atEnd() ? range : it.range()).end), Affinity::Upstream };1110 return { makeDeprecatedLegacyPosition(it.range().start) }; 1111 } 1112 1113 return { makeDeprecatedLegacyPosition((it.atEnd() ? range : it.range()).end), Affinity::Upstream }; 1114 1114 } 1115 1115 … … 1128 1128 return true; 1129 1129 1130 auto startPosition = createLegacyEditingPosition(range.start);1131 auto endPosition = createLegacyEditingPosition(range.end);1130 auto startPosition = makeDeprecatedLegacyPosition(range.start); 1131 auto endPosition = makeDeprecatedLegacyPosition(range.end); 1132 1132 1133 1133 bool startIsVisuallySame = visiblePositionBeforeNode(node) == startPosition; -
trunk/Source/WebCore/editing/Editor.cpp
r266987 r267363 514 514 if (range.collapsed()) { 515 515 // FIXME: We sometimes allow deletions at the start of editable roots, like when the caret is in an empty list item. 516 auto previous = VisiblePosition { createLegacyEditingPosition(range.start) }.previous();516 auto previous = VisiblePosition { makeDeprecatedLegacyPosition(range.start) }.previous(); 517 517 if (previous.isNull() || previous.deepEquivalent().deprecatedNode()->rootEditableElement() != range.start.container->rootEditableElement()) 518 518 return false; … … 1926 1926 // See <http://bugs.webkit.org/show_bug.cgi?id=15781> 1927 1927 VisibleSelection selection; 1928 selection.setWithoutValidation( createLegacyEditingPosition(range->start), createLegacyEditingPosition(range->end));1928 selection.setWithoutValidation(makeDeprecatedLegacyPosition(range->start), makeDeprecatedLegacyPosition(range->end)); 1929 1929 m_document.selection().setSelection(selection, { }); 1930 1930 } … … 2201 2201 } 2202 2202 2203 auto position = createLegacyEditingPosition(spellingSearchRange.start);2203 auto position = makeDeprecatedLegacyPosition(spellingSearchRange.start); 2204 2204 if (!isEditablePosition(position)) { 2205 2205 // This shouldn't happen in very often because the Spelling menu items aren't enabled unless the … … 2226 2226 // at a word boundary. Going back by one char and then forward by a word does the trick. 2227 2227 if (startedWithSelection) { 2228 auto oneBeforeStart = VisiblePosition( createLegacyEditingPosition(spellingSearchRange.start)).previous();2228 auto oneBeforeStart = VisiblePosition(makeContainerOffsetPosition(spellingSearchRange.start)).previous(); 2229 2229 if (oneBeforeStart.isNotNull()) 2230 2230 spellingSearchRange.start = *makeBoundaryPoint(endOfWord(oneBeforeStart)); … … 2910 2910 if (restoreSelectionAfterChange && selectionOffset <= extendedParagraph.rangeLength()) { 2911 2911 auto selectionRange = extendedParagraph.subrange({ 0, selectionOffset }); 2912 m_document.selection().moveTo( createLegacyEditingPosition(selectionRange.end), Affinity::Downstream);2912 m_document.selection().moveTo(makeContainerOffsetPosition(selectionRange.end), Affinity::Downstream); 2913 2913 } else { 2914 2914 // If this fails for any reason, the fallback is to go one position beyond the last replacement … … 3332 3332 range.start.document().updateLayout(); 3333 3333 3334 VisiblePosition start( createLegacyEditingPosition(range.start));3334 VisiblePosition start(makeDeprecatedLegacyPosition(range.start)); 3335 3335 3336 3336 if (range.collapsed()) { … … 3342 3342 } 3343 3343 3344 VisiblePosition end( createLegacyEditingPosition(range.end), Affinity::Upstream);3344 VisiblePosition end(makeDeprecatedLegacyPosition(range.end), Affinity::Upstream); 3345 3345 3346 3346 if (inSameLine(start, end)) … … 3677 3677 static SimpleRange extendSelection(const SimpleRange& range, unsigned charactersToExtend) 3678 3678 { 3679 auto start = createLegacyEditingPosition(range.start);3680 auto end = createLegacyEditingPosition(range.end);3679 auto start = makeDeprecatedLegacyPosition(range.start); 3680 auto end = makeDeprecatedLegacyPosition(range.end); 3681 3681 for (unsigned i = 0; i < charactersToExtend; ++i) { 3682 3682 start = start.previous(Character); … … 4229 4229 if (range) { 4230 4230 if (auto enclosingAnchor = enclosingElementWithTag(firstPositionInNode(commonInclusiveAncestor(*range).get()), HTMLNames::aTag)) { 4231 if (firstPositionInOrBeforeNode(range->start.container.ptr()) >= createLegacyEditingPosition(range->start))4231 if (firstPositionInOrBeforeNode(range->start.container.ptr()) >= makeDeprecatedLegacyPosition(range->start)) 4232 4232 range->start = makeBoundaryPointBeforeNodeContents(*enclosingAnchor); 4233 4233 } -
trunk/Source/WebCore/editing/FrameSelection.cpp
r267329 r267363 2508 2508 return WTF::nullopt; 2509 2509 2510 auto start = VisiblePosition( createLegacyEditingPosition(element, 0));2511 auto end = VisiblePosition( createLegacyEditingPosition(element, element->countChildNodes()));2510 auto start = VisiblePosition(makeContainerOffsetPosition(element, 0)); 2511 auto end = VisiblePosition(makeContainerOffsetPosition(element, element->countChildNodes())); 2512 2512 if (start.isNull() || end.isNull()) 2513 2513 return WTF::nullopt; -
trunk/Source/WebCore/editing/InsertListCommand.cpp
r265190 r267363 232 232 // If the entire list is selected, then convert the whole list. 233 233 if (switchListType && isNodeVisiblyContainedWithin(*listNode, currentSelection)) { 234 bool rangeStartIsInList = visiblePositionBeforeNode(*listNode) == createLegacyEditingPosition(currentSelection.start);235 bool rangeEndIsInList = visiblePositionAfterNode(*listNode) == createLegacyEditingPosition(currentSelection.end);234 bool rangeStartIsInList = visiblePositionBeforeNode(*listNode) == makeDeprecatedLegacyPosition(currentSelection.start); 235 bool rangeEndIsInList = visiblePositionAfterNode(*listNode) == makeDeprecatedLegacyPosition(currentSelection.end); 236 236 237 237 RefPtr<HTMLElement> newList = createHTMLElement(document(), listTag); -
trunk/Source/WebCore/editing/RenderedPosition.cpp
r266557 r267363 196 196 197 197 if (atLeftmostOffsetInBox()) 198 return createLegacyEditingPosition(m_renderer->node(), m_offset);199 200 return createLegacyEditingPosition(nextLeafOnLine()->renderer().node(), nextLeafOnLine()->caretLeftmostOffset());198 return makeDeprecatedLegacyPosition(m_renderer->node(), m_offset); 199 200 return makeDeprecatedLegacyPosition(nextLeafOnLine()->renderer().node(), nextLeafOnLine()->caretLeftmostOffset()); 201 201 } 202 202 … … 206 206 207 207 if (atRightmostOffsetInBox()) 208 return createLegacyEditingPosition(m_renderer->node(), m_offset);209 210 return createLegacyEditingPosition(previousLeafOnLine()->renderer().node(), previousLeafOnLine()->caretRightmostOffset());208 return makeDeprecatedLegacyPosition(m_renderer->node(), m_offset); 209 210 return makeDeprecatedLegacyPosition(previousLeafOnLine()->renderer().node(), previousLeafOnLine()->caretRightmostOffset()); 211 211 } 212 212 -
trunk/Source/WebCore/editing/TextCheckingHelper.cpp
r266987 r267363 107 107 static SimpleRange expandToParagraphBoundary(const SimpleRange& range) 108 108 { 109 auto start = makeBoundaryPoint(startOfParagraph( createLegacyEditingPosition(range.start)));110 auto end = makeBoundaryPoint(endOfParagraph( createLegacyEditingPosition(range.end)));109 auto start = makeBoundaryPoint(startOfParagraph(makeDeprecatedLegacyPosition(range.start))); 110 auto end = makeBoundaryPoint(endOfParagraph(makeDeprecatedLegacyPosition(range.end))); 111 111 if (!start || !end) 112 112 return range; … … 130 130 { 131 131 paragraphRange(); 132 if (auto end = makeBoundaryPoint(endOfParagraph(startOfNextParagraph( createLegacyEditingPosition(m_paragraphRange->start)))))132 if (auto end = makeBoundaryPoint(endOfParagraph(startOfNextParagraph(makeDeprecatedLegacyPosition(m_paragraphRange->start))))) 133 133 m_paragraphRange->end = WTFMove(*end); 134 134 invalidateParagraphRangeValues(); … … 304 304 // Determine the character offset from the start of the paragraph to the start of the original search range, 305 305 // since we will want to ignore results in this area. 306 auto paragraphRange = *makeSimpleRange(startOfParagraph( createLegacyEditingPosition(m_range.start)), m_range.end);306 auto paragraphRange = *makeSimpleRange(startOfParagraph(makeDeprecatedLegacyPosition(m_range.start)), m_range.end); 307 307 auto totalRangeLength = characterCount(paragraphRange); 308 paragraphRange.end = *makeBoundaryPoint(endOfParagraph( createLegacyEditingPosition(m_range.start)));308 paragraphRange.end = *makeBoundaryPoint(endOfParagraph(makeDeprecatedLegacyPosition(m_range.start))); 309 309 310 310 auto rangeStartOffset = characterCount({ paragraphRange.start, m_range.start }); … … 318 318 uint64_t currentStartOffset = firstIteration ? rangeStartOffset : 0; 319 319 uint64_t currentEndOffset = currentLength; 320 if (inSameParagraph( createLegacyEditingPosition(paragraphRange.start), createLegacyEditingPosition(m_range.end))) {320 if (inSameParagraph(makeDeprecatedLegacyPosition(paragraphRange.start), makeDeprecatedLegacyPosition(m_range.end))) { 321 321 // Determine the character offset from the end of the original search range to the end of the paragraph, 322 322 // since we will want to ignore results in this area. … … 400 400 break; 401 401 402 auto nextStart = startOfNextParagraph( createLegacyEditingPosition(paragraphRange.end));402 auto nextStart = startOfNextParagraph(makeDeprecatedLegacyPosition(paragraphRange.end)); 403 403 auto nextParagraphRange = makeSimpleRange(nextStart, endOfParagraph(nextStart)); 404 404 if (!nextParagraphRange) -
trunk/Source/WebCore/editing/TextIterator.cpp
r266557 r267363 2383 2383 textRunRange.end = it.range().start; 2384 2384 else { 2385 if (auto end = makeBoundaryPoint(VisiblePosition( createLegacyEditingPosition(textRunRange.start)).next().deepEquivalent()))2385 if (auto end = makeBoundaryPoint(VisiblePosition(makeDeprecatedLegacyPosition(textRunRange.start)).next().deepEquivalent())) 2386 2386 textRunRange.end = *end; 2387 2387 } -
trunk/Source/WebCore/editing/VisiblePosition.cpp
r266986 r267363 243 243 } 244 244 245 p = createLegacyEditingPosition(renderer->node(), offset);245 p = makeDeprecatedLegacyPosition(renderer->node(), offset); 246 246 247 247 if ((p.isCandidate() && p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree()) … … 409 409 } 410 410 411 p = createLegacyEditingPosition(renderer->node(), offset);411 p = makeDeprecatedLegacyPosition(renderer->node(), offset); 412 412 413 413 if ((p.isCandidate() && p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree()) -
trunk/Source/WebCore/editing/VisibleSelection.cpp
r267362 r267363 213 213 if ((!isSpaceOrNewline(c) && c != noBreakSpace) || c == '\n') 214 214 break; 215 m_end = createLegacyEditingPosition(charIt.range().end);215 m_end = makeDeprecatedLegacyPosition(charIt.range().end); 216 216 } 217 217 } -
trunk/Source/WebCore/editing/VisibleUnits.cpp
r266557 r267363 91 91 92 92 Position pos = previousNode->hasTagName(brTag) ? positionBeforeNode(previousNode) : 93 createLegacyEditingPosition(previousNode, caretMaxOffset(*previousNode));93 makeDeprecatedLegacyPosition(previousNode, caretMaxOffset(*previousNode)); 94 94 95 95 if (pos.isCandidate()) … … 113 113 114 114 Position pos; 115 pos = createLegacyEditingPosition(nextNode, caretMinOffset(*nextNode));115 pos = makeDeprecatedLegacyPosition(nextNode, caretMinOffset(*nextNode)); 116 116 117 117 if (pos.isCandidate()) … … 610 610 611 611 if (!next) 612 return it.atEnd() ? createLegacyEditingPosition(searchRange->start) : position;612 return it.atEnd() ? makeDeprecatedLegacyPosition(searchRange->start) : position; 613 613 614 614 auto& node = (it.atEnd() ? *searchRange : it.range()).start.container.get(); 615 615 if ((!suffixLength && is<Text>(node) && next <= downcast<Text>(node).length()) || (node.renderer() && node.renderer()->isBR() && !next)) { 616 616 // The next variable contains a usable index into a text node. 617 return createLegacyEditingPosition(&node, next);617 return makeDeprecatedLegacyPosition(&node, next); 618 618 } 619 619 … … 623 623 charIt.advance(string.size() - suffixLength - next); 624 624 // FIXME: charIt can get out of shadow host. 625 return createLegacyEditingPosition(charIt.range().end);625 return makeDeprecatedLegacyPosition(charIt.range().end); 626 626 } 627 627 … … 653 653 654 654 if (it.atEnd() && next == string.size()) 655 pos = createLegacyEditingPosition(searchRange->end);655 pos = makeDeprecatedLegacyPosition(searchRange->end); 656 656 else if (next > prefixLength) { 657 657 // Use the character iterator to translate the next value into a DOM position. … … 659 659 charIt.advance(next - prefixLength - 1); 660 660 auto characterRange = charIt.range(); 661 pos = createLegacyEditingPosition(characterRange.end);661 pos = makeDeprecatedLegacyPosition(characterRange.end); 662 662 663 663 if (charIt.text()[0] == '\n') { 664 664 // FIXME: workaround for collapsed range (where only start position is correct) emitted for some emitted newlines (see rdar://5192593) 665 if (VisiblePosition(pos) == VisiblePosition( createLegacyEditingPosition(characterRange.start))) {665 if (VisiblePosition(pos) == VisiblePosition(makeDeprecatedLegacyPosition(characterRange.start))) { 666 666 charIt.advance(1); 667 pos = createLegacyEditingPosition(charIt.range().start);667 pos = makeDeprecatedLegacyPosition(charIt.range().start); 668 668 } 669 669 } … … 1433 1433 // position to null, even when there's a valid candidate to be had, because the root HTML element 1434 1434 // is not content editable. So we construct directly from the valid candidate. 1435 Position firstCandidate = nextCandidate( createLegacyEditingPosition(node->document().documentElement(), 0));1435 Position firstCandidate = nextCandidate(makeDeprecatedLegacyPosition(node->document().documentElement(), 0)); 1436 1436 if (firstCandidate.isNull()) 1437 1437 return VisiblePosition(); … … 1452 1452 // when descending from the root element, so we construct the visible position directly from a 1453 1453 // valid candidate. 1454 Position lastPosition = createLegacyEditingPosition(node->document().documentElement(), node->document().documentElement()->countChildNodes());1454 Position lastPosition = makeDeprecatedLegacyPosition(node->document().documentElement(), node->document().documentElement()->countChildNodes()); 1455 1455 Position lastCandidate = previousCandidate(lastPosition); 1456 1456 if (lastCandidate.isNull()) … … 1938 1938 // The position lies within a word. 1939 1939 if (auto wordRange = enclosingTextUnitOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Forward)) { 1940 result = createLegacyEditingPosition(wordRange->start);1940 result = makeDeprecatedLegacyPosition(wordRange->start); 1941 1941 if (distanceBetweenPositions(position, result) > 1) 1942 result = createLegacyEditingPosition(wordRange->end);1942 result = makeDeprecatedLegacyPosition(wordRange->end); 1943 1943 } 1944 1944 } else if (atBoundaryOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Backward)) { … … 1995 1995 auto adjustedPosition = position; 1996 1996 if (auto wordRange = enclosingTextUnitOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Forward)) { 1997 adjustedPosition = createLegacyEditingPosition(wordRange->start);1997 adjustedPosition = makeDeprecatedLegacyPosition(wordRange->start); 1998 1998 if (distanceBetweenPositions(position, adjustedPosition) > 1) 1999 adjustedPosition = createLegacyEditingPosition(wordRange->end);1999 adjustedPosition = makeDeprecatedLegacyPosition(wordRange->end); 2000 2000 } 2001 2001 return { adjustedPosition, WithinWordBoundary::Yes }; -
trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm
r266487 r267363 353 353 354 354 HTMLConverter::HTMLConverter(const SimpleRange& range) 355 : m_start( createLegacyEditingPosition(range.start))356 , m_end( createLegacyEditingPosition(range.end))355 : m_start(makeContainerOffsetPosition(range.start)) 356 , m_end(makeContainerOffsetPosition(range.end)) 357 357 { 358 358 _attrStr = [[NSMutableAttributedString alloc] init]; -
trunk/Source/WebCore/editing/ios/EditorIOS.mm
r266618 r267363 340 340 element.replaceAllChildrenWithNewText(text); 341 341 342 VisiblePosition afterContents = createLegacyEditingPosition(&element, element.countChildNodes());342 VisiblePosition afterContents = makeContainerOffsetPosition(&element, element.countChildNodes()); 343 343 if (afterContents.isNull()) 344 344 return; -
trunk/Source/WebCore/editing/markup.cpp
r266487 r267363 936 936 String serializePreservingVisualAppearance(const SimpleRange& range, Vector<Node*>* nodes, AnnotateForInterchange annotate, ConvertBlocksToInlines convertBlocksToInlines, ResolveURLs resolveURLs) 937 937 { 938 return serializePreservingVisualAppearanceInternal( createLegacyEditingPosition(range.start), createLegacyEditingPosition(range.end),938 return serializePreservingVisualAppearanceInternal(makeDeprecatedLegacyPosition(range.start), makeDeprecatedLegacyPosition(range.end), 939 939 nodes, resolveURLs, SerializeComposedTree::No, 940 940 annotate, convertBlocksToInlines, StandardFontFamilySerializationMode::Keep, MSOListMode::DoNotPreserve); … … 1115 1115 static bool contextPreservesNewline(const SimpleRange& context) 1116 1116 { 1117 auto container = VisiblePosition( createLegacyEditingPosition(context.start)).deepEquivalent().containerNode();1117 auto container = VisiblePosition(makeDeprecatedLegacyPosition(context.start)).deepEquivalent().containerNode(); 1118 1118 return container && container->renderer() && container->renderer()->style().preserveNewline(); 1119 1119 } … … 1158 1158 1159 1159 // Break string into paragraphs. Extra line breaks turn into empty paragraphs. 1160 auto start = createLegacyEditingPosition(context.start);1160 auto start = makeDeprecatedLegacyPosition(context.start); 1161 1161 auto block = enclosingBlock(start.firstNode().get()); 1162 1162 bool useClonesOfEnclosingBlock = block -
trunk/Source/WebCore/page/DragController.cpp
r266295 r267363 1491 1491 1492 1492 frame->selection().clear(); 1493 caretController.setCaretPosition( createLegacyEditingPosition(m_droppedImagePlaceholderRange->start));1493 caretController.setCaretPosition(makeDeprecatedLegacyPosition(m_droppedImagePlaceholderRange->start)); 1494 1494 } 1495 1495 -
trunk/Source/WebCore/page/Page.cpp
r267254 r267363 896 896 897 897 for (auto& range : rangesToReplace) { 898 auto highestRoot = makeRefPtr(highestEditableRoot( createLegacyEditingPosition(range.start)));899 if (!highestRoot || highestRoot != highestEditableRoot( createLegacyEditingPosition(range.end)) || !highestRoot->document().frame())898 auto highestRoot = makeRefPtr(highestEditableRoot(makeDeprecatedLegacyPosition(range.start))); 899 if (!highestRoot || highestRoot != highestEditableRoot(makeDeprecatedLegacyPosition(range.end)) || !highestRoot->document().frame()) 900 900 continue; 901 901 auto scope = makeRangeSelectingNodeContents(*highestRoot); -
trunk/Source/WebCore/page/ios/FrameIOS.mm
r266557 r267363 741 741 interpretations.grow(interpretationsCount); 742 742 743 Position precedingTextStartPosition = createLegacyEditingPosition(root, 0);743 Position precedingTextStartPosition = makeDeprecatedLegacyPosition(root, 0); 744 744 745 745 unsigned combinationsSoFar = 1; … … 771 771 combinationsSoFar *= interpretationsCountForCurrentMarker; 772 772 773 precedingTextStartPosition = createLegacyEditingPosition(rangeForMarker.end);773 precedingTextStartPosition = makeDeprecatedLegacyPosition(rangeForMarker.end); 774 774 } 775 775 } -
trunk/Source/WebCore/platform/DragImage.cpp
r265228 r267363 161 161 162 162 // To snapshot the range, temporarily select it and take selection snapshot. 163 Position start = createLegacyEditingPosition(range.start);163 Position start = makeDeprecatedLegacyPosition(range.start); 164 164 Position candidate = start.downstream(); 165 165 if (candidate.deprecatedNode() && candidate.deprecatedNode()->renderer()) 166 166 start = candidate; 167 167 168 Position end = createLegacyEditingPosition(range.end);168 Position end = makeDeprecatedLegacyPosition(range.end); 169 169 candidate = end.upstream(); 170 170 if (candidate.deprecatedNode() && candidate.deprecatedNode()->renderer()) -
trunk/Source/WebCore/rendering/RenderBlockFlow.cpp
r266557 r267363 3406 3406 3407 3407 if (!box->renderer().nonPseudoNode()) 3408 return createLegacyEditingPosition(nonPseudoElement(), start ? caretMinOffset() : caretMaxOffset());3408 return makeDeprecatedLegacyPosition(nonPseudoElement(), start ? caretMinOffset() : caretMaxOffset()); 3409 3409 3410 3410 if (!is<InlineTextBox>(*box)) 3411 return createLegacyEditingPosition(box->renderer().nonPseudoNode(), start ? box->renderer().caretMinOffset() : box->renderer().caretMaxOffset());3411 return makeDeprecatedLegacyPosition(box->renderer().nonPseudoNode(), start ? box->renderer().caretMinOffset() : box->renderer().caretMaxOffset()); 3412 3412 3413 3413 auto& textBox = downcast<InlineTextBox>(*box); 3414 return createLegacyEditingPosition(textBox.renderer().nonPseudoNode(), start ? textBox.start() : textBox.start() + textBox.len());3414 return makeDeprecatedLegacyPosition(textBox.renderer().nonPseudoNode(), start ? textBox.start() : textBox.start() + textBox.len()); 3415 3415 } 3416 3416 -
trunk/Source/WebCore/rendering/RenderObject.cpp
r266557 r267363 1672 1672 if (!node->hasEditableStyle()) { 1673 1673 // If it can be found, we prefer a visually equivalent position that is editable. 1674 Position position = createLegacyEditingPosition(node, offset);1674 Position position = makeDeprecatedLegacyPosition(node, offset); 1675 1675 Position candidate = position.downstream(CanCrossEditingBoundary); 1676 1676 if (candidate.deprecatedNode()->hasEditableStyle()) … … 1681 1681 } 1682 1682 // FIXME: Eliminate legacy editing positions 1683 return VisiblePosition( createLegacyEditingPosition(node, offset), affinity);1683 return VisiblePosition(makeDeprecatedLegacyPosition(node, offset), affinity); 1684 1684 } 1685 1685 … … 2149 2149 // extends all the way to include the <br>. VisiblePosition helps to 2150 2150 // figure this out. 2151 if (is<HTMLBRElement>(VisiblePosition( createLegacyEditingPosition(range.end)).deepEquivalent().firstNode()))2151 if (is<HTMLBRElement>(VisiblePosition(makeContainerOffsetPosition(range.end)).deepEquivalent().firstNode())) 2152 2152 rects.last().setIsLineBreak(true); 2153 2153 } -
trunk/Source/WebCore/testing/Internals.cpp
r267249 r267363 4005 4005 { 4006 4006 contextDocument()->frame()->selection().moveTo( 4007 VisiblePosition { createLegacyEditingPosition(baseNode.ptr(), baseOffset) },4008 VisiblePosition { createLegacyEditingPosition(extentNode.get(), extentOffset) });4007 VisiblePosition { makeDeprecatedLegacyPosition(baseNode.ptr(), baseOffset) }, 4008 VisiblePosition { makeDeprecatedLegacyPosition(extentNode.get(), extentOffset) }); 4009 4009 } 4010 4010 -
trunk/Source/WebKit/ChangeLog
r267359 r267363 1 2020-09-20 Darin Adler <darin@apple.com> 2 3 Next step towards eliminating deprecated legacy positions 4 https://bugs.webkit.org/show_bug.cgi?id=216751 5 6 Reviewed by Sam Weinig. 7 8 * WebProcess/WebPage/ios/WebPageIOS.mm: 9 (WebKit::WebPage::selectWithGesture): 10 (WebKit::WebPage::extendSelection): 11 (WebKit::WebPage::updateSelectionWithExtentPointAndBoundary): 12 (WebKit::WebPage::requestAutocorrectionData): 13 (WebKit::WebPage::applyAutocorrectionInternal): 14 (WebKit::focusedElementPositionInformation): 15 (WebKit::dataDetectorLinkPositionInformation): 16 (WebKit::WebPage::requestDocumentEditingContext): 17 Replaced calls to createLegacyEditingPosition with calls to 18 makeDeprecatedLegacyPosition or makeContainerOffsetPosition. 19 1 20 2020-09-21 Wenson Hsieh <wenson_hsieh@apple.com> 2 21 -
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
r266557 r267363 1362 1362 break; 1363 1363 auto markedRange = frame.editor().compositionRange(); 1364 auto startPosition = VisiblePosition { createLegacyEditingPosition(markedRange->start) };1365 position = std::clamp(position, startPosition, VisiblePosition { createLegacyEditingPosition(markedRange->end) });1364 auto startPosition = VisiblePosition { makeDeprecatedLegacyPosition(markedRange->start) }; 1365 position = std::clamp(position, startPosition, VisiblePosition { makeDeprecatedLegacyPosition(markedRange->end) }); 1366 1366 if (wkGestureState != GestureRecognizerState::Began) 1367 1367 flags = distanceBetweenPositions(startPosition, frame.selection().selection().start()) != distanceBetweenPositions(startPosition, position) ? PhraseBoundaryChanged : OptionSet<SelectionFlags> { }; … … 1394 1394 if (m_startingGestureRange) { 1395 1395 auto& start = m_startingGestureRange->start; 1396 if ( createLegacyEditingPosition(start) < position)1396 if (makeDeprecatedLegacyPosition(start) < position) 1397 1397 range = makeSimpleRange(start, position); 1398 1398 else … … 1426 1426 break; 1427 1427 range = m_currentWordRange; 1428 if (position < createLegacyEditingPosition(range->start))1428 if (position < makeDeprecatedLegacyPosition(range->start)) 1429 1429 range->start = *makeBoundaryPoint(position); 1430 if (position > createLegacyEditingPosition(range->end))1430 if (position > makeDeprecatedLegacyPosition(range->end)) 1431 1431 range->end = *makeBoundaryPoint(position); 1432 1432 break; … … 1769 1769 bool shouldDispatchMouseEvents = shouldDispatchSyntheticMouseEventsWhenModifyingSelection(); 1770 1770 if (shouldDispatchMouseEvents) { 1771 auto startLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition( createLegacyEditingPosition(wordRange->start)).absoluteCaretBounds()).center();1772 endLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition( createLegacyEditingPosition(wordRange->end)).absoluteCaretBounds()).center();1771 auto startLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition(makeDeprecatedLegacyPosition(wordRange->start)).absoluteCaretBounds()).center(); 1772 endLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition(makeDeprecatedLegacyPosition(wordRange->end)).absoluteCaretBounds()).center(); 1773 1773 dispatchSyntheticMouseEventsForSelectionGesture(SelectionTouch::Started, startLocationForSyntheticMouseEvents); 1774 1774 dispatchSyntheticMouseEventsForSelectionGesture(SelectionTouch::Moved, endLocationForSyntheticMouseEvents); … … 2145 2145 } 2146 2146 2147 auto initialSelectionStartPosition = createLegacyEditingPosition(m_initialSelection->start);2148 auto initialSelectionEndPosition = createLegacyEditingPosition(m_initialSelection->end);2147 auto initialSelectionStartPosition = makeDeprecatedLegacyPosition(m_initialSelection->start); 2148 auto initialSelectionEndPosition = makeDeprecatedLegacyPosition(m_initialSelection->end); 2149 2149 2150 2150 VisiblePosition selectionStart = initialSelectionStartPosition; 2151 2151 VisiblePosition selectionEnd = initialSelectionEndPosition; 2152 2152 if (position > initialSelectionEndPosition) 2153 selectionEnd = createLegacyEditingPosition(newRange->end);2153 selectionEnd = makeDeprecatedLegacyPosition(newRange->end); 2154 2154 else if (position < initialSelectionStartPosition) 2155 selectionStart = createLegacyEditingPosition(newRange->start);2155 selectionStart = makeDeprecatedLegacyPosition(newRange->start); 2156 2156 2157 2157 if (auto range = makeSimpleRange(selectionStart, selectionEnd)) … … 2306 2306 const unsigned maxSearchAttempts = 5; 2307 2307 for (size_t i = 0; i < maxSearchAttempts && textForRange != textForAutocorrection; ++i) { 2308 auto position = createLegacyEditingPosition(range->start).previous();2309 if (position.isNull() || position == createLegacyEditingPosition(range->start))2308 auto position = makeDeprecatedLegacyPosition(range->start).previous(); 2309 if (position.isNull() || position == makeDeprecatedLegacyPosition(range->start)) 2310 2310 break; 2311 2311 range = { { wordRangeFromPosition(position)->start, range->end } }; … … 2413 2413 auto affinity = Affinity::Downstream; 2414 2414 if (range && range->collapsed()) 2415 affinity = VisiblePosition( createLegacyEditingPosition(range->start), Affinity::Upstream).affinity();2415 affinity = VisiblePosition(makeDeprecatedLegacyPosition(range->start), Affinity::Upstream).affinity(); 2416 2416 2417 2417 frame.selection().setSelectedRange(range, affinity, WebCore::FrameSelection::ShouldCloseTyping::Yes); … … 2560 2560 return; 2561 2561 2562 auto startPosition = createLegacyEditingPosition(compositionRange->start);2563 auto endPosition = createLegacyEditingPosition(compositionRange->end);2562 auto startPosition = makeDeprecatedLegacyPosition(compositionRange->start); 2563 auto endPosition = makeDeprecatedLegacyPosition(compositionRange->end); 2564 2564 if (position < startPosition) 2565 2565 position = startPosition; … … 2613 2613 2614 2614 auto range = makeRangeSelectingNodeContents(element); 2615 info.textBefore = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary( createLegacyEditingPosition(range.start),2615 info.textBefore = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary(makeDeprecatedLegacyPosition(range.start), 2616 2616 dataDetectionExtendedContextLength, SelectionDirection::Backward)); 2617 info.textAfter = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary( createLegacyEditingPosition(range.end),2617 info.textAfter = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary(makeDeprecatedLegacyPosition(range.end), 2618 2618 dataDetectionExtendedContextLength, SelectionDirection::Forward)); 2619 2619 } … … 4186 4186 return; 4187 4187 } 4188 auto midpoint = createLegacyEditingPosition(resolveCharacterLocation(scope, midpointLocation.unsafeGet()));4188 auto midpoint = makeDeprecatedLegacyPosition(resolveCharacterLocation(scope, midpointLocation.unsafeGet())); 4189 4189 4190 4190 startOfRangeOfInterestInSelection = startOfWord(midpoint); … … 4209 4209 // In the case where the client has requested marked text rects make sure that the context 4210 4210 // range encompasses the entire marked text range so that we don't return a truncated result. 4211 auto compositionStart = createLegacyEditingPosition(compositionRange->start);4212 auto compositionEnd = createLegacyEditingPosition(compositionRange->end);4211 auto compositionStart = makeDeprecatedLegacyPosition(compositionRange->start); 4212 auto compositionEnd = makeDeprecatedLegacyPosition(compositionRange->end); 4213 4213 if (contextBeforeStart > compositionStart) 4214 4214 contextBeforeStart = compositionStart; … … 4230 4230 context.contextAfter = makeString(endOfRangeOfInterestInSelection, contextAfterEnd); 4231 4231 if (compositionRange && intersects(rangeOfInterest, *compositionRange)) { 4232 VisiblePosition compositionStart( createLegacyEditingPosition(compositionRange->start));4233 VisiblePosition compositionEnd( createLegacyEditingPosition(compositionRange->end));4232 VisiblePosition compositionStart(makeDeprecatedLegacyPosition(compositionRange->start)); 4233 VisiblePosition compositionEnd(makeDeprecatedLegacyPosition(compositionRange->end)); 4234 4234 context.markedText = makeString(compositionStart, compositionEnd); 4235 4235 context.selectedRangeInMarkedText.location = distanceBetweenPositions(startOfRangeOfInterestInSelection, compositionStart); -
trunk/Source/WebKitLegacy/ios/ChangeLog
r266557 r267363 1 2020-09-20 Darin Adler <darin@apple.com> 2 3 Next step towards eliminating deprecated legacy positions 4 https://bugs.webkit.org/show_bug.cgi?id=216751 5 6 Reviewed by Sam Weinig. 7 8 * WebCoreSupport/WebVisiblePosition.mm: 9 (-[DOMNode startPosition]): 10 (-[DOMNode endPosition]): 11 Replaced calls to createLegacyEditingPosition with calls to 12 makeDeprecatedLegacyPosition or makeContainerOffsetPosition. 13 1 14 2020-09-02 Darin Adler <darin@apple.com> 2 15 -
trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebVisiblePosition.mm
r266557 r267363 499 499 auto& node = *core(self); 500 500 if (node.isContentEditable()) 501 return [WebVisiblePosition _wrapVisiblePosition:startOfEditableContent(VisiblePosition( createLegacyEditingPosition(&node, 0)))];501 return [WebVisiblePosition _wrapVisiblePosition:startOfEditableContent(VisiblePosition(makeDeprecatedLegacyPosition(&node, 0)))]; 502 502 return [[self rangeOfContents] startPosition]; 503 503 } … … 508 508 auto& node = *core(self); 509 509 if (node.isContentEditable()) 510 return [WebVisiblePosition _wrapVisiblePosition:endOfEditableContent(VisiblePosition( createLegacyEditingPosition(&node, 0)))];510 return [WebVisiblePosition _wrapVisiblePosition:endOfEditableContent(VisiblePosition(makeDeprecatedLegacyPosition(&node, 0)))]; 511 511 return [[self rangeOfContents] endPosition]; 512 512 } -
trunk/Source/WebKitLegacy/mac/ChangeLog
r267222 r267363 1 2020-09-20 Darin Adler <darin@apple.com> 2 3 Next step towards eliminating deprecated legacy positions 4 https://bugs.webkit.org/show_bug.cgi?id=216751 5 6 Reviewed by Sam Weinig. 7 8 * DOM/DOMUIKitExtensions.mm: 9 (-[DOMNode rangeOfContainingParagraph]): 10 * WebView/WebFrame.mm: 11 (-[WebFrame spaceFollowsWordInRange:]): 12 (-[WebFrame caretRectAtNode:offset:affinity:]): 13 (-[WebFrame focusedNodeHasContent]): 14 Replaced calls to createLegacyEditingPosition with calls to 15 makeDeprecatedLegacyPosition or makeContainerOffsetPosition. 16 1 17 2020-09-17 Sam Weinig <weinig@apple.com> 2 18 -
trunk/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm
r266557 r267363 224 224 - (DOMRange *)rangeOfContainingParagraph 225 225 { 226 VisiblePosition position( createLegacyEditingPosition(core(self), 0));226 VisiblePosition position(makeContainerOffsetPosition(core(self), 0)); 227 227 return kit(makeSimpleRange(startOfParagraph(position), endOfParagraph(position))); 228 228 } -
trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm
r266557 r267363 1559 1559 - (BOOL)spaceFollowsWordInRange:(DOMRange *)range 1560 1560 { 1561 return range && isSpaceOrNewline(WebCore::VisiblePosition( createLegacyEditingPosition(makeSimpleRange(core(range))->end)).characterAfter());1561 return range && isSpaceOrNewline(WebCore::VisiblePosition(makeDeprecatedLegacyPosition(makeSimpleRange(core(range))->end)).characterAfter()); 1562 1562 } 1563 1563 … … 1805 1805 - (NSRect)caretRectAtNode:(DOMNode *)node offset:(int)offset affinity:(NSSelectionAffinity)affinity 1806 1806 { 1807 return [self _caretRectAtPosition: createLegacyEditingPosition(core(node), offset) affinity:affinity];1807 return [self _caretRectAtPosition:makeDeprecatedLegacyPosition(core(node), offset) affinity:affinity]; 1808 1808 } 1809 1809 … … 2303 2303 return NO; 2304 2304 2305 WebCore::VisiblePosition first( createLegacyEditingPosition(root, 0));2306 WebCore::VisiblePosition last( createLegacyEditingPosition(root, root->countChildNodes()));2305 WebCore::VisiblePosition first(makeContainerOffsetPosition(root, 0)); 2306 WebCore::VisiblePosition last(makeContainerOffsetPosition(root, root->countChildNodes())); 2307 2307 return first != last; 2308 2308 }
Note:
See TracChangeset
for help on using the changeset viewer.