Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f86d3400c875519b3f3c368f1ea9a37ed8a1d11b https://github.com/WebKit/WebKit/commit/f86d3400c875519b3f3c368f1ea9a37ed8a1d11b Author: Richard Robinson <richard_robins...@apple.com> Date: 2024-07-05 (Fri, 05 Jul 2024)
Changed paths: M Source/WebCore/editing/WritingToolsCompositionCommand.cpp M Source/WebCore/editing/WritingToolsCompositionCommand.h M Source/WebCore/page/writing-tools/WritingToolsController.h M Source/WebCore/page/writing-tools/WritingToolsController.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WritingTools.mm Log Message: ----------- [Writing Tools] Smart replies are not inserted into Mail https://bugs.webkit.org/show_bug.cgi?id=276273 rdar://131083006 Reviewed by Aditya Keerthi. UIKit and AppKit behave different with regards to how they use the Writing Tools delegate methods for the smart replies use case; with UIKit, UIKit inserts a space into the document prior to the `willBegin` call, and subsequently removes the space prior to the `didReceiveText` call. As a result, the initial session range created will now be invalid. This was not a problem previously as live ranges were being used, which incidentally made this work as-is. However, with the move to using `SimpleRange`s, this no longer happens. Fix by re-computing the session range the first time `didReceiveText` is called so that it has the correct session range. This will just be a temporary fix until UIKit changes behavior to no longer insert the space. * Source/WebCore/editing/WritingToolsCompositionCommand.cpp: (WebCore::WritingToolsCompositionCommand::replaceContentsOfRangeWithFragment): * Source/WebCore/editing/WritingToolsCompositionCommand.h: (WebCore::WritingToolsCompositionCommand::setEndingContextRange): * Source/WebCore/page/writing-tools/WritingToolsController.h: * Source/WebCore/page/writing-tools/WritingToolsController.mm: (WebCore::WritingToolsController::compositionSessionDidReceiveTextWithReplacementRange): (WebCore::WritingToolsController::writingToolsSessionDidReceiveAction<WritingTools::Session::Type::Proofreading>): Deleted. (WebCore::WritingToolsController::writingToolsSessionDidReceiveAction<WritingTools::Session::Type::Composition>): Deleted. (WebCore::WritingToolsController::writingToolsSessionDidReceiveAction): Deleted. (WebCore::WritingToolsController::didEndWritingToolsSession<WritingTools::Session::Type::Proofreading>): Deleted. (WebCore::WritingToolsController::didEndWritingToolsSession<WritingTools::Session::Type::Composition>): Deleted. (WebCore::WritingToolsController::didEndWritingToolsSession): Deleted. (WebCore::WritingToolsController::updateStateForSelectedSuggestionIfNeeded): Deleted. (WebCore::appliedCommandIsWritingToolsCommand): Deleted. (WebCore::WritingToolsController::respondToUnappliedEditing): Deleted. (WebCore::WritingToolsController::respondToReappliedEditing): Deleted. (WebCore::WritingToolsController::contextRangeForSessionWithID const): Deleted. (WebCore::WritingToolsController::stateForSession): Deleted. (WebCore::WritingToolsController::document const): Deleted. (WebCore::WritingToolsController::showOriginalCompositionForSession): Deleted. (WebCore::WritingToolsController::showRewrittenCompositionForSession): Deleted. (WebCore::WritingToolsController::restartCompositionForSession): Deleted. (WebCore::WritingToolsController::findTextSuggestionMarkerByID const): Deleted. (WebCore::WritingToolsController::findTextSuggestionMarkerContainingRange const): Deleted. (WebCore::WritingToolsController::replaceContentsOfRangeInSession): Deleted. * Tools/TestWebKitAPI/Tests/WebKitCocoa/WritingTools.mm: (TEST(WritingTools, SmartReplyTest)): Canonical link: https://commits.webkit.org/280703@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes