[webkit-changes] [WebKit/WebKit] 389241: Use more smart pointers in editing code

Chris Dumez noreply at github.com
Sun Oct 8 17:10:42 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 389241b67619b49fab63ca2d9abafb5c2a69358a
      https://github.com/WebKit/WebKit/commit/389241b67619b49fab63ca2d9abafb5c2a69358a
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-10-08 (Sun, 08 Oct 2023)

  Changed paths:
    M Source/WebCore/Modules/async-clipboard/Clipboard.cpp
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/dom/BoundaryPoint.cpp
    M Source/WebCore/dom/BoundaryPoint.h
    M Source/WebCore/dom/DataTransfer.cpp
    M Source/WebCore/dom/Node.h
    M Source/WebCore/dom/ShadowRoot.h
    M Source/WebCore/editing/CompositeEditCommand.h
    M Source/WebCore/editing/ReplaceSelectionCommand.cpp
    M Source/WebCore/editing/ReplaceSelectionCommand.h
    M Source/WebCore/editing/SelectionGeometryGatherer.cpp
    M Source/WebCore/editing/SelectionGeometryGatherer.h
    M Source/WebCore/editing/SetNodeAttributeCommand.cpp
    M Source/WebCore/editing/SetNodeAttributeCommand.h
    M Source/WebCore/editing/SimplifyMarkupCommand.cpp
    M Source/WebCore/editing/SpellChecker.cpp
    M Source/WebCore/editing/SpellChecker.h
    M Source/WebCore/editing/SpellingCorrectionCommand.cpp
    M Source/WebCore/editing/SpellingCorrectionCommand.h
    M Source/WebCore/editing/SplitElementCommand.cpp
    M Source/WebCore/editing/SplitElementCommand.h
    M Source/WebCore/editing/SplitTextNodeCommand.cpp
    M Source/WebCore/editing/SplitTextNodeCommand.h
    M Source/WebCore/editing/SplitTextNodeContainingElementCommand.cpp
    M Source/WebCore/editing/TextInsertionBaseCommand.cpp
    M Source/WebCore/editing/TextIterator.cpp
    M Source/WebCore/editing/TextIterator.h
    M Source/WebCore/editing/TextManipulationController.cpp
    M Source/WebCore/editing/TypingCommand.cpp
    M Source/WebCore/editing/TypingCommand.h
    M Source/WebCore/editing/VisiblePosition.cpp
    M Source/WebCore/editing/VisibleSelection.cpp
    M Source/WebCore/editing/VisibleUnits.cpp
    M Source/WebCore/editing/VisibleUnits.h
    M Source/WebCore/editing/WebContentReader.cpp
    M Source/WebCore/editing/WebContentReader.h
    M Source/WebCore/editing/WebCorePasteboardFileReader.cpp
    M Source/WebCore/editing/WebCorePasteboardFileReader.h
    M Source/WebCore/editing/WrapContentsInDummySpanCommand.cpp
    M Source/WebCore/editing/WrapContentsInDummySpanCommand.h
    M Source/WebCore/editing/cocoa/EditorCocoa.mm
    M Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm
    M Source/WebCore/editing/gtk/EditorGtk.cpp
    M Source/WebCore/editing/gtk/WebContentReaderGtk.cpp
    M Source/WebCore/editing/ios/EditorIOS.mm
    M Source/WebCore/page/DragController.cpp
    M Source/WebCore/page/LocalFrame.h
    M Source/WebCore/platform/Pasteboard.h
    M Source/WebCore/platform/gtk/PasteboardGtk.cpp
    M Source/WebCore/platform/ios/PasteboardIOS.mm
    M Source/WebCore/platform/mac/PasteboardMac.mm

  Log Message:
  -----------
  Use more smart pointers in editing code
https://bugs.webkit.org/show_bug.cgi?id=262854

Reviewed by Darin Adler.

* Source/WebCore/Modules/async-clipboard/Clipboard.cpp:
(WebCore::Clipboard::getType):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::startCharacterOffsetOfParagraph):
(WebCore::AXObjectCache::endCharacterOffsetOfParagraph):
* Source/WebCore/dom/BoundaryPoint.h:
(WebCore::BoundaryPoint::protectedDocument const):
* Source/WebCore/dom/DataTransfer.cpp:
(WebCore::DataTransfer::readStringFromPasteboard const):
* Source/WebCore/dom/Node.h:
* Source/WebCore/dom/ShadowRoot.h:
(WebCore::Node::protectedParentOrShadowHostNode const):
* Source/WebCore/editing/CompositeEditCommand.h:
(WebCore::CompositeEditCommand::protectedComposition const):
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplacementFragment::removeNodePreservingChildren):
(WebCore::fragmentNeedsColorTransformed):
(WebCore::ReplaceSelectionCommand::inverseTransformColor):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor):
(WebCore::ReplaceSelectionCommand::willApplyCommand):
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::inputEventData const):
(WebCore::ReplaceSelectionCommand::ensureReplacementFragment):
* Source/WebCore/editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::protectedDocumentFragment const):
* Source/WebCore/editing/SelectionGeometryGatherer.cpp:
(WebCore::SelectionGeometryGatherer::Notifier::~Notifier):
* Source/WebCore/editing/SelectionGeometryGatherer.h:
* Source/WebCore/editing/SetNodeAttributeCommand.cpp:
(WebCore::SetNodeAttributeCommand::doApply):
(WebCore::SetNodeAttributeCommand::doUnapply):
(WebCore::SetNodeAttributeCommand::getNodesInCommand):
* Source/WebCore/editing/SetNodeAttributeCommand.h:
(WebCore::SetNodeAttributeCommand::protectedElement const):
* Source/WebCore/editing/SimplifyMarkupCommand.cpp:
(WebCore::SimplifyMarkupCommand::doApply):
(WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
* Source/WebCore/editing/SpellChecker.cpp:
(WebCore::SpellChecker::client const):
(WebCore::SpellChecker::isAsynchronousEnabled const):
(WebCore::SpellChecker::isCheckable const):
(WebCore::SpellChecker::invokeRequest):
(WebCore::SpellChecker::didCheck):
* Source/WebCore/editing/SpellChecker.h:
(WebCore::SpellChecker::protectedDocument const):
* Source/WebCore/editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::doApply):
(WebCore::SpellingCorrectionCommand::inputEventDataTransfer const):
* Source/WebCore/editing/SpellingCorrectionCommand.h:
(WebCore::SpellingCorrectionCommand::protectedCorrectionFragment const):
* Source/WebCore/editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::executeApply):
(WebCore::SplitElementCommand::doApply):
(WebCore::SplitElementCommand::doUnapply):
(WebCore::SplitElementCommand::getNodesInCommand):
* Source/WebCore/editing/SplitElementCommand.h:
(WebCore::SplitElementCommand::protectedElement1 const):
(WebCore::SplitElementCommand::protectedElement2 const):
* Source/WebCore/editing/SplitTextNodeCommand.cpp:
(WebCore::SplitTextNodeCommand::doApply):
(WebCore::SplitTextNodeCommand::doUnapply):
(WebCore::SplitTextNodeCommand::doReapply):
(WebCore::SplitTextNodeCommand::insertText1AndTrimText2):
(WebCore::SplitTextNodeCommand::getNodesInCommand):
* Source/WebCore/editing/SplitTextNodeCommand.h:
(WebCore::SplitTextNodeCommand::protectedText1 const):
(WebCore::SplitTextNodeCommand::protectedText2 const):
* Source/WebCore/editing/SplitTextNodeContainingElementCommand.cpp:
(WebCore::SplitTextNodeContainingElementCommand::doApply):
* Source/WebCore/editing/TextInsertionBaseCommand.cpp:
(WebCore::dispatchBeforeTextInsertedEvent):
(WebCore::canAppendNewLineFeedToSelection):
* Source/WebCore/editing/TextIterator.cpp:
(WebCore::nextInPreOrderCrossingShadowBoundaries):
(WebCore::fullyClipsContents):
(WebCore::ignoresContainerClip):
(WebCore::setUpFullyClippedStack):
(WebCore::isClippedByFrameAncestor):
(WebCore::isRendererReplacedElement):
(WebCore::firstNode):
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::init):
(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextRun):
(WebCore::TextIterator::handleTextNodeFirstLetter):
(WebCore::TextIterator::handleReplacedElement):
(WebCore::shouldEmitTabBeforeNode):
(WebCore::shouldEmitNewlineForNode):
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):
(WebCore::shouldEmitNewlineAfterNode):
(WebCore::shouldEmitExtraNewlineForNode):
(WebCore::maxOffsetIncludingCollapsedSpaces):
(WebCore::TextIterator::shouldRepresentNodeOffsetZero):
(WebCore::TextIterator::protectedCurrentNode const):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::SimplifiedBackwardsTextIterator::advance):
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
(WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter):
(WebCore::SimplifiedBackwardsTextIterator::range const):
(WebCore::CharacterIterator::range const):
(WebCore::BackwardsCharacterIterator::range const):
(WebCore::isInsideReplacedElement):
* Source/WebCore/editing/TextIterator.h:
(WebCore::TextIterator::protectedStartContainer const):
* Source/WebCore/editing/TextManipulationController.cpp:
(WebCore::ExclusionRuleMatcher::isExcluded):
(WebCore::TextManipulationController::startObservingParagraphs):
(WebCore::ParagraphContentIterator::currentContent):
(WebCore::ParagraphContentIterator::shouldAdvanceIteratorPastCurrentNode const):
(WebCore::isEnclosingItemBoundaryElement):
(WebCore::TextManipulationController::observeParagraphs):
(WebCore::TextManipulationController::didAddOrCreateRendererForNode):
(WebCore::TextManipulationController::scheduleObservationUpdate):
(WebCore::TextManipulationController::flushPendingItemsForCallback):
(WebCore::TextManipulationController::completeManipulation):
(WebCore::TextManipulationController::getPath):
(WebCore::TextManipulationController::updateInsertions):
(WebCore::TextManipulationController::replace):
* Source/WebCore/editing/TypingCommand.cpp:
(WebCore::TypingCommandLineOperation::TypingCommandLineOperation):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
(WebCore::TypingCommand::closeTyping):
(WebCore::TypingCommand::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping):
(WebCore::TypingCommand::postTextStateChangeNotificationForDeletion):
(WebCore::TypingCommand::markMisspellingsAfterTyping):
(WebCore::TypingCommand::willAddTypingToOpenCommand):
(WebCore::TypingCommand::typingAddedToOpenCommand):
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::insertTextAndNotifyAccessibility):
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertLineBreakAndNotifyAccessibility):
(WebCore::TypingCommand::insertParagraphSeparatorAndNotifyAccessibility):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContentAndNotifyAccessibility):
(WebCore::TypingCommand::makeEditableRootEmpty):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::setEndingSelectionOnLastInsertCommand):
* Source/WebCore/editing/TypingCommand.h:
* Source/WebCore/editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate const):
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate const):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore const):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter const):
(WebCore::VisiblePosition::canonicalPosition):
(WebCore::VisiblePosition::characterAfter const):
(WebCore::VisiblePosition::localCaretRect const):
(WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation const):
(WebCore::enclosingBlockFlowElement):
(WebCore::isFirstVisiblePositionInNode):
(WebCore::isLastVisiblePositionInNode):
(WebCore::areVisiblePositionsInSameTreeScope):
(WebCore::midpoint):
* Source/WebCore/editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::toNormalizedRange const):
(WebCore::VisibleSelection::appendTrailingWhitespace):
(WebCore::VisibleSelection::adjustPositionForEnd):
(WebCore::VisibleSelection::adjustPositionForStart):
(WebCore::isInUserAgentShadowRootOrHasEditableShadowAncestor):
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
(WebCore::VisibleSelection::hasEditableStyle const):
(WebCore::VisibleSelection::isInPasswordField const):
(WebCore::VisibleSelection::isInAutoFilledAndViewableField const):
(WebCore::VisibleSelection::showTreeForThis const):
* Source/WebCore/editing/VisibleUnits.cpp:
(WebCore::previousLineCandidatePosition):
(WebCore::nextLineCandidatePosition):
(WebCore::logicallyPreviousBox):
(WebCore::logicallyNextBox):
(WebCore::nextBoundary):
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):
(WebCore::endOfLine):
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
(WebCore::findStartOfParagraph):
(WebCore::findEndOfParagraph):
(WebCore::endOfParagraph):
(WebCore::startOfDocument):
(WebCore::endOfDocument):
(WebCore::inSameDocument):
(WebCore::startOfEditableContent):
(WebCore::endOfEditableContent):
* Source/WebCore/editing/VisibleUnits.h:
* Source/WebCore/editing/WebContentReader.cpp:
(WebCore::WebContentReader::addFragment):
(WebCore::FrameWebContentReader::shouldSanitize const):
(WebCore::FrameWebContentReader::msoListQuirksForMarkup const):
(WebCore::WebContentReader::readFilePaths):
* Source/WebCore/editing/WebContentReader.h:
(WebCore::FrameWebContentReader::FrameWebContentReader):
(WebCore::FrameWebContentReader::frame const):
(WebCore::FrameWebContentReader::protectedFrame const):
* Source/WebCore/editing/WebCorePasteboardFileReader.cpp:
(WebCore::WebCorePasteboardFileReader::readFilename):
(WebCore::WebCorePasteboardFileReader::readBuffer):
* Source/WebCore/editing/WebCorePasteboardFileReader.h:
* Source/WebCore/editing/WrapContentsInDummySpanCommand.cpp:
(WebCore::WrapContentsInDummySpanCommand::executeApply):
(WebCore::WrapContentsInDummySpanCommand::doApply):
(WebCore::WrapContentsInDummySpanCommand::doUnapply):
(WebCore::WrapContentsInDummySpanCommand::doReapply):
(WebCore::WrapContentsInDummySpanCommand::getNodesInCommand):
* Source/WebCore/editing/WrapContentsInDummySpanCommand.h:
(WebCore::WrapContentsInDummySpanCommand::protectedDummySpan const):
(WebCore::WrapContentsInDummySpanCommand::protectedElement const):
* Source/WebCore/editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::webContentFromPasteboard):
* Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentMarkupReader::readWebArchive):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentMarkupReader::readHTML):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentMarkupReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentMarkupReader::readRTF):
(WebCore::WebContentReader::readPlainText):
(WebCore::WebContentReader::readImage):
* Source/WebCore/editing/gtk/EditorGtk.cpp:
(WebCore::Editor::webContentFromPasteboard):
* Source/WebCore/editing/gtk/WebContentReaderGtk.cpp:
(WebCore::WebContentReader::readFilePath):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentReader::readPlainText):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentMarkupReader::readHTML):
* Source/WebCore/editing/ios/EditorIOS.mm:
(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::platformCopyFont): Deleted.
(WebCore::Editor::platformPasteFont): Deleted.
(WebCore::Editor::insertDictationPhrases): Deleted.
(WebCore::Editor::setDictationPhrasesAsChildOfElement): Deleted.
(WebCore::Editor::confirmMarkedText): Deleted.
(WebCore::Editor::setTextAsChildOfElement): Deleted.
(WebCore::Editor::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping): Deleted.
* Source/WebCore/page/DragController.cpp:
(WebCore::DragController::tryToUpdateDroppedImagePlaceholders):
* Source/WebCore/platform/Pasteboard.h:
(WebCore::PasteboardWebContentReader::contentOrigin const):
(WebCore::PasteboardWebContentReader::setContentOrigin):
* Source/WebCore/platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::read):

Canonical link: https://commits.webkit.org/269061@main




More information about the webkit-changes mailing list