[webkit-changes] [WebKit/WebKit] e1f85b: [Writing Tools] There is a brief flicker where the...

Richard Robinson noreply at github.com
Fri Sep 20 12:41:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e1f85b19921afbf117601385f2011c05e537ca78
      https://github.com/WebKit/WebKit/commit/e1f85b19921afbf117601385f2011c05e537ca78
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M Source/WebKit/UIProcess/mac/WKTextAnimationManager.mm

  Log Message:
  -----------
  [Writing Tools] There is a brief flicker where there is no text during a rewrite animation
https://bugs.webkit.org/show_bug.cgi?id=280038
rdar://136334757

Reviewed by Aditya Keerthi, Wenson Hsieh, and Abrar Rahman Protyasha.

A sample sequence of events with regards to when intelligence text animations begin and end is

* initial animation created
* initial animation removed [0 ongoing animations]
* source animation created
* final animation created
* final animation removed
* initial animation created
* source animation removed
* initial animation removed [0 ongoing animations]
* source animation created
* final animation created
* final animation removed
* initial animation created
* source animation removed
* initial animation removed [0 ongoing animations]
* source animation created
* final animation created
* final animation removed
* source animation removed [0 ongoing animations]

Prior to 283274 at main, the text effect view was never being removed. Following that commit, it is removed
whenever an animation was removed such that there are 0 ongoing animations. As a result, after each
initial animation removal, the effect view is removed momentarily, and then is re-added when the following
source animation gets added. This manifests visually as a flicker of the text content in the message.

Fix by only removing the effect view when there are 0 ongoing animations following a source or destination
animation and not following an initial animation.

* Source/WebKit/UIProcess/mac/WKTextAnimationManager.mm:
(-[WKTextAnimationManager addTextAnimationForAnimationID:withData:]):
(-[WKTextAnimationManager removeTextAnimationForAnimationID:]):
(-[WKTextAnimationManager textPreviewsForChunk:completion:]):
(-[WKTextAnimationManager textPreviewForRect:completion:]):
(-[WKTextAnimationManager updateIsTextVisible:forChunk:completion:]):

Canonical link: https://commits.webkit.org/284003@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