[webkit-changes] [WebKit/WebKit] cebe6c: Adjust cursor animator properties

mwyrzykowski noreply at github.com
Tue Apr 18 10:57:31 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cebe6cd67d9d949d227afe615b2965806c96b71a
      https://github.com/WebKit/WebKit/commit/cebe6cd67d9d949d227afe615b2965806c96b71a
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2023-04-18 (Tue, 18 Apr 2023)

  Changed paths:
    M Source/WebCore/editing/FrameSelection.cpp
    M Source/WebCore/platform/CaretAnimator.cpp
    M Source/WebCore/platform/CaretAnimator.h
    M Source/WebCore/rendering/RenderBlock.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  -----------
  Adjust cursor animator properties
https://bugs.webkit.org/show_bug.cgi?id=255399
<radar://107662722>

Reviewed by Aditya Keerthi.

This patch allows suspending the blink state of the
cursor from the UI process, moves logic from an
static internal function to a virtual function,
and corrects an issue where the caret does not
start animating after a transition.

This also removes CaretAnimator::addLine which is no longer used.

* Source/WebCore/editing/FrameSelection.cpp:
(WebCore::CaretBase::paintCaret const):
(WebCore::FrameSelection::caretAnimatorInvalidated):
Ensure animator starts animating after a caret transition.

(WebCore::FrameSelection::updateAppearance):
With CaretAnimator's stop function virtual, send the reason
for why the stop was issued.

* Source/WebCore/platform/CaretAnimator.cpp:
(WebCore::CaretAnimator::adjustedClipRect const):
Allow specific animator's to override the clip rectangle.

* Source/WebCore/platform/CaretAnimator.h:
(WebCore::CaretAnimator::stop):
Allow for a reason to be used in determining stop behavior.

(WebCore::CaretAnimator::addLine const): Deleted.
This is no longer needed.

* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
Revert previously added changes.

(WebCore::renderCaretInsideContentsClip): Deleted.
This is no longer used, instead CaretAnimator has a virtual member
function to control the clip rectangle.

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setCaretBlinkingSuspended):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setCaretBlinkingSuspended):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
Allow blink to be suspended from the UI process.

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




More information about the webkit-changes mailing list