[webkit-changes] [WebKit/WebKit] 5a3f07: [GPU Process] [FormControls] Add ControlPart for M...
Said Abou-Hallawa
noreply at github.com
Sun Jan 8 15:08:37 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5a3f07e17bd7743dd41a35fda78c9cce3a724a47
https://github.com/WebKit/WebKit/commit/5a3f07e17bd7743dd41a35fda78c9cce3a724a47
Author: Said Abou-Hallawa <said at apple.com>
Date: 2023-01-08 (Sun, 08 Jan 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/FloatRect.h
M Source/WebCore/platform/graphics/controls/ControlFactory.h
M Source/WebCore/platform/graphics/controls/ControlStyle.h
A Source/WebCore/platform/graphics/controls/MenuListButtonPart.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/MenuListButtonMac.h
A Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.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 ControlPart for MenuListButton
https://bugs.webkit.org/show_bug.cgi?id=249988
rdar://103803444
Reviewed by Aditya Keerthi.
This ControlPart will handle drawing the button and background of the MenuList
if the zoomFactor != 100% (i.e. <select style="zoom: 200%;">...</select>). For
macOS, the GraphicsContext APIs will be used to draw the platform control.
* Source/WebCore/Headers.cmake:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/platform/graphics/FloatRect.h:
(WebCore::FloatRect::contract):
* Source/WebCore/platform/graphics/controls/ControlFactory.h:
* Source/WebCore/platform/graphics/controls/ControlStyle.h:
* Source/WebCore/platform/graphics/controls/MenuListButtonPart.h: Copied from Source/WebCore/platform/graphics/controls/ControlStyle.h.
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.h:
* Source/WebCore/platform/graphics/mac/controls/ControlFactoryMac.mm:
(WebCore::ControlFactoryMac::createPlatformColorWell):
(WebCore::ControlFactoryMac::createPlatformMenuListButton):
* Source/WebCore/platform/graphics/mac/controls/ControlMac.h:
* Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.h: Copied from Source/WebCore/platform/graphics/controls/ControlStyle.h.
* Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.mm: Added.
(WebCore::MenuListButtonMac::MenuListButtonMac):
(WebCore::topGradientInterpolate):
(WebCore::bottomGradientInterpolate):
(WebCore::mainGradientInterpolate):
(WebCore::drawMenuListBackground):
(WebCore::MenuListButtonMac::draw):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::ensureControlPart):
(WebCore::RenderBox::ensureControlPartForRenderer):
(WebCore::RenderBox::ensureControlPartForBorderOnly):
(WebCore::RenderBox::ensureControlPartForDecorations):
(WebCore::RenderBox::paintBoxDecorations):
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::createControlPart const):
(WebCore::RenderTheme::extractControlStyleForRenderer const):
* Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::canCreateControlPartForDecorations const):
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::canPaint const):
(WebCore::RenderThemeMac::canCreateControlPartForDecorations const):
(WebCore::TopGradientInterpolate): Deleted.
(WebCore::BottomGradientInterpolate): Deleted.
(WebCore::MainGradientInterpolate): Deleted.
(WebCore::RenderThemeMac::paintMenuListButtonGradients): Deleted.
(WebCore::RenderThemeMac::paintMenuListButtonDecorations): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ControlPart>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Canonical link: https://commits.webkit.org/258644@main
More information about the webkit-changes
mailing list