Timeline
Nov 27, 2021:
- 8:28 PM Changeset in webkit [286193] by
-
- 22 edits7 adds4 deletes in trunk/Source/WebCore
[GPU Process] Implement FilterEffect CoreImage appliers
https://bugs.webkit.org/show_bug.cgi?id=232831
Reviewed by Cameron McCormack.
This will allow applying the CoreImage filters through FilterEffect::apply().
It will also allow passing FilterImages to the FilterEffect CoreImage
appliers. This will require adding a CIImage as a possible result to
FilterImage.
If the CoreImage filters are enabled, the Filter will check if all the
FilterEffects supports CoreImage rendering. And if one if them does not
support it, the renderingMode will be switched to Unaccelerated.
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/coreimage/FEColorMatrixCoreImageApplier.h: Copied from Source/WebCore/platform/graphics/filters/FilterEffectRenderer.cpp.
- platform/graphics/coreimage/FEColorMatrixCoreImageApplier.mm: Added.
(WebCore::FEColorMatrixCoreImageApplier::FEColorMatrixCoreImageApplier):
(WebCore::FEColorMatrixCoreImageApplier::supportsCoreImageRendering):
(WebCore::FEColorMatrixCoreImageApplier::apply const):
- platform/graphics/coreimage/FEComponentTransferCoreImageApplier.h: Renamed from Source/WebCore/platform/graphics/filters/FilterEffectRenderer.h.
- platform/graphics/coreimage/FEComponentTransferCoreImageApplier.mm: Added.
(WebCore::FEComponentTransferCoreImageApplier::FEComponentTransferCoreImageApplier):
(WebCore::FEComponentTransferCoreImageApplier::supportsCoreImageRendering):
(WebCore::FEComponentTransferCoreImageApplier::apply const):
- platform/graphics/coreimage/FilterEffectRendererCoreImage.h: Removed.
- platform/graphics/coreimage/FilterEffectRendererCoreImage.mm: Removed.
- platform/graphics/coreimage/FilterImageCoreImage.mm: Added.
(WebCore::sharedCIContext):
(WebCore::FilterImage::setCIImage):
(WebCore::FilterImage::imageBufferFromCIImage):
- platform/graphics/coreimage/SourceGraphicCoreImageApplier.h: Copied from Source/WebCore/platform/graphics/filters/FilterEffectRenderer.cpp.
- platform/graphics/coreimage/SourceGraphicCoreImageApplier.mm: Renamed from Source/WebCore/platform/graphics/filters/FilterEffectRenderer.cpp.
(WebCore::SourceGraphicCoreImageApplier::apply const):
- platform/graphics/cv/CVUtilities.mm:
- platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::supportsCoreImageRendering const):
(WebCore::FEColorMatrix::createApplier const):
- platform/graphics/filters/FEColorMatrix.h:
- platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::supportsCoreImageRendering const):
(WebCore::FEComponentTransfer::createApplier const):
- platform/graphics/filters/FEComponentTransfer.h:
- platform/graphics/filters/Filter.h:
(WebCore::Filter::Filter):
(): Deleted.
- platform/graphics/filters/FilterFunction.h:
(WebCore::FilterFunction::supportsCoreImageRendering const):
- platform/graphics/filters/FilterImage.cpp:
(WebCore::FilterImage::imageBuffer):
(WebCore::FilterImage::imageBufferFromPixelBuffer):
- platform/graphics/filters/FilterImage.h:
(WebCore::FilterImage::ciImage const):
- platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::createApplier const):
- platform/graphics/filters/SourceGraphic.h:
- platform/mac/ScrollingEffectsController.mm:
- rendering/CSSFilter.cpp:
(WebCore::CSSFilter::create):
(WebCore::CSSFilter::CSSFilter):
(WebCore::createSVGFilter):
(WebCore::CSSFilter::buildFilterFunctions):
(WebCore::CSSFilter::allocateBackingStoreIfNeeded):
(WebCore::CSSFilter::supportsCoreImageRendering const):
(WebCore::CSSFilter::apply):
(WebCore::CSSFilter::output):
(WebCore::CSSFilter::outputRect):
- rendering/CSSFilter.h:
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
- rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
- svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
(WebCore::SVGFilter::SVGFilter):
(WebCore::SVGFilter::supportsCoreImageRendering const):
- svg/graphics/filters/SVGFilter.h:
- 7:43 PM Changeset in webkit [286192] by
-
- 2 edits in trunk
Unreviewed, update atomics detection to make libpas built on Linux
- Source/cmake/WebKitCompilerFlags.cmake:
- 12:54 PM Changeset in webkit [286191] by
-
- 22 edits32 adds in trunk
[CSS Color 4] Add support for oklab() and oklch() colors
https://bugs.webkit.org/show_bug.cgi?id=233507
Reviewed by Cameron McCormack.
LayoutTests/imported/w3c:
Add new tests for oklab() and oklch() based on the existing lab()
and lch() tests.
- web-platform-tests/css/css-color/oklab-001-expected.html: Added.
- web-platform-tests/css/css-color/oklab-001.html: Added.
- web-platform-tests/css/css-color/oklab-002-expected.html: Added.
- web-platform-tests/css/css-color/oklab-002.html: Added.
- web-platform-tests/css/css-color/oklab-003-expected.html: Added.
- web-platform-tests/css/css-color/oklab-003.html: Added.
- web-platform-tests/css/css-color/oklab-004-expected.html: Added.
- web-platform-tests/css/css-color/oklab-004.html: Added.
- web-platform-tests/css/css-color/oklab-005-expected.html: Added.
- web-platform-tests/css/css-color/oklab-005.html: Added.
- web-platform-tests/css/css-color/oklab-006-expected.html: Added.
- web-platform-tests/css/css-color/oklab-006.html: Added.
- web-platform-tests/css/css-color/oklab-007-expected.html: Added.
- web-platform-tests/css/css-color/oklab-007.html: Added.
- web-platform-tests/css/css-color/oklab-008-expected.html: Added.
- web-platform-tests/css/css-color/oklab-008.html: Added.
- web-platform-tests/css/css-color/oklch-001-expected.html: Added.
- web-platform-tests/css/css-color/oklch-001.html: Added.
- web-platform-tests/css/css-color/oklch-002-expected.html: Added.
- web-platform-tests/css/css-color/oklch-002.html: Added.
- web-platform-tests/css/css-color/oklch-003-expected.html: Added.
- web-platform-tests/css/css-color/oklch-003.html: Added.
- web-platform-tests/css/css-color/oklch-004-expected.html: Added.
- web-platform-tests/css/css-color/oklch-004.html: Added.
- web-platform-tests/css/css-color/oklch-005-expected.html: Added.
- web-platform-tests/css/css-color/oklch-005.html: Added.
- web-platform-tests/css/css-color/oklch-006-expected.html: Added.
- web-platform-tests/css/css-color/oklch-006.html: Added.
- web-platform-tests/css/css-color/oklch-007-expected.html: Added.
- web-platform-tests/css/css-color/oklch-007.html: Added.
- web-platform-tests/css/css-color/oklch-008-expected.html: Added.
- web-platform-tests/css/css-color/oklch-008.html: Added.
Source/WebCore:
Tests: imported/w3c/web-platform-tests/css/css-color/oklab-001.html
imported/w3c/web-platform-tests/css/css-color/oklab-002.html
imported/w3c/web-platform-tests/css/css-color/oklab-003.html
imported/w3c/web-platform-tests/css/css-color/oklab-004.html
imported/w3c/web-platform-tests/css/css-color/oklab-005.html
imported/w3c/web-platform-tests/css/css-color/oklab-006.html
imported/w3c/web-platform-tests/css/css-color/oklab-007.html
imported/w3c/web-platform-tests/css/css-color/oklab-008.html
imported/w3c/web-platform-tests/css/css-color/oklch-001.html
imported/w3c/web-platform-tests/css/css-color/oklch-002.html
imported/w3c/web-platform-tests/css/css-color/oklch-003.html
imported/w3c/web-platform-tests/css/css-color/oklch-004.html
imported/w3c/web-platform-tests/css/css-color/oklch-005.html
imported/w3c/web-platform-tests/css/css-color/oklch-006.html
imported/w3c/web-platform-tests/css/css-color/oklch-007.html
imported/w3c/web-platform-tests/css/css-color/oklch-008.html
Adds support for oklab() and oklch() CSS colors and as interpolation
parameters for color-mix().
OKLab (and its polar form OKLCH) is a relatively new Lab-like colorspace that aims
to be an improved (improved hue linearity, hue uniformity, and chroma uniformity)
Lab. It was create by Björn Ottosson and is documented at https://bottosson.github.io/posts/oklab/.
- css/CSSValueKeywords.in:
Add 'oklab' and 'oklch' to the keyword list so they can be used as function
identifiers. Remove old mention of 'lab' in the color() function section,
since 'lab' is no longer a valid colorspace to use in the color() function
(rather, only lab() is supported).
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseLabParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLabParameters):
(WebCore::CSSPropertyParserHelpers::parseNonRelativeLabParameters):
(WebCore::CSSPropertyParserHelpers::parseLCHParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLCHParameters):
(WebCore::CSSPropertyParserHelpers::parseNonRelativeLCHParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunction):
Generalize lab and lch function parsing to also support the oklab and
oklch variants (they have the same parsing rules).
(WebCore::CSSPropertyParserHelpers::consumeColorMixColorSpaceAndComma):
(WebCore::CSSPropertyParserHelpers::mixColorComponents):
Add support for using oklab and oklch as the interpolation space of a color-mix().
This was already generalized so all it meant doing was adding mappings of the
new identifiers to enums and mixColorComponentsInColorSpace calls.
- platform/graphics/ColorComponents.h:
(WebCore::ColorComponents::subset const):
Fix compile error (no one had used subset yet it seems). 'std::remove_const_t<decltype(T::Size)>'
was likely copied from mapColorComponents() where it is templatized and needs to deduce the loop
variable, but that is not needed here.
- platform/graphics/ColorConversion.cpp:
(WebCore::convertToPolarForm):
(WebCore::convertToRectangularForm):
Move conversion to/from polar/rectangular forms from the LCHA conversion
code here, so that it can be reused for OKLCHA.
(WebCore::OKLab<float>>::convert):
Add support for converting OKLab to/from XYZ D65. Matrix values come from https://bottosson.github.io/posts/oklab/
with updates from https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484
(WebCore::OKLCHA<float>>::convert):
Add support for converting OKLCHA. This is identical to the LCHA code above.
(WebCore::converColorComponents):
Add cases for new colorspaces.
- platform/graphics/ColorConversion.h:
Add converters for new colorspaces. Update diagram with them as well.
- platform/graphics/ColorMatrix.h:
(WebCore::ColorMatrix::transformedColorComponents const):
Generalize transformedColorComponents to work with any size ColorComponents object. This allows
the OKLab conversion code to be a bit simpler as it can operate on just the non-alpha components
in a more systematic way.
- platform/graphics/ColorModels.h:
Add new predicate template variables to help when needing to check what model a particular
color type uses.
- platform/graphics/ColorSerialization.cpp:
(WebCore::serialization):
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
(WebCore::serializationForRenderTreeAsText):
Add serialization support for new colorspaces. Also removes unused support for serializing lab
colors using the color(lab ...) syntax which has not been supported for some time.
- platform/graphics/ColorSpace.cpp:
- platform/graphics/ColorSpace.h:
- platform/graphics/cg/ColorSpaceCG.h:
Add OKLab and OKLCH to the list of enumerated colorspaces and add mappings to their
newly defined types OKLab<T> and OKLCHA<T>.
- platform/graphics/ColorTypes.h:
(WebCore::OKLab::OKLab):
(WebCore::OKLCHA::OKLCHA):
Add new types OKLab<T> and OKLCHA<T> (it looks like at some point an earlier version of this
must have partially landed as there were existing forward declarations). Like Lab<T> and LCHA<T>,
these new types use the LabModel<T> and LCHModel<T> models, but unlike them they use a whitepoint
of D65.
- platform/graphics/ColorUtilities.h:
Generalize isBlack and isWhite to have a variant that works with Lab, LCH, OKLab and OKLCH (as they
all are identical) using SFINAE, use the new model predicates to make this more clear.
LayoutTests:
Update existing tests for lab() and lch() to also test oklab() and oklch().
As they have the same parsing rules, this is mostly done by templatizing
the tests and running them in a loop.
- fast/css/parsing-color-mix-expected.txt:
- fast/css/parsing-color-mix.html:
- fast/css/parsing-lab-colors-expected.txt:
- fast/css/parsing-lab-colors.html:
- fast/css/parsing-relative-color-syntax-expected.txt:
- fast/css/parsing-relative-color-syntax.html:
- 9:52 AM Changeset in webkit [286190] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Decouple display box construction for bidi and non-bidi content
https://bugs.webkit.org/show_bug.cgi?id=233531
Reviewed by Antti Koivisto.
Having a common display box creation codepath for both bidi and non-bidi content worked out well this far
but the upcoming inline box visual ordering will certainly make the common codepath unnecessarily confusing
for the non-bidi case.
In this patch the newly introduced append* functions manage the display box creation and
their callers (processNonBidiContent/processBidiContent) deal with the visual ordering details.
It means that the non-bidi codepath simply loops through the line runs and calls the append* functions,
while the bidi codepath keeps track of the visual ordering and calls the append* functions accordingly.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::appendTextDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSoftLineBreakDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendHardLineBreakDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendAtomicInlineLevelDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processOverflownRunsForEllipsis):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent): Deleted.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
- 8:41 AM Changeset in webkit [286189] by
-
- 5 edits in trunk
[GTK][a11y] Signal state-changed:selected is not emitted for listbox elements when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=233521
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Post a selected change notification for option elements when the state changes.
- accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setSelectedState):
Tools:
Add test cases to check that the signal is now emitted as expected.
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(AccessibilityTest::isSelected):
(testAccessibleStateChanged):
(testSelectionListBox):
(testSelectionMenuList):
- 1:44 AM Changeset in webkit [286188] by
-
- 2 edits in trunk/Source/WebCore
[:has() pseudo-class] Invalidation support for adding and removing elements
https://bugs.webkit.org/show_bug.cgi?id=233489
<rdar://problem/85754298>
Unreviewed followup.
Some unitialized bits caused us to do unnecessary work and regressed Speedometer.
- style/RuleFeature.h:
Initialize the usedMatchElements array.
Nov 26, 2021:
- 6:43 PM Changeset in webkit [286187] by
-
- 4 edits in trunk/Source/WebCore
Typo in ColorConversion code: converColorComponents
https://bugs.webkit.org/show_bug.cgi?id=233497
Reviewed by Ryosuke Niwa.
Fix typo in ColorConversion code. converColorComponents -> convertColorComponents
- platform/graphics/Color.cpp:
(WebCore::Color::toColorComponentsInColorSpace const):
- platform/graphics/ColorConversion.cpp:
(WebCore::convertColorComponents):
(WebCore::converColorComponents): Deleted.
- platform/graphics/ColorConversion.h:
- 3:51 PM Changeset in webkit [286186] by
-
- 74 edits in trunk/Source/WebCore
[GPU Process] Make FilterEffects create FilterEffectAppliers which will be used by FilterEffect::apply()
https://bugs.webkit.org/show_bug.cgi?id=233516
Reviewed by Cameron McCormack.
This step is required to allow integrating CoreImage FilterEffect appliers
in FilterEffect::apply(). Currently applying CoreImage FilterEffect has
to go to a different code path in FilterEffectRendererCoreImage.
- platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::createApplier const):
(WebCore::FEBlend::platformApplySoftware): Deleted.
- platform/graphics/filters/FEBlend.h:
- platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::createApplier const):
(WebCore::FEColorMatrix::platformApplySoftware): Deleted.
- platform/graphics/filters/FEColorMatrix.h:
- platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::createApplier const):
(WebCore::FEComponentTransfer::platformApplySoftware): Deleted.
- platform/graphics/filters/FEComponentTransfer.h:
- platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::createApplier const):
(WebCore::FEComposite::platformApplySoftware): Deleted.
- platform/graphics/filters/FEComposite.h:
- platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::createApplier const):
(WebCore::FEConvolveMatrix::platformApplySoftware): Deleted.
- platform/graphics/filters/FEConvolveMatrix.h:
- platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::createApplier const):
(WebCore::FEDisplacementMap::platformApplySoftware): Deleted.
- platform/graphics/filters/FEDisplacementMap.h:
- platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::createApplier const):
(WebCore::FEDropShadow::platformApplySoftware): Deleted.
- platform/graphics/filters/FEDropShadow.h:
- platform/graphics/filters/FEFlood.cpp:
(WebCore::FEFlood::createApplier const):
(WebCore::FEFlood::platformApplySoftware): Deleted.
- platform/graphics/filters/FEFlood.h:
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::createApplier const):
(WebCore::FEGaussianBlur::platformApplySoftware): Deleted.
- platform/graphics/filters/FEGaussianBlur.h:
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::createApplier const):
(WebCore::FELighting::platformApplySoftware): Deleted.
- platform/graphics/filters/FELighting.h:
- platform/graphics/filters/FEMerge.cpp:
(WebCore::FEMerge::createApplier const):
(WebCore::FEMerge::platformApplySoftware): Deleted.
- platform/graphics/filters/FEMerge.h:
- platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::createApplier const):
(WebCore::FEMorphology::platformApplySoftware): Deleted.
- platform/graphics/filters/FEMorphology.h:
- platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::createApplier const):
(WebCore::FEOffset::platformApplySoftware): Deleted.
- platform/graphics/filters/FEOffset.h:
- platform/graphics/filters/FETile.cpp:
(WebCore::FETile::createApplier const):
(WebCore::FETile::platformApplySoftware): Deleted.
- platform/graphics/filters/FETile.h:
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::createApplier const):
(WebCore::FETurbulence::platformApplySoftware): Deleted.
- platform/graphics/filters/FETurbulence.h:
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::apply):
- platform/graphics/filters/FilterEffect.h:
- platform/graphics/filters/FilterEffectApplier.h:
(WebCore::FilterEffectApplier::create):
(WebCore::FilterEffectConcreteApplier::FilterEffectConcreteApplier):
- platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::createApplier const):
(WebCore::SourceAlpha::platformApplySoftware): Deleted.
- platform/graphics/filters/SourceAlpha.h:
- platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::createApplier const):
(WebCore::SourceGraphic::platformApplySoftware): Deleted.
- platform/graphics/filters/SourceGraphic.h:
- platform/graphics/filters/software/FEBlendSoftwareApplier.cpp:
(WebCore::FEBlendSoftwareApplier::apply const):
(WebCore::FEBlendSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEBlendSoftwareApplier.h:
- platform/graphics/filters/software/FEColorMatrixSoftwareApplier.cpp:
(WebCore::FEColorMatrixSoftwareApplier::FEColorMatrixSoftwareApplier):
(WebCore::FEColorMatrixSoftwareApplier::apply const):
(WebCore::FEColorMatrixSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEColorMatrixSoftwareApplier.h:
- platform/graphics/filters/software/FEComponentTransferSoftwareApplier.cpp:
(WebCore::FEComponentTransferSoftwareApplier::apply const):
(WebCore::FEComponentTransferSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h:
- platform/graphics/filters/software/FECompositeSoftwareApplier.cpp:
(WebCore::FECompositeSoftwareApplier::applyArithmetic const):
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic const):
(WebCore::FECompositeSoftwareApplier::apply const):
(WebCore::FECompositeSoftwareApplier::applyArithmetic): Deleted.
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic): Deleted.
(WebCore::FECompositeSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FECompositeSoftwareApplier.h:
- platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.cpp:
(WebCore::FEConvolveMatrixSoftwareApplier::apply const):
(WebCore::FEConvolveMatrixSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h:
- platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.cpp:
(WebCore::FEDisplacementMapSoftwareApplier::FEDisplacementMapSoftwareApplier):
(WebCore::FEDisplacementMapSoftwareApplier::apply const):
(WebCore::FEDisplacementMapSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.h:
- platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp:
(WebCore::FEDropShadowSoftwareApplier::apply const):
(WebCore::FEDropShadowSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEDropShadowSoftwareApplier.h:
- platform/graphics/filters/software/FEFloodSoftwareApplier.cpp:
(WebCore::FEFloodSoftwareApplier::apply const):
(WebCore::FEFloodSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEFloodSoftwareApplier.h:
- platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:
(WebCore::FEGaussianBlurSoftwareApplier::apply const):
(WebCore::FEGaussianBlurSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.h:
- platform/graphics/filters/software/FELightingSoftwareApplier.cpp:
(WebCore::FELightingSoftwareApplier::apply const):
(WebCore::FELightingSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FELightingSoftwareApplier.h:
- platform/graphics/filters/software/FEMergeSoftwareApplier.cpp:
(WebCore::FEMergeSoftwareApplier::apply const):
(WebCore::FEMergeSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEMergeSoftwareApplier.h:
- platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp:
(WebCore::FEMorphologySoftwareApplier::apply const):
(WebCore::FEMorphologySoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEMorphologySoftwareApplier.h:
- platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp:
(WebCore::FEOffsetSoftwareApplier::apply const):
(WebCore::FEOffsetSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FEOffsetSoftwareApplier.h:
- platform/graphics/filters/software/FETileSoftwareApplier.cpp:
(WebCore::FETileSoftwareApplier::apply const):
(WebCore::FETileSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FETileSoftwareApplier.h:
- platform/graphics/filters/software/FETurbulenceSoftwareApplier.cpp:
(WebCore::FETurbulenceSoftwareApplier::apply const):
(WebCore::FETurbulenceSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/FETurbulenceSoftwareApplier.h:
- platform/graphics/filters/software/SourceAlphaSoftwareApplier.cpp:
(WebCore::SourceAlphaSoftwareApplier::apply const):
(WebCore::SourceAlphaSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/SourceAlphaSoftwareApplier.h:
- platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp:
(WebCore::SourceGraphicSoftwareApplier::apply const):
(WebCore::SourceGraphicSoftwareApplier::apply): Deleted.
- platform/graphics/filters/software/SourceGraphicSoftwareApplier.h:
- svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImageSoftwareApplier::apply const):
(WebCore::FEImage::createApplier const):
(WebCore::FEImageSoftwareApplier::apply): Deleted.
(WebCore::FEImage::platformApplySoftware): Deleted.
- svg/graphics/filters/SVGFEImage.h:
- 2:19 PM Changeset in webkit [286185] by
-
- 2 edits in trunk/Tools
[GTK] Gardening API test WebKit.OnDeviceChangedCrash as flaky timeout
Unreviewed test gardening.
Flakiness seems to have been introduced between 243131@main and
243249@main.
- TestWebKitAPI/glib/TestExpectations.json:
- 2:10 PM Changeset in webkit [286184] by
-
- 1 copy in releases/WPE WebKit/webkit-2.35.1
WPE WebKit 2.35.1
- 2:09 PM Changeset in webkit [286183] by
-
- 4 edits in trunk
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.35.1 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.35.1.
- 1:45 PM Changeset in webkit [286182] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed non-unified build fix.
No new tests needed.
- css/SelectorChecker.cpp: Add missin StyleRule.h header inclusion.
- 11:36 AM Changeset in webkit [286181] by
-
- 1 edit1 delete in trunk/LayoutTests
Remove focus-after-close-expected.txt for glib as it is identical as the cross-platform file
Unreviewed test gardening
- platform/glib/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close-expected.txt: Removed.
- 7:13 AM Changeset in webkit [286180] by
-
- 5 edits in trunk/Source/WebCore
[:has() pseudo-class] Don't traverse descendants during selector matching unless needed
https://bugs.webkit.org/show_bug.cgi?id=233520
Reviewed by Alan Bujtas.
It is sufficient to traverse direct children to match something like :has(> foo).
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
(WebCore::SelectorChecker::matchHasPseudoClass const):
Factor into a function.
Compute the match element for the :has() argument and use it to choose what to traverse.
- css/SelectorChecker.h:
- style/RuleFeature.cpp:
(WebCore::Style::computeNextMatchElement):
(WebCore::Style::computeHasPseudoClassMatchElement):
(WebCore::Style::computeSubSelectorMatchElement):
Make these free-standing functions and expose computeHasPseudoClassMatchElement.
(WebCore::Style::RuleFeatureSet::computeNextMatchElement): Deleted.
(WebCore::Style::RuleFeatureSet::computeSubSelectorMatchElement): Deleted.
- style/RuleFeature.h:
- 7:01 AM Changeset in webkit [286179] by
-
- 3 edits2 adds in trunk
REGRESSION(r286112): Style invalidation for text mutation happening after event dispatch
https://bugs.webkit.org/show_bug.cgi?id=233501
<rdar://problem/85754810>
Reviewed by Alan Bujtas.
Source/WebCore:
Test: fast/events/mutation-in-DOMCharacterDataModified.html
- dom/CharacterData.cpp:
(WebCore::CharacterData::setDataAndUpdate):
Scope ChildChangeInvalidation more narrowly.
LayoutTests:
- fast/events/mutation-in-DOMCharacterDataModified-expected.txt: Added.
- fast/events/mutation-in-DOMCharacterDataModified.html: Added.
- 6:42 AM Changeset in webkit [286178] by
-
- 8 edits in trunk/Source/WebCore
[LFC][IFC] Generate ellipsis boxes for tex-overflow: ellipsis
https://bugs.webkit.org/show_bug.cgi?id=233508
Reviewed by Antti Koivisto.
- Check for overflowing inline content
- Truncate runs to make room for the ellipsis content
(https://drafts.csswg.org/css-overflow/#text-overflow)
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::processOverflownRunsForEllipsis):
- layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/formattingContexts/inline/InlineRect.h:
(WebCore::Layout::InlineRect::setRight):
- layout/formattingContexts/inline/display/InlineDisplayBox.h:
(WebCore::InlineDisplay::Box::isEllipsis const):
(WebCore::InlineDisplay::Box::moveHorizontally):
(WebCore::InlineDisplay::Box::truncate):
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::breakWord):
- layout/formattingContexts/inline/text/TextUtil.h:
- 5:35 AM Changeset in webkit [286177] by
-
- 6 edits in trunk
[GTK][a11y] MenuListPopup elements should implement selection interface too when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=233519
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Add an implementation of canHaveSelectedChildren() to AccessibilityMenuListPopup that returns true for
ATSPI. Also implement selectedChildren() which is enough to share the same selection interface implementation
with list box elements. This is consistent with chromium.
- accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::canHaveSelectedChildren const):
(WebCore::AccessibilityMenuListPopup::selectedChildren):
- accessibility/AccessibilityMenuListPopup.h:
- accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
Tools:
Add a test case for menu list.
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(testSelectionListBox):
(testSelectionMenuList):
(beforeAll):
- 5:17 AM Changeset in webkit [286176] by
-
- 14 edits in trunk/Source
Non-unified build fixes, late November 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=233493
Unreviewed non-unified build fixes.
Source/JavaScriptCore:
- jit/ThunkGenerators.h: Add missing inclusion of CallMode.h header, move header
inclusions inside the ENABLE(JIT) guard.
Source/WebCore:
No new tests needed.
- Modules/mediastream/RTCDataChannelRemoteHandler.cpp: Add missing ProcessQualified.h and
ScriptExecutionContextIdentifier.h headers.
- Modules/mediastream/RTCDataChannelRemoteSource.cpp: Ditto.
- contentextensions/ContentExtensionActions.cpp: Add missing ResourceRequest.h header.
- platform/graphics/filters/FilterImage.h: Add missing forward declarations for the Filter
and FloatRect types.
- platform/graphics/filters/software/FEColorMatrixSoftwareApplier.h: Add missing forward
declaration for the PixelBuffer type.
- platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h: Ditto.
- platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h: Add missing
IntPoint.h, IntSize.h, and JavaScriptCore/TypedArrayAdaptersForwardDeclarations.h headers.
- platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.h: Add missing
IntSize.h header.
- platform/graphics/filters/software/FELightingSoftwareApplier.h: Add missing
FilterEffect.h and FilterImageVector.h headers.
Source/WebKit:
- WebProcess/Network/webrtc/RTCDataChannelRemoteManager.h: Add missing
WebCore/ProcessQualified.h header.
- 3:11 AM Changeset in webkit [286175] by
-
- 13 edits in trunk/Source/WebCore
GraphicsContextGLOpenGL.cpp contains OpenGL implementation specific and platform specific code
https://bugs.webkit.org/show_bug.cgi?id=233513
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-11-26
Reviewed by Antti Koivisto.
Move duplicate functionality of "context changed, context not changed" from
- GraphicsContextGLOpenGL ANGLE variant
- GraphicsContextGLOpenGL OpenGL, OpenGL ES variant
- RemoteGraphicsContextGLProxyBase
to base class GraphicsContextGL. In order to do this, add few WEBCORE_EXPORTs to
GraphicsContextGL.h, since RemoteGraphicsContextGLProxyBase is in WebKit and needs to call
the base-class versions as well as use vtable.
Move ANGLE-specific functions from GraphicsContextGLOpenGL.cpp to GraphicsContextGLANGLE.cpp.
Move TextureMapper-specific functions from GraphicsContextGLOpenGL.cpp to GraphicsContextGLTextureMapper.cpp.
Move OpenGL, OpenGL ES specific functions from GraphicsContextGLOpenGL.cpp to GraphicsContextGLOpenGLCommon.cpp.
This works towards being able to separate ANGLE and OpenGL, OpenGL ES implementations to different classes,
reducing the ifdeffing in GraphicsContextGLOpenGL.h.
No new tests, refactor.
- platform/graphics/GraphicsContextGL.cpp:
(WebCore::GraphicsContextGL::markContextChanged):
(WebCore::GraphicsContextGL::layerComposited const):
(WebCore::GraphicsContextGL::setBuffersToAutoClear):
(WebCore::GraphicsContextGL::getBuffersToAutoClear const):
(WebCore::GraphicsContextGL::markLayerComposited):
- platform/graphics/GraphicsContextGL.h:
(WebCore::GraphicsContextGL::Client::~Client): Deleted.
- platform/graphics/RemoteGraphicsContextGLProxyBase.cpp:
(WebCore::RemoteGraphicsContextGLProxyBase::markContextChanged):
(WebCore::RemoteGraphicsContextGLProxyBase::markLayerComposited): Deleted.
(WebCore::RemoteGraphicsContextGLProxyBase::layerComposited const): Deleted.
(WebCore::RemoteGraphicsContextGLProxyBase::setBuffersToAutoClear): Deleted.
(WebCore::RemoteGraphicsContextGLProxyBase::getBuffersToAutoClear const): Deleted.
- platform/graphics/RemoteGraphicsContextGLProxyBase.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::markContextChanged): Deleted.
(WebCore::GraphicsContextGLOpenGL::markLayerComposited): Deleted.
(WebCore::GraphicsContextGLOpenGL::layerComposited const): Deleted.
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::resetBuffersToAutoClear): Deleted.
(WebCore::GraphicsContextGLOpenGL::setBuffersToAutoClear): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBuffersToAutoClear const): Deleted.
(WebCore::GraphicsContextGLOpenGL::releaseThreadResources): Deleted.
(WebCore::GraphicsContextGLOpenGL::platformReleaseThreadResources): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage2DResourceSafe): Deleted.
(WebCore::GraphicsContextGLOpenGL::setContextVisibility): Deleted.
(WebCore::GraphicsContextGLOpenGL::simulateEventForTesting): Deleted.
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay): Deleted.
(WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToMediaSample): Deleted.
(WebCore::GraphicsContextGLOpenGL::readCompositedResults): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTextureFromMedia): Deleted.
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:
(WebCore::GraphicsContextGLOpenGL::texImage2DResourceSafe):
(WebCore::GraphicsContextGLOpenGL::markContextChanged): Deleted.
(WebCore::GraphicsContextGLOpenGL::markLayerComposited): Deleted.
(WebCore::GraphicsContextGLOpenGL::layerComposited const): Deleted.
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLOpenGL::setContextVisibility):
(WebCore::GraphicsContextGLOpenGL::simulateEventForTesting):
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay):
(WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToMediaSample):
(WebCore::GraphicsContextGLOpenGL::readCompositedResults):
(WebCore::GraphicsContextGLTextureMapper::copyTextureFromMedia):
- platform/graphics/texmap/GraphicsContextGLTextureMapper.h:
- 1:22 AM Changeset in webkit [286174] by
-
- 8 edits in trunk
Update dialog focusing steps inert/disconnected handling
https://bugs.webkit.org/show_bug.cgi?id=233514
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Updated tests to reflect new behavior.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-disconnected-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-disconnected.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-inert-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-inert.html:
Source/WebCore:
After discussing with Domenic Denicola, we resolved on stopping early return in case of inert
<dialog>,
and disconnected<dialog>will just do nothing at the "focus the control" step.
The focus fixup rule still applies, meaning the focus is still moved to the viewport in case of modal
<dialog>,
given everything else is non-focusable.
https://github.com/whatwg/html/commit/08b4033db249ea0c63fd35f4e8fa06e85ec20a6f
https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::runFocusingSteps):
- 12:41 AM Changeset in webkit [286173] by
-
- 11 edits1 add in trunk
[GTK][a11y] Add implementation of selection interface when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=233494
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- SourcesGTK.txt:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):
- accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::selectionChanged):
- accessibility/atspi/AccessibilityAtspi.h:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::interfacesForObject):
(WebCore::AccessibilityObjectAtspi::path):
(WebCore::AccessibilityObjectAtspi::name const):
(WebCore::AccessibilityObjectAtspi::buildInterfaces const):
- accessibility/atspi/AccessibilityObjectAtspi.h:
- accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp: Added.
(WebCore::AccessibilityObjectAtspi::selectionCount const):
(WebCore::AccessibilityObjectAtspi::selectedChild const):
(WebCore::AccessibilityObjectAtspi::setChildSelected const):
(WebCore::AccessibilityObjectAtspi::deselectSelectedChild const):
(WebCore::AccessibilityObjectAtspi::isChildSelected const):
(WebCore::AccessibilityObjectAtspi::selectAll const):
(WebCore::AccessibilityObjectAtspi::clearSelection const):
(WebCore::AccessibilityObjectAtspi::selectionChanged):
Tools:
Add tests case for selection interface and WTR implementation.
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(testSelectionListBox):
(beforeAll):
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
(WTR::AccessibilityUIElement::removeSelectionAtIndex const):
(WTR::AccessibilityUIElement::clearSelectedChildren const):