[webkit-changes] [WebKit/WebKit] da92dc: Writing tools animations on iOS don't have the sec...

megangardner noreply at github.com
Thu Sep 5 21:51:59 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: da92dcfbdd3a6ec697b543983f82e4ea370cd851
      https://github.com/WebKit/WebKit/commit/da92dcfbdd3a6ec697b543983f82e4ea370cd851
  Author: Megan Gardner <megan_gardner at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M Source/WebCore/dom/Document.h
    M Source/WebCore/editing/Editor.cpp
    M Source/WebCore/page/ChromeClient.h
    M Source/WebCore/page/TextAnimationTypes.h
    M Source/WebCore/page/writing-tools/WritingToolsController.h
    M Source/WebCore/page/writing-tools/WritingToolsController.mm
    M Source/WebKit/Shared/TextAnimationTypes.serialization.in
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxyInternals.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/UIProcess/mac/WKTextAnimationManager.mm
    M Source/WebKit/WebKitSwift/TextAnimation/TextAnimationManager.swift
    M Source/WebKit/WebKitSwift/TextAnimation/WKSTextAnimationSourceDelegate.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
    M Source/WebKit/WebProcess/WebPage/Cocoa/TextAnimationController.h
    M Source/WebKit/WebProcess/WebPage/Cocoa/TextAnimationController.mm
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WritingTools.mm

  Log Message:
  -----------
  Writing tools animations on iOS don't have the second part of the animation.
https://bugs.webkit.org/show_bug.cgi?id=279161
rdar://132367375

Reviewed by Aditya Keerthi.

iOS animations have a completely different shape than mac
animations. Also, we weren't correctly determining if something
was the final text replacement and bailing out of that animations.
We also needed to ensure that smart replies still worked correctly.

* Source/WebCore/dom/Document.h:
(WebCore::Document::setPlaceholderTextIndicatorData):
(WebCore::Document::placeholderTextIndicatorData):
* Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::insertTextPlaceholder):
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::addSourceTextAnimationForActiveWritingToolsSession):
(WebCore::ChromeClient::addDestinationTextAnimationForActiveWritingToolsSession):
* Source/WebCore/page/TextAnimationTypes.h:
* Source/WebCore/page/writing-tools/WritingToolsController.h:
* Source/WebCore/page/writing-tools/WritingToolsController.mm:
(WebCore::WritingToolsController::compositionSessionDidFinishReplacement):
(WebCore::WritingToolsController::compositionSessionDidReceiveTextWithReplacementRangeAsync):
(WebCore::WritingToolsController::compositionSessionDidReceiveTextWithReplacementRange):
* Source/WebKit/Shared/TextAnimationTypes.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _addTextAnimationForAnimationID:withData:]):
(-[WKWebView _enableSourceTextAnimationAfterElementWithID:]):
(-[WKWebView _enableFinalTextAnimationForElementWithID:]):
(toWKTextAnimationType): Deleted.
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::addTextAnimationForAnimationIDWithCompletionHandler):
(WebKit::WebPageProxy::storeDestinationCompletionHandlerForAnimationID):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxyInternals.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):
(-[WKContentView updateUnderlyingTextVisibilityForTextAnimationID:visible:completionHandler:]):
(-[WKContentView callCompletionHandlerForAnimationID:]):
(-[WKContentView callCompletionHandlerForAnimationID:completionHandler:]):
(toWKTextAnimationType):
(-[WKContentView addTextAnimationForAnimationID:withData:]):
(-[WKContentView addTextAnimationForAnimationID:withStyleType:]): Deleted.
* Source/WebKit/UIProcess/mac/WKTextAnimationManager.mm:
(-[WKTextAnimationManager restoreTextAnimationType]):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::addTextAnimationForAnimationID):
* Source/WebKit/WebKitSwift/TextAnimation/TextAnimationManager.swift:
(beginEffect(for:style:)):
(TextAnimationManager.performReplacementAndGeneratePreview(for:effect:animation:)):
* Source/WebKit/WebKitSwift/TextAnimation/WKSTextAnimationSourceDelegate.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::addSourceTextAnimationForActiveWritingToolsSession):
(WebKit::WebChromeClient::addDestinationTextAnimationForActiveWritingToolsSession):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/TextAnimationController.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/TextAnimationController.mm:
(WebKit::TextAnimationController::addInitialTextAnimationForActiveWritingToolsSession):
(WebKit::TextAnimationController::addSourceTextAnimationForActiveWritingToolsSession):
(WebKit::TextAnimationController::addDestinationTextAnimationForActiveWritingToolsSession):
(WebKit::TextAnimationController::updateUnderlyingTextVisibilityForTextAnimationID):
(WebKit::TextAnimationController::createTextIndicatorForRange):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::addSourceTextAnimationForActiveWritingToolsSession):
(WebKit::WebPage::addDestinationTextAnimationForActiveWritingToolsSession):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WritingTools.mm:
(TEST(WritingTools, SuggestedTextIsSelectedAfterSmartReply)):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list