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

Said Abou-Hallawa noreply at github.com
Thu Jan 5 10:55:09 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 13bd3d0bfff1b515cfc56ab9a9f9f249891f5831
      https://github.com/WebKit/WebKit/commit/13bd3d0bfff1b515cfc56ab9a9f9f249891f5831
  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/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/platform/graphics/controls/ButtonPart.h
    M Source/WebCore/platform/graphics/controls/ControlFactory.h
    A Source/WebCore/platform/graphics/mac/controls/ButtonMac.h
    A Source/WebCore/platform/graphics/mac/controls/ButtonMac.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/ProgressBarMac.h
    M Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.mm
    M Source/WebCore/platform/mac/ThemeMac.mm
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/RenderThemeMac.mm
    M Source/WebKit/Shared/WebCoreArgumentCoders.cpp

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

Reviewed by Aditya Keerthi.

ButtonPart will handle drawing the button form control. This covers the parts'
types: Button, PushButton, DefaultButton and SquareButton. The following HTML
markup shows different buttons in the page:

<button>
<input type="button">
<input type="submit">
<input type="reset">
<input type="file">

On macOS, AppKit will be used to draw the platform controls through ButtonMac.

* Source/WebCore/Headers.cmake:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/controls/ButtonPart.h: Copied from Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h.
* Source/WebCore/platform/graphics/controls/ControlFactory.h:
* Source/WebCore/platform/graphics/controls/PlatformControl.h:
(WebCore::PlatformControl::rectForBounds const):
* Source/WebCore/platform/graphics/mac/controls/ButtonMac.h: Copied from Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h.
* Source/WebCore/platform/graphics/mac/controls/ButtonMac.mm: Added.
(WebCore::ButtonMac::ButtonMac):
(WebCore::ButtonMac::cellSize const):
(WebCore::ButtonMac::cellOutsets const):
(WebCore::ButtonMac::bezelStyle const):
(WebCore::ButtonMac::updateCellStates):
(WebCore::ButtonMac::rectForBounds const):
(WebCore::ButtonMac::draw):
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm:
(WebCore::createButtonCell):
(WebCore::ControlFactoryMac::buttonCell const):
(WebCore::ControlFactoryMac::defaultButtonCell const):
(WebCore::ControlFactoryMac::createPlatformButton):
* Source/WebCore/platform/graphics/mac/controls/ControlMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlMac.mm:
(WebCore::ControlMac::setFocusRingClipRect):
(WebCore::ControlMac::inflatedRect):
* Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h:
* Source/WebCore/platform/mac/ThemeMac.mm:
(WebCore::button):
(WebCore::ThemeMac::paint):
(WebCore::paintButton): Deleted.
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::createControlPart const):
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::canPaint const):
(WebCore::RenderThemeMac::canCreateControlPartForRenderer const):
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ControlPart>::decode):

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




More information about the webkit-changes mailing list