[webkit-changes] [WebKit/WebKit] b6af44: REGRESSION(258644 at main): The <select> control look...
Said Abou-Hallawa
noreply at github.com
Tue Jan 24 18:10:54 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b6af447cab8cbceedc894aaf219b4ce25d6724b8
https://github.com/WebKit/WebKit/commit/b6af447cab8cbceedc894aaf219b4ce25d6724b8
Author: Said Abou-Hallawa <said at apple.com>
Date: 2023-01-24 (Tue, 24 Jan 2023)
Changed paths:
M Source/WebCore/platform/graphics/GraphicsContext.cpp
M Source/WebCore/platform/graphics/GraphicsContext.h
M Source/WebCore/platform/graphics/controls/ControlPart.cpp
M Source/WebCore/platform/graphics/controls/ControlPart.h
M Source/WebCore/platform/graphics/controls/PlatformControl.h
M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h
M Source/WebCore/platform/graphics/mac/controls/ButtonMac.h
M Source/WebCore/platform/graphics/mac/controls/ButtonMac.mm
M Source/WebCore/platform/graphics/mac/controls/ColorWellMac.h
M Source/WebCore/platform/graphics/mac/controls/ColorWellMac.mm
M Source/WebCore/platform/graphics/mac/controls/ImageControlsButtonMac.h
M Source/WebCore/platform/graphics/mac/controls/ImageControlsButtonMac.mm
M Source/WebCore/platform/graphics/mac/controls/InnerSpinButtonMac.h
M Source/WebCore/platform/graphics/mac/controls/InnerSpinButtonMac.mm
M Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.h
M Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.mm
M Source/WebCore/platform/graphics/mac/controls/MenuListMac.h
M Source/WebCore/platform/graphics/mac/controls/MenuListMac.mm
M Source/WebCore/platform/graphics/mac/controls/MeterMac.h
M Source/WebCore/platform/graphics/mac/controls/MeterMac.mm
M Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.h
M Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.mm
M Source/WebCore/platform/graphics/mac/controls/SearchFieldCancelButtonMac.h
M Source/WebCore/platform/graphics/mac/controls/SearchFieldCancelButtonMac.mm
M Source/WebCore/platform/graphics/mac/controls/SearchFieldMac.h
M Source/WebCore/platform/graphics/mac/controls/SearchFieldMac.mm
M Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.h
M Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.mm
M Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.h
M Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.mm
M Source/WebCore/platform/graphics/mac/controls/TextAreaMac.h
M Source/WebCore/platform/graphics/mac/controls/TextAreaMac.mm
M Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h
M Source/WebCore/platform/graphics/mac/controls/TextFieldMac.mm
M Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.h
M Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.mm
M Source/WebCore/rendering/RenderTheme.cpp
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h
Log Message:
-----------
REGRESSION(258644 at main): The <select> control looks dark when zooming in
https://bugs.webkit.org/show_bug.cgi?id=250798
rdar://104196022
Reviewed by Simon Fraser.
Calling getRoundedBorderFor() was dropped in 258644 at main when refactoring the
MenuListButton drawing to go through GraphicsContext. This caused the left and
right border gradients to be not clipped. And this made the background of the
control part to be filled with the border gradient which is dark gray.
Because we do not have access to the RenderStyle in platform/graphics, we have to
calculate getRoundedBorderFor() the control part rect in RenderTheme::paint() and
pass it all the way to GraphicsContext and to DisplayList::Recorder.
* Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawControlPart):
* Source/WebCore/platform/graphics/GraphicsContext.h:
* Source/WebCore/platform/graphics/controls/ControlPart.cpp:
(WebCore::ControlPart::draw const):
* Source/WebCore/platform/graphics/controls/ControlPart.h:
* Source/WebCore/platform/graphics/controls/PlatformControl.h:
(WebCore::PlatformControl::draw):
* Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawControlPart::DrawControlPart):
(WebCore::DisplayList::DrawControlPart::apply):
(WebCore::DisplayList::dumpItem):
* Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawControlPart::borderRect const):
(WebCore::DisplayList::DrawControlPart::rect const): Deleted.
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawControlPart):
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordDrawControlPart):
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h:
* Source/WebCore/platform/graphics/mac/controls/ButtonMac.h:
* Source/WebCore/platform/graphics/mac/controls/ButtonMac.mm:
(WebCore::ButtonMac::draw):
* Source/WebCore/platform/graphics/mac/controls/ColorWellMac.h:
* Source/WebCore/platform/graphics/mac/controls/ColorWellMac.mm:
(WebCore::ColorWellMac::draw):
* Source/WebCore/platform/graphics/mac/controls/ImageControlsButtonMac.h:
* Source/WebCore/platform/graphics/mac/controls/ImageControlsButtonMac.mm:
(WebCore::ImageControlsButtonMac::draw):
* Source/WebCore/platform/graphics/mac/controls/InnerSpinButtonMac.h:
* Source/WebCore/platform/graphics/mac/controls/InnerSpinButtonMac.mm:
(WebCore::InnerSpinButtonMac::draw):
* Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.h:
* Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.mm:
(WebCore::drawMenuListBackground):
(WebCore::MenuListButtonMac::draw):
* Source/WebCore/platform/graphics/mac/controls/MenuListMac.h:
* Source/WebCore/platform/graphics/mac/controls/MenuListMac.mm:
(WebCore::MenuListMac::draw):
* Source/WebCore/platform/graphics/mac/controls/MeterMac.h:
* Source/WebCore/platform/graphics/mac/controls/MeterMac.mm:
(WebCore::MeterMac::draw):
* Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.h:
* Source/WebCore/platform/graphics/mac/controls/ProgressBarMac.mm:
(WebCore::ProgressBarMac::draw):
* Source/WebCore/platform/graphics/mac/controls/SearchFieldCancelButtonMac.h:
* Source/WebCore/platform/graphics/mac/controls/SearchFieldCancelButtonMac.mm:
(WebCore::SearchFieldCancelButtonMac::draw):
* Source/WebCore/platform/graphics/mac/controls/SearchFieldMac.h:
* Source/WebCore/platform/graphics/mac/controls/SearchFieldMac.mm:
(WebCore::SearchFieldMac::draw):
* Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.h:
* Source/WebCore/platform/graphics/mac/controls/SliderThumbMac.mm:
(WebCore::SliderThumbMac::draw):
* Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.h:
* Source/WebCore/platform/graphics/mac/controls/SliderTrackMac.mm:
(WebCore::SliderTrackMac::draw):
* Source/WebCore/platform/graphics/mac/controls/TextAreaMac.h:
* Source/WebCore/platform/graphics/mac/controls/TextAreaMac.mm:
(WebCore::TextAreaMac::draw):
* Source/WebCore/platform/graphics/mac/controls/TextFieldMac.h:
* Source/WebCore/platform/graphics/mac/controls/TextFieldMac.mm:
(WebCore::TextFieldMac::draw):
* Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.h:
* Source/WebCore/platform/graphics/mac/controls/ToggleButtonMac.mm:
(WebCore::ToggleButtonMac::draw):
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawControlPart):
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawControlPart):
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
Canonical link: https://commits.webkit.org/259325@main
More information about the webkit-changes
mailing list