[webkit-changes] [WebKit/WebKit] da1201: Remove lazy repaints from RenderView and more

Anne van Kesteren noreply at github.com
Tue Dec 12 08:51:40 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: da12017bead8aa1b692483acae18be32813f8940
      https://github.com/WebKit/WebKit/commit/da12017bead8aa1b692483acae18be32813f8940
  Author: Anne van Kesteren <annevk at annevk.nl>
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
    M Source/WebCore/platform/ControlStates.h
    M Source/WebCore/rendering/RenderAttachment.cpp
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderElement.h
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/RenderTheme.h
    M Source/WebCore/rendering/RenderView.cpp
    M Source/WebCore/rendering/RenderView.h

  Log Message:
  -----------
  Remove lazy repaints from RenderView and more
https://bugs.webkit.org/show_bug.cgi?id=266272

Reviewed by Aditya Keerthi.

I looked into whether the controlStates argument of
RenderTheme::paint() could be removed as it's only used by a single
theme.

I then discovered that ControlStates's needsRepaint() always returned
false. I then checked other state in ControlStates and that was
similarly not manipulated anywhere and thus could be removed.

Since needsRepaint() was false, scheduleLazyRepaint() was never called.
This allowed for removal of lazy repaints and their Timer
infrastructure.

I suspect that we want to get rid of ControlStates in its entirety in
favor of ControlStyle, but baby steps.

* Source/WebCore/platform/ControlStates.h:
(WebCore::ControlStates::setStates):
(WebCore::ControlStates::needsRepaint const): Deleted.
(WebCore::ControlStates::setNeedsRepaint): Deleted.
(WebCore::ControlStates::isDirty const): Deleted.
(WebCore::ControlStates::setDirty): Deleted.
(WebCore::ControlStates::timeSinceControlWasFocused const): Deleted.
(WebCore::ControlStates::setTimeSinceControlWasFocused): Deleted.
(WebCore::ControlStates::platformControl const): Deleted.
(WebCore::ControlStates::setPlatformControl): Deleted.
(): Deleted.
* Source/WebCore/rendering/RenderAttachment.cpp:
(WebCore::RenderAttachment::paintReplaced):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::controlStatesRendererMap): Deleted.
(WebCore::controlStatesForRenderer): Deleted.
(WebCore::removeControlStatesForRenderer): Deleted.
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* Source/WebCore/rendering/RenderElement.h:
(WebCore::RenderElement::setRenderBoxNeedsLazyRepaint): Deleted.
(WebCore::RenderElement::renderBoxNeedsLazyRepaint const): Deleted.
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::updateControlStatesForRenderer const): Deleted.
* Source/WebCore/rendering/RenderTheme.h:
* Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::scheduleLazyRepaint): Deleted.
(WebCore::RenderView::unscheduleLazyRepaint): Deleted.
(WebCore::RenderView::lazyRepaintTimerFired): Deleted.
* Source/WebCore/rendering/RenderView.h:

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




More information about the webkit-changes mailing list