Diff
Modified: trunk/Source/WebCore/ChangeLog (267362 => 267363)
--- trunk/Source/WebCore/ChangeLog 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/ChangeLog 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1,5 +1,125 @@
2020-09-20 Darin Adler <[email protected]>
+ Next step towards eliminating deprecated legacy positions
+ https://bugs.webkit.org/show_bug.cgi?id=216751
+
+ Reviewed by Sam Weinig.
+
+ Eliminating our old deprecated legacy editing positions is probably a relatively long
+ road. This next step starts using the makeContainerOffsetPosition function in more
+ places, requesting that we not use any of the deprecated legacy position logic. Also
+ renames createLegacyEditingPosition to makeDeprecatedLegacyPosition. The hard part of
+ this project will be removing code that is not inside Position that depends on the old
+ style of position/offset pairs. For this patch, tried to stick to converting cases
+ where it seems clear we don't depend on the legacy behavior. Flaw in that is that we
+ might still depend on legacy behavior where it's unconditionally implemented, without
+ checking the flag on the m_isLegacyEditingPosition Position class; that will be a
+ problem long term, should not be in this patch.
+
+ * dom/Position.h:
+ (WebCore::createLegacyEditingPosition): Deleted.
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
+ (WebCore::AXObjectCache::rangeMatchesTextNearRange):
+ (WebCore::AXObjectCache::visiblePositionFromCharacterOffset):
+ (WebCore::AXObjectCache::localCaretRectForCharacterOffset):
+ (WebCore::AXObjectCache::indexForCharacterOffset):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::stringForRange const):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::linkClickPoint):
+ (WebCore::AccessibilityRenderObject::setSelectedTextRange):
+ (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+ (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+ (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
+ * dom/Position.cpp:
+ (WebCore::Position::previous const):
+ (WebCore::Position::next const):
+ (WebCore::Position::downstream const):
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::operator Position const):
+ * dom/Range.cpp:
+ (WebCore::Range::expand):
+ * editing/AlternativeTextController.cpp:
+ (WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
+ (WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
+ (WebCore::AlternativeTextController::applyAlternativeTextToRange):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyBlockStyle):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::moveParagraphs):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete):
+ * editing/Editing.cpp:
+ (WebCore::visiblePositionForIndex):
+ (WebCore::visiblePositionForIndexUsingCharacterIterator):
+ (WebCore::isNodeVisiblyContainedWithin):
+ * editing/Editor.cpp:
+ (WebCore::Editor::canDeleteRange const):
+ (WebCore::Editor::selectComposition):
+ (WebCore::Editor::advanceToNextMisspelling):
+ (WebCore::Editor::markAndReplaceFor):
+ (WebCore::Editor::firstRectForRange const):
+ (WebCore::extendSelection):
+ (WebCore::Editor::adjustedSelectionRange):
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::elementRangeContainingCaretSelection const):
+ * editing/InsertListCommand.cpp:
+ (WebCore::InsertListCommand::doApplyForSingleParagraph):
+ * editing/RenderedPosition.cpp:
+ (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun const):
+ (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun const):
+ * editing/TextCheckingHelper.cpp:
+ (WebCore::expandToParagraphBoundary):
+ (WebCore::TextCheckingParagraph::expandRangeToNextEnd):
+ (WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const):
+ * editing/TextIterator.cpp:
+ (WebCore::resolveCharacterRange):
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::leftVisuallyDistinctCandidate const):
+ (WebCore::VisiblePosition::rightVisuallyDistinctCandidate const):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::appendTrailingWhitespace):
+ * editing/VisibleUnits.cpp:
+ (WebCore::previousRootInlineBoxCandidatePosition):
+ (WebCore::nextRootInlineBoxCandidatePosition):
+ (WebCore::previousBoundary):
+ (WebCore::nextBoundary):
+ (WebCore::startOfDocument):
+ (WebCore::endOfDocument):
+ (WebCore::closestWordBoundaryForPosition):
+ (WebCore::wordBoundaryForPositionWithoutCrossingLine):
+ * editing/cocoa/HTMLConverter.mm:
+ (HTMLConverter::HTMLConverter):
+ * editing/ios/EditorIOS.mm:
+ (WebCore::Editor::setTextAsChildOfElement):
+ * editing/markup.cpp:
+ (WebCore::serializePreservingVisualAppearance):
+ (WebCore::contextPreservesNewline):
+ (WebCore::createFragmentFromText):
+ * page/DragController.cpp:
+ (WebCore::DragController::insertDroppedImagePlaceholdersAtCaret):
+ * page/Page.cpp:
+ (WebCore::Page::replaceRangesWithText):
+ * page/ios/FrameIOS.mm:
+ (WebCore::Frame::interpretationsForCurrentRoot const):
+ * platform/DragImage.cpp:
+ (WebCore::createDragImageForRange):
+ * rendering/RenderBlockFlow.cpp:
+ (WebCore::RenderBlockFlow::positionForBox const):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createVisiblePosition const):
+ (WebCore::RenderObject::collectSelectionRectsInternal):
+ * testing/Internals.cpp:
+ (WebCore::Internals::setSelectionWithoutValidation):
+ Replaced calls to createLegacyEditingPosition with calls to
+ makeDeprecatedLegacyPosition or makeContainerOffsetPosition.
+
+2020-09-20 Darin Adler <[email protected]>
+
Selection API: A few more refinements to DOMSelection and VisibleSelection to pass all WPT tests
https://bugs.webkit.org/show_bug.cgi?id=216756
Modified: trunk/Source/WebCore/accessibility/AXObjectCache.cpp (267362 => 267363)
--- trunk/Source/WebCore/accessibility/AXObjectCache.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/accessibility/AXObjectCache.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1817,8 +1817,7 @@
if (!isNodeInUse(textMarkerData.node))
return VisiblePosition();
- // FIXME: Accessability should make it clear these are DOM-compliant offsets or store Position objects.
- VisiblePosition visiblePos = VisiblePosition(createLegacyEditingPosition(textMarkerData.node, textMarkerData.offset), textMarkerData.affinity);
+ VisiblePosition visiblePos = VisiblePosition(makeContainerOffsetPosition(textMarkerData.node, textMarkerData.offset), textMarkerData.affinity);
Position deepPos = visiblePos.deepEquivalent();
if (deepPos.isNull())
return VisiblePosition();
@@ -2002,8 +2001,8 @@
{
// Create a large enough range for searching the text within.
unsigned textLength = matchText.length();
- auto startPosition = visiblePositionForPositionWithOffset(createLegacyEditingPosition(originalRange.start), -textLength);
- auto endPosition = visiblePositionForPositionWithOffset(createLegacyEditingPosition(originalRange.start), 2 * textLength);
+ auto startPosition = visiblePositionForPositionWithOffset(makeContainerOffsetPosition(originalRange.start), -textLength);
+ auto endPosition = visiblePositionForPositionWithOffset(makeContainerOffsetPosition(originalRange.start), 2 * textLength);
if (startPosition.isNull())
startPosition = firstPositionInOrBeforeNode(originalRange.start.container.ptr());
if (endPosition.isNull())
@@ -2318,7 +2317,7 @@
auto range = rangeForUnorderedCharacterOffsets(characterOffset, characterOffset);
if (!range)
return { };
- return createLegacyEditingPosition(range->start);
+ return makeContainerOffsetPosition(range->start);
}
CharacterOffset AXObjectCache::characterOffsetFromVisiblePosition(const VisiblePosition& visiblePos)
@@ -2871,7 +2870,7 @@
if (!range)
return IntRect();
- auto [inlineBox, caretOffset] = createLegacyEditingPosition(range->start).inlineBoxAndOffset(Affinity::Downstream);
+ auto [inlineBox, caretOffset] = makeContainerOffsetPosition(range->start).inlineBoxAndOffset(Affinity::Downstream);
if (inlineBox)
renderer = &inlineBox->renderer();
@@ -3005,7 +3004,7 @@
auto range = rangeForUnorderedCharacterOffsets(characterOffset, characterOffset);
if (!range)
return 0;
- return obj->indexForVisiblePosition(createLegacyEditingPosition(range->start));
+ return obj->indexForVisiblePosition(makeContainerOffsetPosition(range->start));
}
const Element* AXObjectCache::rootAXEditableElement(const Node* node)
Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (267362 => 267363)
--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1237,7 +1237,7 @@
// Don't add list marker text for new line character.
if (it.text().length() != 1 || !isSpaceOrNewline(it.text()[0])) {
// FIXME: Seems like the position should be based on it.range(), not range.
- builder.append(listMarkerTextForNodeAndPosition(it.node(), VisiblePosition(createLegacyEditingPosition(range.start))));
+ builder.append(listMarkerTextForNodeAndPosition(it.node(), VisiblePosition(makeDeprecatedLegacyPosition(range.start))));
}
it.appendTextToStringBuilder(builder);
} else {
Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (267362 => 267363)
--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -920,7 +920,7 @@
Hence, return the middle point of the first character in the link if exists.
*/
if (auto range = elementRange()) {
- auto start = VisiblePosition { createLegacyEditingPosition(range->start) };
+ auto start = VisiblePosition { makeContainerOffsetPosition(range->start) };
auto end = nextVisiblePosition(start);
if (isPointInRange(*range, makeBoundaryPoint(end)))
return { boundsForRange(*makeSimpleRange(start, end)).center() };
@@ -1654,10 +1654,10 @@
auto elementRange = this->elementRange();
auto start = visiblePositionForIndexUsingCharacterIterator(node, range.start);
if (!isPointInRange(*elementRange, makeBoundaryPoint(start)))
- start = createLegacyEditingPosition(elementRange->start);
+ start = makeContainerOffsetPosition(elementRange->start);
auto end = visiblePositionForIndexUsingCharacterIterator(node, range.start + range.length);
if (!isPointInRange(*elementRange, makeBoundaryPoint(end)))
- end = createLegacyEditingPosition(elementRange->start);
+ end = makeContainerOffsetPosition(elementRange->start);
m_renderer->frame().selection().setSelection(VisibleSelection(start, end), FrameSelection::defaultSetSelectionOptions(UserTriggered));
}
@@ -2208,7 +2208,7 @@
auto start = range.start;
if (auto elementRange = this->elementRange()) {
if (!isPointInRange(*elementRange, makeBoundaryPoint(start)))
- start = createLegacyEditingPosition(elementRange->start);
+ start = makeContainerOffsetPosition(elementRange->start);
}
m_renderer->frame().selection().moveTo(start, UserTriggered);
Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (267362 => 267363)
--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -2320,7 +2320,7 @@
if ([self _addAccessibilityObject:headingObject toTextMarkerArray:array])
continue;
- String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, VisiblePosition(createLegacyEditingPosition(it.range().start)));
+ String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, makeContainerOffsetPosition(it.range().start));
if (!listMarkerText.isEmpty())
[array addObject:listMarkerText];
@@ -2327,7 +2327,7 @@
// There was not an element representation, so just return the text.
[array addObject:it.text().createNSString().get()];
} else {
- String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, VisiblePosition(createLegacyEditingPosition(it.range().start)));
+ String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, makeContainerOffsetPosition(it.range().start));
if (!listMarkerText.isEmpty()) {
NSMutableAttributedString* attrString = [[NSMutableAttributedString alloc] init];
Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (267362 => 267363)
--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1254,7 +1254,7 @@
// non-zero length means textual node, zero length means replaced node (AKA "attachments" in AX)
if (it.text().length()) {
// Add the text of the list marker item if necessary.
- String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, VisiblePosition(createLegacyEditingPosition(it.range().start)));
+ String listMarkerText = AccessibilityObject::listMarkerTextForNodeAndPosition(&node, makeContainerOffsetPosition(it.range().start));
if (!listMarkerText.isEmpty())
AXAttributedStringAppendText(attrString.get(), &node, listMarkerText, spellCheck);
AXAttributedStringAppendText(attrString.get(), &node, it.text(), spellCheck);
Modified: trunk/Source/WebCore/dom/Position.cpp (267362 => 267363)
--- trunk/Source/WebCore/dom/Position.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/dom/Position.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -372,7 +372,7 @@
if (previousSibling && positionBeforeOrAfterNodeIsCandidate(*previousSibling))
return positionAfterNode(previousSibling);
- return makeDeprecatedLegacyPosition(parent, node->computeNodeIndex());
+ return makeContainerOffsetPosition(parent, node->computeNodeIndex());
}
Position Position::next(PositionMoveType moveType) const
@@ -420,7 +420,7 @@
if (nextSibling && positionBeforeOrAfterNodeIsCandidate(*nextSibling))
return positionBeforeNode(nextSibling);
- return makeDeprecatedLegacyPosition(parent, node->computeNodeIndex() + 1);
+ return makeContainerOffsetPosition(parent, node->computeNodeIndex() + 1);
}
int Position::uncheckedPreviousOffset(const Node* n, unsigned current)
@@ -841,7 +841,7 @@
if (¤tNode != startNode) {
ASSERT(currentPosition.atStartOfNode());
- return makeDeprecatedLegacyPosition(¤tNode, textRenderer.caretMinOffset());
+ return makeContainerOffsetPosition(¤tNode, textRenderer.caretMinOffset());
}
unsigned textOffset = currentPosition.offsetInLeafNode();
Modified: trunk/Source/WebCore/dom/Position.h (267362 => 267363)
--- trunk/Source/WebCore/dom/Position.h 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/dom/Position.h 2020-09-21 20:28:24 UTC (rev 267363)
@@ -349,18 +349,6 @@
return offset < currentOffset;
}
-// FIXME: Delete this after changing all callers to use the makeDeprecatedLegacyPosition name.
-inline Position createLegacyEditingPosition(Node* node, unsigned offset)
-{
- return makeDeprecatedLegacyPosition(node, offset);
-}
-
-// FIXME: Delete this after changing all callers to use the makeDeprecatedLegacyPosition name.
-inline Position createLegacyEditingPosition(const BoundaryPoint& point)
-{
- return makeDeprecatedLegacyPosition(point);
-}
-
} // namespace WebCore
#if ENABLE(TREE_DEBUGGING)
Modified: trunk/Source/WebCore/dom/PositionIterator.cpp (267362 => 267363)
--- trunk/Source/WebCore/dom/PositionIterator.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/dom/PositionIterator.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -51,7 +51,7 @@
return atStartOfNode() ? positionBeforeNode(m_anchorNode) : positionAfterNode(m_anchorNode);
if (m_anchorNode->hasChildNodes())
return lastPositionInOrAfterNode(m_anchorNode);
- return createLegacyEditingPosition(m_anchorNode, m_offsetInAnchor);
+ return makeDeprecatedLegacyPosition(m_anchorNode, m_offsetInAnchor);
}
void PositionIterator::increment()
Modified: trunk/Source/WebCore/dom/Range.cpp (267362 => 267363)
--- trunk/Source/WebCore/dom/Range.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/dom/Range.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -993,8 +993,8 @@
ExceptionOr<void> Range::expand(const String& unit)
{
- auto start = VisiblePosition { makeDeprecatedLegacyPosition(&startContainer(), startOffset()) };
- auto end = VisiblePosition { makeDeprecatedLegacyPosition(&endContainer(), endOffset()) };
+ auto start = VisiblePosition { makeContainerOffsetPosition(&startContainer(), startOffset()) };
+ auto end = VisiblePosition { makeContainerOffsetPosition(&endContainer(), endOffset()) };
if (unit == "word") {
start = startOfWord(start);
end = endOfWord(end);
Modified: trunk/Source/WebCore/editing/AlternativeTextController.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/AlternativeTextController.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/AlternativeTextController.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -206,13 +206,13 @@
Position caretPosition = m_document.selection().selection().start();
- if (createLegacyEditingPosition(m_rangeWithAlternative->end) == caretPosition) {
+ if (makeDeprecatedLegacyPosition(m_rangeWithAlternative->end) == caretPosition) {
handleAlternativeTextUIResult(dismissSoon(ReasonForDismissingAlternativeTextAccepted));
return true;
}
// 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.
- ASSERT(createLegacyEditingPosition(m_rangeWithAlternative->end) == caretPosition);
+ ASSERT(makeDeprecatedLegacyPosition(m_rangeWithAlternative->end) == caretPosition);
dismiss(ReasonForDismissingAlternativeTextIgnored);
return false;
}
@@ -517,7 +517,7 @@
if (markers.hasMarkers(rangeWithAlternative, DocumentMarker::AcceptedCandidate))
return false;
- auto precedingCharacterRange = makeSimpleRange(createLegacyEditingPosition(rangeWithAlternative.start).previous(), rangeWithAlternative.start);
+ auto precedingCharacterRange = makeSimpleRange(makeDeprecatedLegacyPosition(rangeWithAlternative.start).previous(), rangeWithAlternative.start);
if (!precedingCharacterRange)
return false;
@@ -599,7 +599,7 @@
// of the containing paragraph.
// Take note of the location of autocorrection so that we can add marker after the replacement took place.
- auto paragraphStart = makeBoundaryPoint(startOfParagraph(createLegacyEditingPosition(range.start)));
+ auto paragraphStart = makeBoundaryPoint(startOfParagraph(makeDeprecatedLegacyPosition(range.start)));
if (!paragraphStart)
return;
auto treeScopeRoot = makeRef(range.start.container->treeScope().rootNode());
Modified: trunk/Source/WebCore/editing/ApplyStyleCommand.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/ApplyStyleCommand.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/ApplyStyleCommand.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -279,8 +279,8 @@
nextParagraphStart = endOfParagraph(paragraphStart).next();
}
- auto startPosition = createLegacyEditingPosition(resolveCharacterLocation(scope, startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
- auto endPosition = createLegacyEditingPosition(resolveCharacterLocation(scope, endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
+ auto startPosition = makeDeprecatedLegacyPosition(resolveCharacterLocation(scope, startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
+ auto endPosition = makeDeprecatedLegacyPosition(resolveCharacterLocation(scope, endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
updateStartEnd(startPosition, endPosition);
}
Modified: trunk/Source/WebCore/editing/CompositeEditCommand.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/CompositeEditCommand.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/CompositeEditCommand.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1502,8 +1502,8 @@
// causes spaces to be collapsed during the move operation. This results
// in a call to rangeFromLocationAndLength with a location past the end
// of the document (which will return null).
- auto start = createLegacyEditingPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
- auto end = createLegacyEditingPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
+ auto start = makeDeprecatedLegacyPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *startIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
+ auto end = makeDeprecatedLegacyPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*editableRoot), destinationIndex + *endIndex, TextIteratorEmitsCharactersBetweenAllVisiblePositions));
setEndingSelection({ start, end, Affinity::Downstream, originalIsDirectional });
}
}
Modified: trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -649,7 +649,7 @@
offset = n->computeNodeIndex() + 1;
}
removeChildrenInRange(*m_downstreamEnd.deprecatedNode(), offset, m_downstreamEnd.deprecatedEditingOffset());
- m_downstreamEnd = createLegacyEditingPosition(m_downstreamEnd.deprecatedNode(), offset);
+ m_downstreamEnd = makeDeprecatedLegacyPosition(m_downstreamEnd.deprecatedNode(), offset);
}
}
}
Modified: trunk/Source/WebCore/editing/Editing.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/Editing.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/Editing.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1091,7 +1091,7 @@
{
if (!scope)
return { };
- return { createLegacyEditingPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*scope), index, TextIteratorEmitsCharactersBetweenAllVisiblePositions)) };
+ return { makeDeprecatedLegacyPosition(resolveCharacterLocation(makeRangeSelectingNodeContents(*scope), index, TextIteratorEmitsCharactersBetweenAllVisiblePositions)) };
}
VisiblePosition visiblePositionForIndexUsingCharacterIterator(Node& node, int index)
@@ -1107,10 +1107,10 @@
// FIXME: workaround for collapsed range (where only start position is correct) emitted for some emitted newlines.
it.advance(1);
if (!it.atEnd())
- return { createLegacyEditingPosition(it.range().start) };
+ return { makeDeprecatedLegacyPosition(it.range().start) };
}
- return { createLegacyEditingPosition((it.atEnd() ? range : it.range()).end), Affinity::Upstream };
+ return { makeDeprecatedLegacyPosition((it.atEnd() ? range : it.range()).end), Affinity::Upstream };
}
// Determines whether two positions are visibly next to each other (first then second)
@@ -1127,8 +1127,8 @@
if (contains(range, node))
return true;
- auto startPosition = createLegacyEditingPosition(range.start);
- auto endPosition = createLegacyEditingPosition(range.end);
+ auto startPosition = makeDeprecatedLegacyPosition(range.start);
+ auto endPosition = makeDeprecatedLegacyPosition(range.end);
bool startIsVisuallySame = visiblePositionBeforeNode(node) == startPosition;
if (startIsVisuallySame && positionInParentAfterNode(&node) < endPosition)
Modified: trunk/Source/WebCore/editing/Editor.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/Editor.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/Editor.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -513,7 +513,7 @@
if (range.collapsed()) {
// FIXME: We sometimes allow deletions at the start of editable roots, like when the caret is in an empty list item.
- auto previous = VisiblePosition { createLegacyEditingPosition(range.start) }.previous();
+ auto previous = VisiblePosition { makeDeprecatedLegacyPosition(range.start) }.previous();
if (previous.isNull() || previous.deepEquivalent().deprecatedNode()->rootEditableElement() != range.start.container->rootEditableElement())
return false;
}
@@ -1925,7 +1925,7 @@
// The composition can start inside a composed character sequence, so we have to override checks.
// See <http://bugs.webkit.org/show_bug.cgi?id=15781>
VisibleSelection selection;
- selection.setWithoutValidation(createLegacyEditingPosition(range->start), createLegacyEditingPosition(range->end));
+ selection.setWithoutValidation(makeDeprecatedLegacyPosition(range->start), makeDeprecatedLegacyPosition(range->end));
m_document.selection().setSelection(selection, { });
}
@@ -2200,7 +2200,7 @@
spellingSearchRange.start = *makeBoundaryPoint(selection.visibleEnd());
}
- auto position = createLegacyEditingPosition(spellingSearchRange.start);
+ auto position = makeDeprecatedLegacyPosition(spellingSearchRange.start);
if (!isEditablePosition(position)) {
// This shouldn't happen in very often because the Spelling menu items aren't enabled unless the
// selection is editable.
@@ -2225,7 +2225,7 @@
// If spellingSearchRange starts in the middle of a word, advance to the next word so we start checking
// at a word boundary. Going back by one char and then forward by a word does the trick.
if (startedWithSelection) {
- auto _oneBeforeStart_ = VisiblePosition(createLegacyEditingPosition(spellingSearchRange.start)).previous();
+ auto _oneBeforeStart_ = VisiblePosition(makeContainerOffsetPosition(spellingSearchRange.start)).previous();
if (oneBeforeStart.isNotNull())
spellingSearchRange.start = *makeBoundaryPoint(endOfWord(oneBeforeStart));
// else we were already at the start of the editable node
@@ -2909,7 +2909,7 @@
extendedParagraph.expandRangeToNextEnd();
if (restoreSelectionAfterChange && selectionOffset <= extendedParagraph.rangeLength()) {
auto selectionRange = extendedParagraph.subrange({ 0, selectionOffset });
- m_document.selection().moveTo(createLegacyEditingPosition(selectionRange.end), Affinity::Downstream);
+ m_document.selection().moveTo(makeContainerOffsetPosition(selectionRange.end), Affinity::Downstream);
} else {
// If this fails for any reason, the fallback is to go one position beyond the last replacement
m_document.selection().moveTo(m_document.selection().selection().end());
@@ -3331,7 +3331,7 @@
{
range.start.document().updateLayout();
- VisiblePosition start(createLegacyEditingPosition(range.start));
+ VisiblePosition start(makeDeprecatedLegacyPosition(range.start));
if (range.collapsed()) {
// FIXME: Getting caret rect and removing caret width is a very roundabout way to get collapsed range location.
@@ -3341,7 +3341,7 @@
return startCaretRect;
}
- VisiblePosition end(createLegacyEditingPosition(range.end), Affinity::Upstream);
+ VisiblePosition end(makeDeprecatedLegacyPosition(range.end), Affinity::Upstream);
if (inSameLine(start, end))
return enclosingIntRect(unitedBoundingBoxes(RenderObject::absoluteTextQuads(range)));
@@ -3676,8 +3676,8 @@
static SimpleRange extendSelection(const SimpleRange& range, unsigned charactersToExtend)
{
- auto start = createLegacyEditingPosition(range.start);
- auto end = createLegacyEditingPosition(range.end);
+ auto start = makeDeprecatedLegacyPosition(range.start);
+ auto end = makeDeprecatedLegacyPosition(range.end);
for (unsigned i = 0; i < charactersToExtend; ++i) {
start = start.previous(Character);
end = end.next(Character);
@@ -4228,7 +4228,7 @@
auto range = selectedRange();
if (range) {
if (auto enclosingAnchor = enclosingElementWithTag(firstPositionInNode(commonInclusiveAncestor(*range).get()), HTMLNames::aTag)) {
- if (firstPositionInOrBeforeNode(range->start.container.ptr()) >= createLegacyEditingPosition(range->start))
+ if (firstPositionInOrBeforeNode(range->start.container.ptr()) >= makeDeprecatedLegacyPosition(range->start))
range->start = makeBoundaryPointBeforeNodeContents(*enclosingAnchor);
}
}
Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/FrameSelection.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -2507,8 +2507,8 @@
if (!element)
return WTF::nullopt;
- auto start = VisiblePosition(createLegacyEditingPosition(element, 0));
- auto end = VisiblePosition(createLegacyEditingPosition(element, element->countChildNodes()));
+ auto start = VisiblePosition(makeContainerOffsetPosition(element, 0));
+ auto end = VisiblePosition(makeContainerOffsetPosition(element, element->countChildNodes()));
if (start.isNull() || end.isNull())
return WTF::nullopt;
Modified: trunk/Source/WebCore/editing/InsertListCommand.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/InsertListCommand.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/InsertListCommand.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -231,8 +231,8 @@
// If the entire list is selected, then convert the whole list.
if (switchListType && isNodeVisiblyContainedWithin(*listNode, currentSelection)) {
- bool rangeStartIsInList = visiblePositionBeforeNode(*listNode) == createLegacyEditingPosition(currentSelection.start);
- bool rangeEndIsInList = visiblePositionAfterNode(*listNode) == createLegacyEditingPosition(currentSelection.end);
+ bool rangeStartIsInList = visiblePositionBeforeNode(*listNode) == makeDeprecatedLegacyPosition(currentSelection.start);
+ bool rangeEndIsInList = visiblePositionAfterNode(*listNode) == makeDeprecatedLegacyPosition(currentSelection.end);
RefPtr<HTMLElement> newList = createHTMLElement(document(), listTag);
insertNodeBefore(*newList, *listNode);
Modified: trunk/Source/WebCore/editing/RenderedPosition.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/RenderedPosition.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/RenderedPosition.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -195,9 +195,9 @@
ASSERT(atLeftBoundaryOfBidiRun());
if (atLeftmostOffsetInBox())
- return createLegacyEditingPosition(m_renderer->node(), m_offset);
+ return makeDeprecatedLegacyPosition(m_renderer->node(), m_offset);
- return createLegacyEditingPosition(nextLeafOnLine()->renderer().node(), nextLeafOnLine()->caretLeftmostOffset());
+ return makeDeprecatedLegacyPosition(nextLeafOnLine()->renderer().node(), nextLeafOnLine()->caretLeftmostOffset());
}
Position RenderedPosition::positionAtRightBoundaryOfBiDiRun() const
@@ -205,9 +205,9 @@
ASSERT(atRightBoundaryOfBidiRun());
if (atRightmostOffsetInBox())
- return createLegacyEditingPosition(m_renderer->node(), m_offset);
+ return makeDeprecatedLegacyPosition(m_renderer->node(), m_offset);
- return createLegacyEditingPosition(previousLeafOnLine()->renderer().node(), previousLeafOnLine()->caretRightmostOffset());
+ return makeDeprecatedLegacyPosition(previousLeafOnLine()->renderer().node(), previousLeafOnLine()->caretRightmostOffset());
}
IntRect RenderedPosition::absoluteRect(LayoutUnit* extraWidthToEndOfLine) const
Modified: trunk/Source/WebCore/editing/TextCheckingHelper.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/TextCheckingHelper.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/TextCheckingHelper.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -106,8 +106,8 @@
static SimpleRange expandToParagraphBoundary(const SimpleRange& range)
{
- auto start = makeBoundaryPoint(startOfParagraph(createLegacyEditingPosition(range.start)));
- auto end = makeBoundaryPoint(endOfParagraph(createLegacyEditingPosition(range.end)));
+ auto start = makeBoundaryPoint(startOfParagraph(makeDeprecatedLegacyPosition(range.start)));
+ auto end = makeBoundaryPoint(endOfParagraph(makeDeprecatedLegacyPosition(range.end)));
if (!start || !end)
return range;
return { *start, *end };
@@ -129,7 +129,7 @@
void TextCheckingParagraph::expandRangeToNextEnd()
{
paragraphRange();
- if (auto end = makeBoundaryPoint(endOfParagraph(startOfNextParagraph(createLegacyEditingPosition(m_paragraphRange->start)))))
+ if (auto end = makeBoundaryPoint(endOfParagraph(startOfNextParagraph(makeDeprecatedLegacyPosition(m_paragraphRange->start)))))
m_paragraphRange->end = WTFMove(*end);
invalidateParagraphRangeValues();
}
@@ -303,9 +303,9 @@
// Expand the search range to encompass entire paragraphs, since text checking needs that much context.
// Determine the character offset from the start of the paragraph to the start of the original search range,
// since we will want to ignore results in this area.
- auto paragraphRange = *makeSimpleRange(startOfParagraph(createLegacyEditingPosition(m_range.start)), m_range.end);
+ auto paragraphRange = *makeSimpleRange(startOfParagraph(makeDeprecatedLegacyPosition(m_range.start)), m_range.end);
auto totalRangeLength = characterCount(paragraphRange);
- paragraphRange.end = *makeBoundaryPoint(endOfParagraph(createLegacyEditingPosition(m_range.start)));
+ paragraphRange.end = *makeBoundaryPoint(endOfParagraph(makeDeprecatedLegacyPosition(m_range.start)));
auto rangeStartOffset = characterCount({ paragraphRange.start, m_range.start });
uint64_t totalLengthProcessed = 0;
@@ -317,7 +317,7 @@
auto currentLength = characterCount(paragraphRange);
uint64_t currentStartOffset = firstIteration ? rangeStartOffset : 0;
uint64_t currentEndOffset = currentLength;
- if (inSameParagraph(createLegacyEditingPosition(paragraphRange.start), createLegacyEditingPosition(m_range.end))) {
+ if (inSameParagraph(makeDeprecatedLegacyPosition(paragraphRange.start), makeDeprecatedLegacyPosition(m_range.end))) {
// Determine the character offset from the end of the original search range to the end of the paragraph,
// since we will want to ignore results in this area.
currentEndOffset = characterCount({ paragraphRange.start, m_range.end });
@@ -399,7 +399,7 @@
if (lastIteration || totalLengthProcessed + currentLength >= totalRangeLength)
break;
- auto nextStart = startOfNextParagraph(createLegacyEditingPosition(paragraphRange.end));
+ auto nextStart = startOfNextParagraph(makeDeprecatedLegacyPosition(paragraphRange.end));
auto nextParagraphRange = makeSimpleRange(nextStart, endOfParagraph(nextStart));
if (!nextParagraphRange)
break;
Modified: trunk/Source/WebCore/editing/TextIterator.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/TextIterator.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/TextIterator.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -2382,7 +2382,7 @@
if (!it.atEnd())
textRunRange.end = it.range().start;
else {
- if (auto end = makeBoundaryPoint(VisiblePosition(createLegacyEditingPosition(textRunRange.start)).next().deepEquivalent()))
+ if (auto end = makeBoundaryPoint(VisiblePosition(makeDeprecatedLegacyPosition(textRunRange.start)).next().deepEquivalent()))
textRunRange.end = *end;
}
}
Modified: trunk/Source/WebCore/editing/VisiblePosition.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/VisiblePosition.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/VisiblePosition.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -242,7 +242,7 @@
break;
}
- p = createLegacyEditingPosition(renderer->node(), offset);
+ p = makeDeprecatedLegacyPosition(renderer->node(), offset);
if ((p.isCandidate() && p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree())
return p;
@@ -408,7 +408,7 @@
break;
}
- p = createLegacyEditingPosition(renderer->node(), offset);
+ p = makeDeprecatedLegacyPosition(renderer->node(), offset);
if ((p.isCandidate() && p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree())
return p;
Modified: trunk/Source/WebCore/editing/VisibleSelection.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/VisibleSelection.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/VisibleSelection.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -212,7 +212,7 @@
UChar c = charIt.text()[0];
if ((!isSpaceOrNewline(c) && c != noBreakSpace) || c == '\n')
break;
- m_end = createLegacyEditingPosition(charIt.range().end);
+ m_end = makeDeprecatedLegacyPosition(charIt.range().end);
}
}
Modified: trunk/Source/WebCore/editing/VisibleUnits.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/VisibleUnits.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/VisibleUnits.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -90,7 +90,7 @@
break;
Position pos = previousNode->hasTagName(brTag) ? positionBeforeNode(previousNode) :
- createLegacyEditingPosition(previousNode, caretMaxOffset(*previousNode));
+ makeDeprecatedLegacyPosition(previousNode, caretMaxOffset(*previousNode));
if (pos.isCandidate())
return pos;
@@ -112,7 +112,7 @@
break;
Position pos;
- pos = createLegacyEditingPosition(nextNode, caretMinOffset(*nextNode));
+ pos = makeDeprecatedLegacyPosition(nextNode, caretMinOffset(*nextNode));
if (pos.isCandidate())
return pos;
@@ -609,12 +609,12 @@
unsigned next = backwardSearchForBoundaryWithTextIterator(it, string, suffixLength, searchFunction);
if (!next)
- return it.atEnd() ? createLegacyEditingPosition(searchRange->start) : position;
+ return it.atEnd() ? makeDeprecatedLegacyPosition(searchRange->start) : position;
auto& node = (it.atEnd() ? *searchRange : it.range()).start.container.get();
if ((!suffixLength && is<Text>(node) && next <= downcast<Text>(node).length()) || (node.renderer() && node.renderer()->isBR() && !next)) {
// The next variable contains a usable index into a text node.
- return createLegacyEditingPosition(&node, next);
+ return makeDeprecatedLegacyPosition(&node, next);
}
// Use the character iterator to translate the next value into a DOM position.
@@ -622,7 +622,7 @@
if (next < string.size() - suffixLength)
charIt.advance(string.size() - suffixLength - next);
// FIXME: charIt can get out of shadow host.
- return createLegacyEditingPosition(charIt.range().end);
+ return makeDeprecatedLegacyPosition(charIt.range().end);
}
static VisiblePosition nextBoundary(const VisiblePosition& c, BoundarySearchFunction searchFunction)
@@ -652,19 +652,19 @@
unsigned next = forwardSearchForBoundaryWithTextIterator(it, string, prefixLength, searchFunction);
if (it.atEnd() && next == string.size())
- pos = createLegacyEditingPosition(searchRange->end);
+ pos = makeDeprecatedLegacyPosition(searchRange->end);
else if (next > prefixLength) {
// Use the character iterator to translate the next value into a DOM position.
CharacterIterator charIt(*searchRange, TextIteratorEmitsCharactersBetweenAllVisiblePositions);
charIt.advance(next - prefixLength - 1);
auto characterRange = charIt.range();
- pos = createLegacyEditingPosition(characterRange.end);
+ pos = makeDeprecatedLegacyPosition(characterRange.end);
if (charIt.text()[0] == '\n') {
// FIXME: workaround for collapsed range (where only start position is correct) emitted for some emitted newlines (see rdar://5192593)
- if (VisiblePosition(pos) == VisiblePosition(createLegacyEditingPosition(characterRange.start))) {
+ if (VisiblePosition(pos) == VisiblePosition(makeDeprecatedLegacyPosition(characterRange.start))) {
charIt.advance(1);
- pos = createLegacyEditingPosition(charIt.range().start);
+ pos = makeDeprecatedLegacyPosition(charIt.range().start);
}
}
}
@@ -1432,7 +1432,7 @@
// The canonicalization of the position at (documentElement, 0) can turn the visible
// position to null, even when there's a valid candidate to be had, because the root HTML element
// is not content editable. So we construct directly from the valid candidate.
- Position firstCandidate = nextCandidate(createLegacyEditingPosition(node->document().documentElement(), 0));
+ Position firstCandidate = nextCandidate(makeDeprecatedLegacyPosition(node->document().documentElement(), 0));
if (firstCandidate.isNull())
return VisiblePosition();
return VisiblePosition(firstCandidate);
@@ -1451,7 +1451,7 @@
// (As above, in startOfDocument.) The canonicalization can reject valid visible positions
// when descending from the root element, so we construct the visible position directly from a
// valid candidate.
- Position lastPosition = createLegacyEditingPosition(node->document().documentElement(), node->document().documentElement()->countChildNodes());
+ Position lastPosition = makeDeprecatedLegacyPosition(node->document().documentElement(), node->document().documentElement()->countChildNodes());
Position lastCandidate = previousCandidate(lastPosition);
if (lastCandidate.isNull())
return VisiblePosition();
@@ -1937,9 +1937,9 @@
} else if (withinTextUnitOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Forward)) {
// The position lies within a word.
if (auto wordRange = enclosingTextUnitOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Forward)) {
- result = createLegacyEditingPosition(wordRange->start);
+ result = makeDeprecatedLegacyPosition(wordRange->start);
if (distanceBetweenPositions(position, result) > 1)
- result = createLegacyEditingPosition(wordRange->end);
+ result = makeDeprecatedLegacyPosition(wordRange->end);
}
} else if (atBoundaryOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Backward)) {
// The position is at the end of a word.
@@ -1994,9 +1994,9 @@
if (withinTextUnitOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Forward)) {
auto adjustedPosition = position;
if (auto wordRange = enclosingTextUnitOfGranularity(position, TextGranularity::WordGranularity, SelectionDirection::Forward)) {
- adjustedPosition = createLegacyEditingPosition(wordRange->start);
+ adjustedPosition = makeDeprecatedLegacyPosition(wordRange->start);
if (distanceBetweenPositions(position, adjustedPosition) > 1)
- adjustedPosition = createLegacyEditingPosition(wordRange->end);
+ adjustedPosition = makeDeprecatedLegacyPosition(wordRange->end);
}
return { adjustedPosition, WithinWordBoundary::Yes };
}
Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (267362 => 267363)
--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -352,8 +352,8 @@
};
HTMLConverter::HTMLConverter(const SimpleRange& range)
- : m_start(createLegacyEditingPosition(range.start))
- , m_end(createLegacyEditingPosition(range.end))
+ : m_start(makeContainerOffsetPosition(range.start))
+ , m_end(makeContainerOffsetPosition(range.end))
{
_attrStr = [[NSMutableAttributedString alloc] init];
_documentAttrs = [[NSMutableDictionary alloc] init];
Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (267362 => 267363)
--- trunk/Source/WebCore/editing/ios/EditorIOS.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -339,7 +339,7 @@
element.replaceAllChildrenWithNewText(text);
- VisiblePosition afterContents = createLegacyEditingPosition(&element, element.countChildNodes());
+ VisiblePosition afterContents = makeContainerOffsetPosition(&element, element.countChildNodes());
if (afterContents.isNull())
return;
m_document.selection().setSelection(afterContents);
Modified: trunk/Source/WebCore/editing/markup.cpp (267362 => 267363)
--- trunk/Source/WebCore/editing/markup.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/editing/markup.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -935,7 +935,7 @@
String serializePreservingVisualAppearance(const SimpleRange& range, Vector<Node*>* nodes, AnnotateForInterchange annotate, ConvertBlocksToInlines convertBlocksToInlines, ResolveURLs resolveURLs)
{
- return serializePreservingVisualAppearanceInternal(createLegacyEditingPosition(range.start), createLegacyEditingPosition(range.end),
+ return serializePreservingVisualAppearanceInternal(makeDeprecatedLegacyPosition(range.start), makeDeprecatedLegacyPosition(range.end),
nodes, resolveURLs, SerializeComposedTree::No,
annotate, convertBlocksToInlines, StandardFontFamilySerializationMode::Keep, MSOListMode::DoNotPreserve);
}
@@ -1114,7 +1114,7 @@
static bool contextPreservesNewline(const SimpleRange& context)
{
- auto container = VisiblePosition(createLegacyEditingPosition(context.start)).deepEquivalent().containerNode();
+ auto container = VisiblePosition(makeDeprecatedLegacyPosition(context.start)).deepEquivalent().containerNode();
return container && container->renderer() && container->renderer()->style().preserveNewline();
}
@@ -1157,7 +1157,7 @@
}
// Break string into paragraphs. Extra line breaks turn into empty paragraphs.
- auto start = createLegacyEditingPosition(context.start);
+ auto start = makeDeprecatedLegacyPosition(context.start);
auto block = enclosingBlock(start.firstNode().get());
bool useClonesOfEnclosingBlock = block
&& !block->hasTagName(bodyTag)
Modified: trunk/Source/WebCore/page/DragController.cpp (267362 => 267363)
--- trunk/Source/WebCore/page/DragController.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/page/DragController.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1490,7 +1490,7 @@
m_droppedImagePlaceholderRange = WTFMove(insertedContentRange);
frame->selection().clear();
- caretController.setCaretPosition(createLegacyEditingPosition(m_droppedImagePlaceholderRange->start));
+ caretController.setCaretPosition(makeDeprecatedLegacyPosition(m_droppedImagePlaceholderRange->start));
}
void DragController::finalizeDroppedImagePlaceholder(HTMLImageElement& placeholder)
Modified: trunk/Source/WebCore/page/Page.cpp (267362 => 267363)
--- trunk/Source/WebCore/page/Page.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/page/Page.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -895,8 +895,8 @@
replacementRanges.reserveInitialCapacity(rangesToReplace.size());
for (auto& range : rangesToReplace) {
- auto highestRoot = makeRefPtr(highestEditableRoot(createLegacyEditingPosition(range.start)));
- if (!highestRoot || highestRoot != highestEditableRoot(createLegacyEditingPosition(range.end)) || !highestRoot->document().frame())
+ auto highestRoot = makeRefPtr(highestEditableRoot(makeDeprecatedLegacyPosition(range.start)));
+ if (!highestRoot || highestRoot != highestEditableRoot(makeDeprecatedLegacyPosition(range.end)) || !highestRoot->document().frame())
continue;
auto scope = makeRangeSelectingNodeContents(*highestRoot);
replacementRanges.append({ WTFMove(highestRoot), characterRange(scope, range) });
Modified: trunk/Source/WebCore/page/ios/FrameIOS.mm (267362 => 267363)
--- trunk/Source/WebCore/page/ios/FrameIOS.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/page/ios/FrameIOS.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -740,7 +740,7 @@
Vector<Vector<UChar>> interpretations;
interpretations.grow(interpretationsCount);
- Position precedingTextStartPosition = createLegacyEditingPosition(root, 0);
+ Position precedingTextStartPosition = makeDeprecatedLegacyPosition(root, 0);
unsigned combinationsSoFar = 1;
@@ -770,7 +770,7 @@
combinationsSoFar *= interpretationsCountForCurrentMarker;
- precedingTextStartPosition = createLegacyEditingPosition(rangeForMarker.end);
+ precedingTextStartPosition = makeDeprecatedLegacyPosition(rangeForMarker.end);
}
}
Modified: trunk/Source/WebCore/platform/DragImage.cpp (267362 => 267363)
--- trunk/Source/WebCore/platform/DragImage.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/platform/DragImage.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -160,12 +160,12 @@
return nullptr;
// To snapshot the range, temporarily select it and take selection snapshot.
- Position start = createLegacyEditingPosition(range.start);
+ Position start = makeDeprecatedLegacyPosition(range.start);
Position candidate = start.downstream();
if (candidate.deprecatedNode() && candidate.deprecatedNode()->renderer())
start = candidate;
- Position end = createLegacyEditingPosition(range.end);
+ Position end = makeDeprecatedLegacyPosition(range.end);
candidate = end.upstream();
if (candidate.deprecatedNode() && candidate.deprecatedNode()->renderer())
end = candidate;
Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (267362 => 267363)
--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -3405,13 +3405,13 @@
return Position();
if (!box->renderer().nonPseudoNode())
- return createLegacyEditingPosition(nonPseudoElement(), start ? caretMinOffset() : caretMaxOffset());
+ return makeDeprecatedLegacyPosition(nonPseudoElement(), start ? caretMinOffset() : caretMaxOffset());
if (!is<InlineTextBox>(*box))
- return createLegacyEditingPosition(box->renderer().nonPseudoNode(), start ? box->renderer().caretMinOffset() : box->renderer().caretMaxOffset());
+ return makeDeprecatedLegacyPosition(box->renderer().nonPseudoNode(), start ? box->renderer().caretMinOffset() : box->renderer().caretMaxOffset());
auto& textBox = downcast<InlineTextBox>(*box);
- return createLegacyEditingPosition(textBox.renderer().nonPseudoNode(), start ? textBox.start() : textBox.start() + textBox.len());
+ return makeDeprecatedLegacyPosition(textBox.renderer().nonPseudoNode(), start ? textBox.start() : textBox.start() + textBox.len());
}
RenderText* RenderBlockFlow::findClosestTextAtAbsolutePoint(const FloatPoint& point)
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (267362 => 267363)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1671,7 +1671,7 @@
if (Node* node = nonPseudoNode()) {
if (!node->hasEditableStyle()) {
// If it can be found, we prefer a visually equivalent position that is editable.
- Position position = createLegacyEditingPosition(node, offset);
+ Position position = makeDeprecatedLegacyPosition(node, offset);
Position candidate = position.downstream(CanCrossEditingBoundary);
if (candidate.deprecatedNode()->hasEditableStyle())
return VisiblePosition(candidate, affinity);
@@ -1680,7 +1680,7 @@
return VisiblePosition(candidate, affinity);
}
// FIXME: Eliminate legacy editing positions
- return VisiblePosition(createLegacyEditingPosition(node, offset), affinity);
+ return VisiblePosition(makeDeprecatedLegacyPosition(node, offset), affinity);
}
// We don't want to cross the boundary between editable and non-editable
@@ -2148,7 +2148,7 @@
// Only set the line break bit if the end of the range actually
// extends all the way to include the <br>. VisiblePosition helps to
// figure this out.
- if (is<HTMLBRElement>(VisiblePosition(createLegacyEditingPosition(range.end)).deepEquivalent().firstNode()))
+ if (is<HTMLBRElement>(VisiblePosition(makeContainerOffsetPosition(range.end)).deepEquivalent().firstNode()))
rects.last().setIsLineBreak(true);
}
Modified: trunk/Source/WebCore/testing/Internals.cpp (267362 => 267363)
--- trunk/Source/WebCore/testing/Internals.cpp 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebCore/testing/Internals.cpp 2020-09-21 20:28:24 UTC (rev 267363)
@@ -4004,8 +4004,8 @@
void Internals::setSelectionWithoutValidation(Ref<Node> baseNode, unsigned baseOffset, RefPtr<Node> extentNode, unsigned extentOffset)
{
contextDocument()->frame()->selection().moveTo(
- VisiblePosition { createLegacyEditingPosition(baseNode.ptr(), baseOffset) },
- VisiblePosition { createLegacyEditingPosition(extentNode.get(), extentOffset) });
+ VisiblePosition { makeDeprecatedLegacyPosition(baseNode.ptr(), baseOffset) },
+ VisiblePosition { makeDeprecatedLegacyPosition(extentNode.get(), extentOffset) });
}
ExceptionOr<bool> Internals::isPluginUnavailabilityIndicatorObscured(Element& element)
Modified: trunk/Source/WebKit/ChangeLog (267362 => 267363)
--- trunk/Source/WebKit/ChangeLog 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebKit/ChangeLog 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1,3 +1,22 @@
+2020-09-20 Darin Adler <[email protected]>
+
+ Next step towards eliminating deprecated legacy positions
+ https://bugs.webkit.org/show_bug.cgi?id=216751
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/WebPage/ios/WebPageIOS.mm:
+ (WebKit::WebPage::selectWithGesture):
+ (WebKit::WebPage::extendSelection):
+ (WebKit::WebPage::updateSelectionWithExtentPointAndBoundary):
+ (WebKit::WebPage::requestAutocorrectionData):
+ (WebKit::WebPage::applyAutocorrectionInternal):
+ (WebKit::focusedElementPositionInformation):
+ (WebKit::dataDetectorLinkPositionInformation):
+ (WebKit::WebPage::requestDocumentEditingContext):
+ Replaced calls to createLegacyEditingPosition with calls to
+ makeDeprecatedLegacyPosition or makeContainerOffsetPosition.
+
2020-09-21 Wenson Hsieh <[email protected]>
Adjust the human readable names some GPU process internal feature flags
Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (267362 => 267363)
--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1361,8 +1361,8 @@
if (!frame.editor().hasComposition())
break;
auto markedRange = frame.editor().compositionRange();
- auto startPosition = VisiblePosition { createLegacyEditingPosition(markedRange->start) };
- position = std::clamp(position, startPosition, VisiblePosition { createLegacyEditingPosition(markedRange->end) });
+ auto startPosition = VisiblePosition { makeDeprecatedLegacyPosition(markedRange->start) };
+ position = std::clamp(position, startPosition, VisiblePosition { makeDeprecatedLegacyPosition(markedRange->end) });
if (wkGestureState != GestureRecognizerState::Began)
flags = distanceBetweenPositions(startPosition, frame.selection().selection().start()) != distanceBetweenPositions(startPosition, position) ? PhraseBoundaryChanged : OptionSet<SelectionFlags> { };
else
@@ -1393,7 +1393,7 @@
case GestureRecognizerState::Changed:
if (m_startingGestureRange) {
auto& start = m_startingGestureRange->start;
- if (createLegacyEditingPosition(start) < position)
+ if (makeDeprecatedLegacyPosition(start) < position)
range = makeSimpleRange(start, position);
else
range = makeSimpleRange(position, start);
@@ -1425,9 +1425,9 @@
if (!m_currentWordRange)
break;
range = m_currentWordRange;
- if (position < createLegacyEditingPosition(range->start))
+ if (position < makeDeprecatedLegacyPosition(range->start))
range->start = *makeBoundaryPoint(position);
- if (position > createLegacyEditingPosition(range->end))
+ if (position > makeDeprecatedLegacyPosition(range->end))
range->end = *makeBoundaryPoint(position);
break;
case GestureRecognizerState::Ended:
@@ -1768,8 +1768,8 @@
IntPoint endLocationForSyntheticMouseEvents;
bool shouldDispatchMouseEvents = shouldDispatchSyntheticMouseEventsWhenModifyingSelection();
if (shouldDispatchMouseEvents) {
- auto startLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition(createLegacyEditingPosition(wordRange->start)).absoluteCaretBounds()).center();
- endLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition(createLegacyEditingPosition(wordRange->end)).absoluteCaretBounds()).center();
+ auto startLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition(makeDeprecatedLegacyPosition(wordRange->start)).absoluteCaretBounds()).center();
+ endLocationForSyntheticMouseEvents = frame.view()->contentsToRootView(VisiblePosition(makeDeprecatedLegacyPosition(wordRange->end)).absoluteCaretBounds()).center();
dispatchSyntheticMouseEventsForSelectionGesture(SelectionTouch::Started, startLocationForSyntheticMouseEvents);
dispatchSyntheticMouseEventsForSelectionGesture(SelectionTouch::Moved, endLocationForSyntheticMouseEvents);
}
@@ -2144,15 +2144,15 @@
return;
}
- auto initialSelectionStartPosition = createLegacyEditingPosition(m_initialSelection->start);
- auto initialSelectionEndPosition = createLegacyEditingPosition(m_initialSelection->end);
+ auto initialSelectionStartPosition = makeDeprecatedLegacyPosition(m_initialSelection->start);
+ auto initialSelectionEndPosition = makeDeprecatedLegacyPosition(m_initialSelection->end);
VisiblePosition selectionStart = initialSelectionStartPosition;
VisiblePosition selectionEnd = initialSelectionEndPosition;
if (position > initialSelectionEndPosition)
- selectionEnd = createLegacyEditingPosition(newRange->end);
+ selectionEnd = makeDeprecatedLegacyPosition(newRange->end);
else if (position < initialSelectionStartPosition)
- selectionStart = createLegacyEditingPosition(newRange->start);
+ selectionStart = makeDeprecatedLegacyPosition(newRange->start);
if (auto range = makeSimpleRange(selectionStart, selectionEnd))
frame.selection().setSelectedRange(range, Affinity::Upstream, WebCore::FrameSelection::ShouldCloseTyping::Yes, UserTriggered);
@@ -2305,8 +2305,8 @@
auto textForRange = plainTextForContext(range);
const unsigned maxSearchAttempts = 5;
for (size_t i = 0; i < maxSearchAttempts && textForRange != textForAutocorrection; ++i) {
- auto position = createLegacyEditingPosition(range->start).previous();
- if (position.isNull() || position == createLegacyEditingPosition(range->start))
+ auto position = makeDeprecatedLegacyPosition(range->start).previous();
+ if (position.isNull() || position == makeDeprecatedLegacyPosition(range->start))
break;
range = { { wordRangeFromPosition(position)->start, range->end } };
textForRange = plainTextForContext(range);
@@ -2412,7 +2412,7 @@
// Correctly determine affinity, using logic currently only present in VisiblePosition
auto affinity = Affinity::Downstream;
if (range && range->collapsed())
- affinity = VisiblePosition(createLegacyEditingPosition(range->start), Affinity::Upstream).affinity();
+ affinity = VisiblePosition(makeDeprecatedLegacyPosition(range->start), Affinity::Upstream).affinity();
frame.selection().setSelectedRange(range, affinity, WebCore::FrameSelection::ShouldCloseTyping::Yes);
if (correction.length())
@@ -2559,8 +2559,8 @@
if (!compositionRange)
return;
- auto startPosition = createLegacyEditingPosition(compositionRange->start);
- auto endPosition = createLegacyEditingPosition(compositionRange->end);
+ auto startPosition = makeDeprecatedLegacyPosition(compositionRange->start);
+ auto endPosition = makeDeprecatedLegacyPosition(compositionRange->end);
if (position < startPosition)
position = startPosition;
else if (position > endPosition)
@@ -2612,9 +2612,9 @@
return;
auto range = makeRangeSelectingNodeContents(element);
- info.textBefore = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary(createLegacyEditingPosition(range.start),
+ info.textBefore = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary(makeDeprecatedLegacyPosition(range.start),
dataDetectionExtendedContextLength, SelectionDirection::Backward));
- info.textAfter = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary(createLegacyEditingPosition(range.end),
+ info.textAfter = plainTextForDisplay(rangeExpandedByCharactersInDirectionAtWordBoundary(makeDeprecatedLegacyPosition(range.end),
dataDetectionExtendedContextLength, SelectionDirection::Forward));
}
@@ -4185,7 +4185,7 @@
completionHandler({ });
return;
}
- auto midpoint = createLegacyEditingPosition(resolveCharacterLocation(scope, midpointLocation.unsafeGet()));
+ auto midpoint = makeDeprecatedLegacyPosition(resolveCharacterLocation(scope, midpointLocation.unsafeGet()));
startOfRangeOfInterestInSelection = startOfWord(midpoint);
if (startOfRangeOfInterestInSelection < rangeOfInterestStart) {
@@ -4208,8 +4208,8 @@
if (wantsMarkedTextRects && compositionRange) {
// In the case where the client has requested marked text rects make sure that the context
// range encompasses the entire marked text range so that we don't return a truncated result.
- auto compositionStart = createLegacyEditingPosition(compositionRange->start);
- auto compositionEnd = createLegacyEditingPosition(compositionRange->end);
+ auto compositionStart = makeDeprecatedLegacyPosition(compositionRange->start);
+ auto compositionEnd = makeDeprecatedLegacyPosition(compositionRange->end);
if (contextBeforeStart > compositionStart)
contextBeforeStart = compositionStart;
if (contextAfterEnd < compositionEnd)
@@ -4229,8 +4229,8 @@
context.selectedText = makeString(startOfRangeOfInterestInSelection, endOfRangeOfInterestInSelection);
context.contextAfter = makeString(endOfRangeOfInterestInSelection, contextAfterEnd);
if (compositionRange && intersects(rangeOfInterest, *compositionRange)) {
- VisiblePosition compositionStart(createLegacyEditingPosition(compositionRange->start));
- VisiblePosition compositionEnd(createLegacyEditingPosition(compositionRange->end));
+ VisiblePosition compositionStart(makeDeprecatedLegacyPosition(compositionRange->start));
+ VisiblePosition compositionEnd(makeDeprecatedLegacyPosition(compositionRange->end));
context.markedText = makeString(compositionStart, compositionEnd);
context.selectedRangeInMarkedText.location = distanceBetweenPositions(startOfRangeOfInterestInSelection, compositionStart);
context.selectedRangeInMarkedText.length = [context.selectedText.string length];
Modified: trunk/Source/WebKitLegacy/ios/ChangeLog (267362 => 267363)
--- trunk/Source/WebKitLegacy/ios/ChangeLog 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebKitLegacy/ios/ChangeLog 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1,3 +1,16 @@
+2020-09-20 Darin Adler <[email protected]>
+
+ Next step towards eliminating deprecated legacy positions
+ https://bugs.webkit.org/show_bug.cgi?id=216751
+
+ Reviewed by Sam Weinig.
+
+ * WebCoreSupport/WebVisiblePosition.mm:
+ (-[DOMNode startPosition]):
+ (-[DOMNode endPosition]):
+ Replaced calls to createLegacyEditingPosition with calls to
+ makeDeprecatedLegacyPosition or makeContainerOffsetPosition.
+
2020-09-02 Darin Adler <[email protected]>
Remove EAffinity, UPSTREAM, DOWNSTREAM, SEL_DEFAULT_AFFINITY, and VisibleSelection::selectionType
Modified: trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebVisiblePosition.mm (267362 => 267363)
--- trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebVisiblePosition.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebVisiblePosition.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -498,7 +498,7 @@
// When in editable content, we need to calculate the startPosition from the beginning of the editable area.
auto& node = *core(self);
if (node.isContentEditable())
- return [WebVisiblePosition _wrapVisiblePosition:startOfEditableContent(VisiblePosition(createLegacyEditingPosition(&node, 0)))];
+ return [WebVisiblePosition _wrapVisiblePosition:startOfEditableContent(VisiblePosition(makeDeprecatedLegacyPosition(&node, 0)))];
return [[self rangeOfContents] startPosition];
}
@@ -507,7 +507,7 @@
// When in editable content, we need to calculate the endPosition from the end of the editable area.
auto& node = *core(self);
if (node.isContentEditable())
- return [WebVisiblePosition _wrapVisiblePosition:endOfEditableContent(VisiblePosition(createLegacyEditingPosition(&node, 0)))];
+ return [WebVisiblePosition _wrapVisiblePosition:endOfEditableContent(VisiblePosition(makeDeprecatedLegacyPosition(&node, 0)))];
return [[self rangeOfContents] endPosition];
}
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (267362 => 267363)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1,3 +1,19 @@
+2020-09-20 Darin Adler <[email protected]>
+
+ Next step towards eliminating deprecated legacy positions
+ https://bugs.webkit.org/show_bug.cgi?id=216751
+
+ Reviewed by Sam Weinig.
+
+ * DOM/DOMUIKitExtensions.mm:
+ (-[DOMNode rangeOfContainingParagraph]):
+ * WebView/WebFrame.mm:
+ (-[WebFrame spaceFollowsWordInRange:]):
+ (-[WebFrame caretRectAtNode:offset:affinity:]):
+ (-[WebFrame focusedNodeHasContent]):
+ Replaced calls to createLegacyEditingPosition with calls to
+ makeDeprecatedLegacyPosition or makeContainerOffsetPosition.
+
2020-09-17 Sam Weinig <[email protected]>
Remove runtime setting for enabling/disabling the UserTiming and ResourceTiming APIs
Modified: trunk/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm (267362 => 267363)
--- trunk/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -223,7 +223,7 @@
- (DOMRange *)rangeOfContainingParagraph
{
- VisiblePosition position(createLegacyEditingPosition(core(self), 0));
+ VisiblePosition position(makeContainerOffsetPosition(core(self), 0));
return kit(makeSimpleRange(startOfParagraph(position), endOfParagraph(position)));
}
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm (267362 => 267363)
--- trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm 2020-09-21 20:23:26 UTC (rev 267362)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm 2020-09-21 20:28:24 UTC (rev 267363)
@@ -1558,7 +1558,7 @@
- (BOOL)spaceFollowsWordInRange:(DOMRange *)range
{
- return range && isSpaceOrNewline(WebCore::VisiblePosition(createLegacyEditingPosition(makeSimpleRange(core(range))->end)).characterAfter());
+ return range && isSpaceOrNewline(WebCore::VisiblePosition(makeDeprecatedLegacyPosition(makeSimpleRange(core(range))->end)).characterAfter());
}
- (NSArray *)wordsInCurrentParagraph
@@ -1804,7 +1804,7 @@
- (NSRect)caretRectAtNode:(DOMNode *)node offset:(int)offset affinity:(NSSelectionAffinity)affinity
{
- return [self _caretRectAtPosition:createLegacyEditingPosition(core(node), offset) affinity:affinity];
+ return [self _caretRectAtPosition:makeDeprecatedLegacyPosition(core(node), offset) affinity:affinity];
}
- (DOMRange *)characterRangeAtPoint:(NSPoint)point
@@ -2302,8 +2302,8 @@
if (!root || !root->hasChildNodes())
return NO;
- WebCore::VisiblePosition first(createLegacyEditingPosition(root, 0));
- WebCore::VisiblePosition last(createLegacyEditingPosition(root, root->countChildNodes()));
+ WebCore::VisiblePosition first(makeContainerOffsetPosition(root, 0));
+ WebCore::VisiblePosition last(makeContainerOffsetPosition(root, root->countChildNodes()));
return first != last;
}