[webkit-changes] [WebKit/WebKit] 763b29: [GPU Process] [FormControls] Add ControlParts for ...

Said Abou-Hallawa noreply at github.com
Thu Jan 5 18:47:13 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 763b293216be504ad2cffa1429628f6ce5f08bc9
      https://github.com/WebKit/WebKit/commit/763b293216be504ad2cffa1429628f6ce5f08bc9
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/graphics/controls/ControlFactory.h
    M Source/WebCore/platform/graphics/controls/ControlStyle.cpp
    M Source/WebCore/platform/graphics/controls/ControlStyle.h
    A Source/WebCore/platform/graphics/controls/SliderThumbPart.h
    A Source/WebCore/platform/graphics/controls/SliderTrackPart.cpp
    A Source/WebCore/platform/graphics/controls/SliderTrackPart.h
    M Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h
    M Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm
    A Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.h
    A Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.mm
    A Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.h
    A Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.mm
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/RenderThemeMac.h
    M Source/WebCore/rendering/RenderThemeMac.mm
    M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  [GPU Process] [FormControls] Add ControlParts for SliderTrack and SliderThumb
https://bugs.webkit.org/show_bug.cgi?id=249921
rdar://103737847

Reviewed by Aditya Keerthi.

These ControlParts will handle drawing the SliderTrack and the SliderThumb form
controls (i.e. <input type="range" ...>). For macOS, AppKit will be used to draw
the platform controls through SliderTrackMac and SliderThumbMac.

* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/controls/ControlFactory.h:
* Source/WebCore/platform/graphics/controls/ControlStyle.cpp:
(WebCore::operator<<):
* Source/WebCore/platform/graphics/controls/ControlStyle.h:
* Source/WebCore/platform/graphics/controls/SliderThumbPart.h: Copied from Source/WebCore/platform/graphics/controls/ControlStyle.h.
* Source/WebCore/platform/graphics/controls/SliderTrackPart.cpp: Added.
(WebCore::SliderTrackPart::create):
(WebCore::SliderTrackPart::SliderTrackPart):
(WebCore::SliderTrackPart::drawTicks const):
(WebCore::SliderTrackPart::createPlatformControl):
* Source/WebCore/platform/graphics/controls/SliderTrackPart.h: Copied from Source/WebCore/platform/graphics/controls/ControlStyle.h.
(WebCore::SliderTrackPart::thumbSize const):
(WebCore::SliderTrackPart::trackBounds const):
(WebCore::SliderTrackPart::tickRatios const):
(isType):
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm:
(WebCore::ControlFactoryMac::sliderCell const):
(WebCore::ControlFactoryMac::createPlatformSliderThumb):
(WebCore::ControlFactoryMac::createPlatformSliderTrack):
* Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.h: Copied from Source/WebCore/platform/graphics/controls/ControlStyle.h.
* Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.mm: Added.
(WebCore::SliderThumbMac::SliderThumbMac):
(WebCore::SliderThumbMac::updateCellStates):
(WebCore::SliderThumbMac::rectForBounds const):
(WebCore::SliderThumbMac::draw):
* Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.h: Copied from Source/WebCore/platform/graphics/controls/ControlStyle.h.
(WebCore::SliderTrackMac::owningSliderTrackPart const):
* Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.mm: Added.
(WebCore::SliderTrackMac::SliderTrackMac):
(WebCore::SliderTrackMac::rectForBounds const):
(WebCore::trackGradientInterpolate):
(WebCore::SliderTrackMac::draw):
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::createSliderTrackPartForRenderer):
(WebCore::RenderTheme::createControlPart const):
(WebCore::RenderTheme::extractControlStyleStatesForRenderer const):
(WebCore::RenderTheme::extractControlStyleForRenderer const):
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::canPaint const):
(WebCore::RenderThemeMac::canCreateControlPartForRenderer const):
(WebCore::TrackGradientInterpolate): Deleted.
(WebCore::RenderThemeMac::paintSliderTrack): Deleted.
(WebCore::RenderThemeMac::paintSliderThumb): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ControlPart>::encode):
(IPC::ArgumentCoder<ControlPart>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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




More information about the webkit-changes mailing list