[webkit-changes] [WebKit/WebKit] d03f05: [Intelligence Effects] Add a platform abstraction ...

Richard Robinson noreply at github.com
Mon Oct 21 10:17:00 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d03f052253e8b2d8eaad250db4245cb898106220
      https://github.com/WebKit/WebKit/commit/d03f052253e8b2d8eaad250db4245cb898106220
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2024-10-21 (Mon, 21 Oct 2024)

  Changed paths:
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebKitSwift/TextAnimation/TextAnimationManager.swift
    A Source/WebKit/WebKitSwift/WritingTools/PlatformIntelligenceTextEffectView.swift

  Log Message:
  -----------
  [Intelligence Effects] Add a platform abstraction layer to be able to use intelligence effects in a platform-agnostic manner
https://bugs.webkit.org/show_bug.cgi?id=281801
rdar://138225697

Reviewed by Abrar Rahman Protyasha.

The interface for creating intelligence effects on macOS compared to iOS is quite different. To make
this difference easier to manage, a high level abstraction type is created which mostly abstracts away
all the platform-specific parts so that it may be consumed without the client having to worry about
making any logic changes platform-dependent.

The abstraction layer's interface attempts to be as similar to iOS as possible, since abstracting the
macOS interface in terms of iOS was more elegant.

This will soon be adopted and used by an upcoming intelligence effects coordinator type.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebKitSwift/WritingTools/PlatformIntelligenceTextEffectView.swift: Added.
(PlatformIntelligenceTextEffect.chunk):
(PlatformIntelligenceTextEffectViewSource.textPreview(for:)):
(PlatformIntelligenceTextEffectViewSource.updateTextChunkVisibility(_:visible:)):
(PlatformIntelligenceTextEffectViewSource.performReplacementAndGeneratePreview(for:effect:animation:)):
(PlatformIntelligenceTextEffectViewSource.replacementEffectWillBegin(_:)):
(PlatformIntelligenceTextEffectViewSource.replacementEffectDidComplete(_:)):
(UITextEffectViewSourceAdapter.wrapped):
(UITextEffectViewSourceAdapter.targetedPreview(for:)):
(UITextEffectViewSourceAdapter.updateTextChunkVisibilityForAnimation(_:visible:)):
(UIReplacementTextEffectDelegateAdapter.view):
(UIReplacementTextEffectDelegateAdapter.replacementEffectDidComplete(_:)):
(UIReplacementTextEffectDelegateAdapter.performReplacementAndGeneratePreview(for:effect:animation:)):
(WTTextPreviewAsyncSourceAdapter.textPreviews(for:)):
(WTTextPreviewAsyncSourceAdapter.textPreview(for:)):
(WTTextPreviewAsyncSourceAdapter.updateIsTextVisible(_:for:)):
(PlatformIntelligenceTextEffectView.wrappedEffectIDToPlatformEffects):
(PlatformIntelligenceTextEffectView.platformEffectIDToWrappedEffectIDs):
(PlatformIntelligenceTextEffectView.updateFrame):
(PlatformIntelligenceTextEffectView.removeEffect(_:)):
(PlatformIntelligenceTextEffectView.removeAllEffects):

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