[webkit-changes] [WebKit/WebKit] 9d35a1: Upstream redesigned text cursor support for WebKit

Richard Robinson noreply at github.com
Thu Jun 22 11:04:07 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9d35a12f4192dc72e5c29fd1fd8e8a9a6c9b1eca
      https://github.com/WebKit/WebKit/commit/9d35a12f4192dc72e5c29fd1fd8e8a9a6c9b1eca
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2023-06-22 (Thu, 22 Jun 2023)

  Changed paths:
    M Source/WebCore/PAL/pal/spi/mac/NSTextInputContextSPI.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/editing/FrameSelection.cpp
    M Source/WebCore/editing/FrameSelection.h
    M Source/WebCore/platform/CaretAnimator.h
    A Source/WebCore/platform/DictationCaretAnimator.cpp
    A Source/WebCore/platform/DictationCaretAnimator.h
    A Source/WebCore/platform/OpacityCaretAnimator.cpp
    A Source/WebCore/platform/OpacityCaretAnimator.h
    M Source/WebCore/rendering/CaretRectComputation.cpp
    M Source/WebCore/rendering/CaretRectComputation.h
    M Source/WebCore/rendering/RenderThemeCocoa.mm
    M Source/WebCore/rendering/TextBoxPainter.cpp
    A Source/WebKit/Platform/cocoa/_WKWebViewTextInputNotifications.h
    A Source/WebKit/Platform/cocoa/_WKWebViewTextInputNotifications.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.h
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Upstream redesigned text cursor support for WebKit
https://bugs.webkit.org/show_bug.cgi?id=257887
rdar://110483283

Reviewed by Mike Wyrzykowski and Tim Horton.

Upstream support for the redesigned text cursor in WebKit.

* Source/WebCore/PAL/pal/spi/mac/NSTextInputContextSPI.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/editing/FrameSelection.cpp:
(WebCore::createCaretAnimator):
(WebCore::FrameSelection::caretNode):
* Source/WebCore/editing/FrameSelection.h:
* Source/WebCore/platform/CaretAnimator.h:
(WebCore::currentTimeSinceEpoch):
(WebCore::platformCaretColor):
* Source/WebCore/platform/DictationCaretAnimator.cpp: Added.
(WebCore::keyframe):
(WebCore::tailBlurRadius):
(WebCore::caretBlurRadius):
(WebCore::coneStart):
(WebCore::coneEnd):
(WebCore::DictationCaretAnimator::keyframeCount const):
(WebCore::DictationCaretAnimator::DictationCaretAnimator):
(WebCore::DictationCaretAnimator::keyframeTimeDelta const):
(WebCore::DictationCaretAnimator::setBlinkingSuspended):
(WebCore::DictationCaretAnimator::computeTailRect const):
(WebCore::DictationCaretAnimator::computeScrollLeft const):
(WebCore::DictationCaretAnimator::updateGlowTail):
(WebCore::DictationCaretAnimator::updateAnimationProperties):
(WebCore::DictationCaretAnimator::start):
(WebCore::DictationCaretAnimator::debugDescription const):
(WebCore::DictationCaretAnimator::resetGlowTail):
(WebCore::DictationCaretAnimator::tailRect const):
(WebCore::DictationCaretAnimator::makeDictationTailConePath const):
(WebCore::DictationCaretAnimator::fillCaretTail const):
(WebCore::DictationCaretAnimator::expandedCaretRect const):
(WebCore::DictationCaretAnimator::paint const):
(WebCore::DictationCaretAnimator::isLeftToRightLayout const):
(WebCore::DictationCaretAnimator::caretRepaintRectForLocalRect const):
(WebCore::DictationCaretAnimator::stop):
* Source/WebCore/platform/DictationCaretAnimator.h: Added.
* Source/WebCore/platform/OpacityCaretAnimator.cpp: Added.
(WebCore::OpacityCaretAnimator::OpacityCaretAnimator):
(WebCore::OpacityCaretAnimator::keyframeTimeDelta const):
(WebCore::OpacityCaretAnimator::setBlinkingSuspended):
(WebCore::OpacityCaretAnimator::updateAnimationProperties):
(WebCore::OpacityCaretAnimator::start):
(WebCore::OpacityCaretAnimator::debugDescription const):
(WebCore::OpacityCaretAnimator::paint const):
(WebCore::OpacityCaretAnimator::caretRepaintRectForLocalRect const):
* Source/WebCore/platform/OpacityCaretAnimator.h: Added.
* Source/WebCore/rendering/CaretRectComputation.cpp:
(WebCore::caretWidth):
* Source/WebCore/rendering/CaretRectComputation.h:
(WebCore::redesignedTextCursorEnabled):
* Source/WebCore/rendering/RenderThemeCocoa.mm:
(WebCore::canShowCapsLockIndicator):
* Source/WebCore/rendering/TextBoxPainter.cpp:
(WebCore::radiiForUnderline):
(WebCore::trimRadii):
(WebCore::snapRectToDevicePixelsInDirection):
(WebCore::layoutBoxSequenceLocation):
(WebCore::TextBoxPainter<TextBoxPath>::fillCompositionUnderline const):
* Source/WebKit/Platform/cocoa/_WKWebViewTextInputNotifications.h: Added.
* Source/WebKit/Platform/cocoa/_WKWebViewTextInputNotifications.mm: Added.
(-[_WKWebViewTextInputNotifications caretType]):
(-[_WKWebViewTextInputNotifications initWithWebView:]):
(-[_WKWebViewTextInputNotifications dictationDidStart]):
(-[_WKWebViewTextInputNotifications dictationDidEnd]):
(-[_WKWebViewTextInputNotifications dictationDidPause]):
(-[_WKWebViewTextInputNotifications dictationDidResume]):
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::selectionDidChange):
(WebKit::WebViewImpl::updateCaretDecorationPlacement):
(WebKit::subscribeToTextInputNotifications):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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




More information about the webkit-changes mailing list