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

Said Abou-Hallawa noreply at github.com
Thu Feb 2 14:02:03 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb20f68f21269357d577a49f976ab8ed8dd7c99c
      https://github.com/WebKit/WebKit/commit/bb20f68f21269357d577a49f976ab8ed8dd7c99c
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-02-02 (Thu, 02 Feb 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/graphics/controls/ControlFactory.h
    A Source/WebCore/platform/graphics/controls/SearchFieldResultsPart.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/SearchFieldResultsMac.h
    A Source/WebCore/platform/graphics/mac/controls/SearchFieldResultsMac.mm
    M Source/WebCore/platform/mac/ThemeMac.h
    M Source/WebCore/platform/mac/ThemeMac.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

  Log Message:
  -----------
  [GPU Process] [FormControls] Add a ControlPart for SearchFieldResultsButton and SearchFieldResultsDecoration
https://bugs.webkit.org/show_bug.cgi?id=251373
rdar://104825004

Reviewed by Aditya Keerthi.

This ControlPart will handle drawing the SearchField results button and the
SearchField results decoration which will be created for the following markup:

'<input type="search" results="0">'
'<input type="search" results="num">' where num > 0 respectivly.

The existing position calculations are not needed and seem to be incorrect.

For macOS, AppKit will be used to draw the platform controls.

* Source/WebCore/Headers.cmake:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/controls/ControlFactory.h:
* Source/WebCore/platform/graphics/controls/SearchFieldResultsPart.h: Added.
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm:
(WebCore::ControlFactoryMac::searchMenuTemplate const):
(WebCore::ControlFactoryMac::createPlatformSearchFieldResults):
* Source/WebCore/platform/graphics/mac/controls/SearchFieldResultsMac.h: Added.
* Source/WebCore/platform/graphics/mac/controls/SearchFieldResultsMac.mm: Added.
(WebCore::SearchFieldResultsMac::SearchFieldResultsMac):
(WebCore::SearchFieldResultsMac::updateCellStates):
(WebCore::SearchFieldResultsMac::draw):
* Source/WebCore/platform/mac/ThemeMac.h:
* Source/WebCore/platform/mac/ThemeMac.mm:
(WebCore::drawCellFocusRingWithFrameAtTime): Deleted.
(WebCore::drawCellFocusRing): Deleted.
(WebCore::drawCellOrFocusRingIntoRectWithView): Deleted.
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext): Deleted.
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::createControlPart const):
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::canPaint const):
(WebCore::RenderThemeMac::canCreateControlPartForRenderer const):
(WebCore::convertToPaintingPosition): Deleted.
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary): Deleted.
(WebCore::RenderThemeMac::setSearchCellState): Deleted.
(WebCore::RenderThemeMac::paintSearchFieldDecorationPart): Deleted.
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart): Deleted.
(WebCore::RenderThemeMac::paintSearchFieldResultsButton): Deleted.
(WebCore::RenderThemeMac::search const): Deleted.
(WebCore::RenderThemeMac::searchMenuTemplate const): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ControlPart>::decode):

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




More information about the webkit-changes mailing list