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

Said Abou-Hallawa noreply at github.com
Mon Dec 19 23:45:51 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8209e22dca2cc1df925cf2aae58a982a66a93dde
      https://github.com/WebKit/WebKit/commit/8209e22dca2cc1df925cf2aae58a982a66a93dde
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2022-12-19 (Mon, 19 Dec 2022)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    A Source/WebCore/PAL/pal/spi/mac/NSTextFieldCellSPI.h
    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.h
    M Source/WebCore/platform/graphics/controls/ControlStyle.cpp
    M Source/WebCore/platform/graphics/controls/ControlStyle.h
    A Source/WebCore/platform/graphics/controls/TextFieldPart.h
    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.mm
    A Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h
    A Source/WebCore/platform/graphics/mac/controls/TextFieldMac.mm
    M Source/WebCore/platform/graphics/mac/controls/WebControlView.h
    M Source/WebCore/platform/graphics/mac/controls/WebControlView.mm
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBox.h
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/RenderTheme.h
    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 a ControlPart for TextField
https://bugs.webkit.org/show_bug.cgi?id=249573
rdar://103508637

Reviewed by Simon Fraser and Aditya Keerthi.

NSTextFieldCell is used draw a border around the text field. CoreUI is used to
draw a list button if the text field has a data list.

* Source/WebCore/Headers.cmake:
* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/PAL/pal/spi/mac/NSTextFieldCellSPI.h: Added.
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/controls/ControlFactory.h:
* 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/TextFieldPart.h: Copied from Source/WebCore/platform/graphics/controls/ControlFactory.h.
(WebCore::TextFieldPart::create):
(WebCore::TextFieldPart::TextFieldPart):
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm:
(WebCore::ControlFactoryMac::levelIndicatorCell const):
(WebCore::ControlFactoryMac::textFieldCell const):
(WebCore::ControlFactoryMac::createPlatformTextField):
* Source/WebCore/platform/graphics/mac/controls/ControlMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlMac.mm:
(WebCore::ControlMac::userPrefersContrast):
(WebCore::drawCellOrFocusRing):
(WebCore::ControlMac::drawCell):
(WebCore::ControlMac::drawListButton):
(WebCore::ControlMac::draw): Deleted.
* Source/WebCore/platform/graphics/mac/controls/MeterMac.mm:
(WebCore::MeterMac::draw):
* Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h: Copied from Source/WebCore/platform/graphics/controls/ControlFactory.h.
* Source/WebCore/platform/graphics/mac/controls/TextFieldMac.mm: Added.
(WebCore::TextFieldMac::TextFieldMac):
(WebCore::TextFieldMac::shouldPaintCustomTextField):
(WebCore::TextFieldMac::draw):
* Source/WebCore/platform/graphics/mac/controls/WebControlView.h:
* Source/WebCore/platform/graphics/mac/controls/WebControlView.mm:
(-[WebControlTextFieldCell _adjustedCoreUIDrawOptionsForDrawingBordersOnly:]):
(-[WebControlTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
(-[WebControlTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:maskOnly:]):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::ensureControlPartForRenderer):
(WebCore::RenderBox::ensureControlPartForBorderOnly):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::ensureControlPart): Deleted.
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::createControlPart const):
(WebCore::RenderTheme::extractControlStyleStatesForRenderer const):
(WebCore::RenderTheme::hasListButton const):
(WebCore::RenderTheme::hasListButtonPressed const):
(WebCore::RenderTheme::createControlPartForRenderer const): Deleted.
* Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::canCreateControlPartForBorderOnly const):
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::canPaint const):
(WebCore::RenderThemeMac::canCreateControlPartForBorderOnly const):
(WebCore::RenderThemeMac::meterSizeForBounds const):
(WebCore::RenderThemeMac::shouldPaintCustomTextField const): Deleted.
(WebCore::RenderThemeMac::paintTextField): Deleted.
(WebCore::RenderThemeMac::textField const): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ControlPart>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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




More information about the webkit-changes mailing list