[webkit-changes] [WebKit/WebKit] 1674cd: [GPU Process] [FormControls] Add a ControlPart for...

Said Abou-Hallawa noreply at github.com
Tue Jan 3 15:53:54 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1674cd025bc6a390cb98dbe576137d3b4a24f873
      https://github.com/WebKit/WebKit/commit/1674cd025bc6a390cb98dbe576137d3b4a24f873
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-01-03 (Tue, 03 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/ControlPart.cpp
    M Source/WebCore/platform/graphics/controls/ControlPart.h
    M Source/WebCore/platform/graphics/controls/ControlStyle.cpp
    M Source/WebCore/platform/graphics/controls/ControlStyle.h
    M Source/WebCore/platform/graphics/controls/PlatformControl.h
    A Source/WebCore/platform/graphics/controls/ProgressBarPart.cpp
    A Source/WebCore/platform/graphics/controls/ProgressBarPart.h
    M Source/WebCore/platform/graphics/mac/controls/ButtonControlMac.mm
    M Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h
    M Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm
    M Source/WebCore/platform/graphics/mac/controls/ControlMac.h
    M Source/WebCore/platform/graphics/mac/controls/ControlMac.mm
    M Source/WebCore/platform/graphics/mac/controls/MeterMac.h
    A Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.h
    A Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.mm
    M Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h
    M Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.h
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/RenderTheme.h
    M Source/WebCore/rendering/RenderThemeAdwaita.cpp
    M Source/WebCore/rendering/RenderThemeAdwaita.h
    M Source/WebCore/rendering/RenderThemeMac.h
    M Source/WebCore/rendering/RenderThemeMac.mm
    M Source/WebKit/Shared/WTFArgumentCoders.serialization.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  [GPU Process] [FormControls] Add a ControlPart for ProgressBar
https://bugs.webkit.org/show_bug.cgi?id=249675
rdar://103569550

Reviewed by Aditya Keerthi.

The ProgressBarPart will handle drawing the progress bar form control. On macOS,
AppKit will be used to draw the platform control through the class ProgressBarMac.

ProgressBarPart will hold the attributes: 'position' and 'animationStartTime' which
control the display of the progress bar.

* 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/ControlPart.cpp:
(WebCore::ControlPart::rectForBounds):
* Source/WebCore/platform/graphics/controls/ControlPart.h:
* Source/WebCore/platform/graphics/controls/ControlStyle.cpp:
(WebCore::operator<<):
* Source/WebCore/platform/graphics/controls/ControlStyle.h:
* Source/WebCore/platform/graphics/controls/PlatformControl.h:
(WebCore::PlatformControl::rectForBounds const):
* Source/WebCore/platform/graphics/controls/ProgressBarPart.cpp: Copied from Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.h.(WebCore::ProgressBarPart::create):
(WebCore::ProgressBarPart::ProgressBarPart):
(WebCore::ProgressBarPart::createPlatformControl):
* Source/WebCore/platform/graphics/controls/ProgressBarPart.h: Copied from Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.h.
(WebCore::ProgressBarPart::position const):
(WebCore::ProgressBarPart::animationStartTime const):
* Source/WebCore/platform/graphics/mac/controls/ButtonControlMac.mm:
(WebCore::ButtonControlMac::updateCellStates):
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm:
(WebCore::ControlFactoryMac::createPlatformProgressBar):
* Source/WebCore/platform/graphics/mac/controls/ControlMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlMac.mm:
(WebCore::ControlMac::inflatedRect):
(WebCore::ControlMac::controlSizeForFont const):
(WebCore::ControlMac::controlSizeForSystemFont const):
(WebCore::ControlMac::controlSizeForSize const):
(WebCore::ControlMac::sizeForSystemFont const):
(WebCore::ControlMac::setFocusRingClipRect):
(WebCore::ControlMac::updateCellStates):
(WebCore::ControlMac::calculateControlSize const): Deleted.
* Source/WebCore/platform/graphics/mac/controls/MeterMac.h:
* Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.h: Copied from Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.h.
(WebCore::ProgressBarMac::owningProgressBarPart const):
* Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.mm: Added.
(WebCore::ProgressBarMac::ProgressBarMac):
(WebCore::ProgressBarMac::cellSize const):
(WebCore::ProgressBarMac::cellOutsets const):
(WebCore::ProgressBarMac::rectForBounds const):
(WebCore::ProgressBarMac::draw):
* Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h:
* Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.h:
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::createProgressBarPartForRenderer):
(WebCore::RenderTheme::createControlPart const):
(WebCore::RenderTheme::extractControlStyleStatesForRenderer const):
(WebCore::RenderTheme::progressBarRectForBounds const):
* Source/WebCore/rendering/RenderTheme.h:
* Source/WebCore/rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::progressBarRectForBounds const):
* Source/WebCore/rendering/RenderThemeAdwaita.h:
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::canPaint const):
(WebCore::RenderThemeMac::canCreateControlPartForRenderer const):
(WebCore::RenderThemeMac::progressBarRectForBounds const):
(-[WebCoreTextFieldCell _adjustedCoreUIDrawOptionsForDrawingBordersOnly:]): Deleted.
(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]): Deleted.
(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:maskOnly:]): Deleted.
(WebCore::RenderThemeMac::progressBarSizes const): Deleted.
(WebCore::RenderThemeMac::progressBarMargins const): Deleted.
(WebCore::RenderThemeMac::minimumProgressBarHeight const): Deleted.
(WebCore::RenderThemeMac::paintProgressBar): Deleted.
* Source/WebKit/Shared/WTFArgumentCoders.serialization.in:
* 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/258408@main




More information about the webkit-changes mailing list