Timeline
Nov 28, 2021:
- 10:08 PM Changeset in webkit [286203] by
-
- 21 edits1 add in trunk/Source/WebCore
[GPU Process] Apply the filter to an ImageBuffer through GraphicsContext and ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=232843
Reviewed by Cameron McCormack.
This step will allow sending the Filter to GPUProcess and applying it to
a remote ImageBuffer.
In this patch, managing the sourceImageBuffer of the CSSFilter is moved
to RenderLayerFilters. This is similar to what RenderSVGResourceFilter
does by maintaining the sourceImage for the SVGFilter.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::image):
- platform/graphics/ConcreteImageBuffer.h:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawFilteredImageBuffer):
- platform/graphics/GraphicsContext.h:
- platform/graphics/ImageBuffer.h:
- platform/graphics/filters/Filter.cpp: Added.
(WebCore::Filter::Filter):
(WebCore::Filter::apply):
- platform/graphics/filters/Filter.h:
(WebCore::Filter::renderingMode const):
(WebCore::Filter::setRenderingMode):
(WebCore::Filter::scaledByFilterScale const):
(WebCore::Filter::Filter): Deleted.
- platform/graphics/filters/FilterImage.h:
- platform/graphics/filters/software/FETileSoftwareApplier.cpp:
- platform/graphics/filters/software/SourceAlphaSoftwareApplier.cpp:
- platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp:
- rendering/CSSFilter.cpp:
(WebCore::CSSFilter::apply):
(WebCore::CSSFilter::setSourceImageRect):
(WebCore::CSSFilter::inputContext): Deleted.
(WebCore::CSSFilter::allocateBackingStoreIfNeeded): Deleted.
(WebCore::CSSFilter::output): Deleted.
(WebCore::CSSFilter::outputRect): Deleted.
- rendering/CSSFilter.h:
- rendering/RenderLayerFilters.cpp:
(WebCore::RenderLayerFilters::inputContext):
(WebCore::RenderLayerFilters::allocateBackingStore):
(WebCore::RenderLayerFilters::beginFilterEffect):
(WebCore::RenderLayerFilters::applyFilterEffect):
- rendering/RenderLayerFilters.h:
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
- svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::apply):
- svg/graphics/filters/SVGFilter.h:
- 9:11 PM Changeset in webkit [286202] by
-
- 2 edits in trunk/Source/WebKit
[WebGPU] Add WebKit DerivedSources to Xcode project
https://bugs.webkit.org/show_bug.cgi?id=233544
Reviewed by Simon Fraser.
This allows for things like searching from the UI to work.
No new tests because there is no behavior change.
- WebKit.xcodeproj/project.pbxproj:
- 2:35 PM Changeset in webkit [286201] by
-
- 2 edits in trunk
Add mattwoodrow to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=233301
Patch by Matt Woodrow <matt.woodrow@gmail.com> on 2021-11-28
Reviewed by Cameron McCormack.
- metadata/contributors.json:
- 2:24 PM Changeset in webkit [286200] by
-
- 6 edits in trunk
Serialize computed style of background shorthand with multiple layers correctly.
https://bugs.webkit.org/show_bug.cgi?id=111121
Patch by Matt Woodrow <matt.woodrow@gmail.com> on 2021-11-28
Reviewed by Cameron McCormack.
Source/WebCore:
New subtests added to getComputedStyle-background-shorthand
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):
LayoutTests:
- fast/css/getComputedStyle/getComputedStyle-background-shorthand-expected.txt:
- fast/css/getComputedStyle/getComputedStyle-background-shorthand.html:
- 1:28 PM Changeset in webkit [286199] by
-
- 2 edits in trunk
[WebGPU] Add WebGPU to the "All Source" scheme in WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=233542
Reviewed by Dean Jackson.
This scheme should build WebGPU.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
- 12:34 PM Changeset in webkit [286198] by
-
- 12 edits1 add in trunk/LayoutTests
Convert error to string before passing to testFailed() in FileSystemAccess layout tests
https://bugs.webkit.org/show_bug.cgi?id=233241
Reviewed by Youenn Fablet.
testFailed() in js-test.js expects string, but finishTest() may receive Error object as parameter.
- storage/filesystemaccess/directory-handle-basics.html:
- storage/filesystemaccess/directory-handle-iteration.html:
- storage/filesystemaccess/file-handle-getfile.html:
- storage/filesystemaccess/handle-move.html:
- storage/filesystemaccess/resources/directory-handle-basics.js:
(getDirectory):
(finishTest): Deleted.
- storage/filesystemaccess/resources/directory-handle-iteration.js:
(finishTest): Deleted.
- storage/filesystemaccess/resources/file-handle-getfile.js:
(async read):
(async test):
(finishTest): Deleted.
- storage/filesystemaccess/resources/handle-move.js:
(async test):
(finishTest): Deleted.
- storage/filesystemaccess/resources/shared.js: Added. Move finishTest() function here so the code can be shared.
(finishTest):
- storage/filesystemaccess/resources/sync-access-handle-basics.js:
(getDirectory):
(finishTest): Deleted.
- storage/filesystemaccess/resources/sync-access-handle-close.js:
(finishTest): Deleted.
- storage/filesystemaccess/resources/sync-access-handle-read-write.js:
(async test):
(finishTest): Deleted.
- 11:15 AM Changeset in webkit [286197] by
-
- 2 edits in trunk/Source/WebCore
[WebGPU] Add derived sources to Xcode project
https://bugs.webkit.org/show_bug.cgi?id=233533
Reviewed by Simon Fraser.
This allows for things like searching within Xcode to work.
No new tests because there is no behavior change.
- WebCore.xcodeproj/project.pbxproj:
- 10:55 AM Changeset in webkit [286196] by
-
- 8 edits2 adds in trunk
[CSS Color 5] Update color-mix() to latest spec (again)
https://bugs.webkit.org/show_bug.cgi?id=233527
Reviewed by Dean Jackson.
Source/WebCore:
Updates color-mix() implementation with support for hue interpolation methods and
addresses various other spec changes (detailed below).
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Add ColorInterpolation.h/cpp
- css/CSSValueKeywords.in:
Add keywords need for the <color-space-interpolation> production. Separated out
from color-mix as these will be used for other CSS properties as well.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeHueInterpolationMethod):
(WebCore::CSSPropertyParserHelpers::consumeColorInterpolationMethod):
(WebCore::CSSPropertyParserHelpers::consumeColorMixComponent):
(WebCore::CSSPropertyParserHelpers::normalizedMixPercentages):
(WebCore::CSSPropertyParserHelpers::makeColorTypeByNormalizingComponentsAfterMix<HWBA<float>>):
(WebCore::CSSPropertyParserHelpers::makeColorTypeByNormalizingComponentsAfterMix<HSLA<float>>):
(WebCore::CSSPropertyParserHelpers::makeColorTypeByNormalizingComponentsAfterMix<LCHA<float>>):
(WebCore::CSSPropertyParserHelpers::makeColorTypeByNormalizingComponentsAfterMix<OKLCHA<float>>):
(WebCore::CSSPropertyParserHelpers::mixColorComponentsUsingColorInterpolationMethod):
(WebCore::CSSPropertyParserHelpers::mixColorComponents):
(WebCore::CSSPropertyParserHelpers::parseColorMixFunctionParameters):
(WebCore::CSSPropertyParserHelpers::consumeColorMixColorSpaceAndComma): Deleted.
(WebCore::CSSPropertyParserHelpers::fixupHueComponentsPriorToMix): Deleted.
(WebCore::CSSPropertyParserHelpers::mixColorComponentsInColorSpace): Deleted.
Rework color-mix to support the hue interpolation method specification for polor color spaces
like lch, oklch, hsl and hwb. Also update implementation to match the current spec by restricting
mix percentages to between 0 and 100 and applying alpha multiplier when the mix percentages add
up to less than 100.
- platform/graphics/ColorInterpolation.cpp: Added.
- platform/graphics/ColorInterpolation.h: Added.
Add structures to represent color interpolation methods including optional hue
interpolation parameters for color spaces that require it and provides prenormalization
that fixes up hue angles depending on the method selected. Over time, more aspects of
interpolation should be moved here as we figure out what can be shared.
LayoutTests:
- fast/css/parsing-color-mix-expected.txt:
- fast/css/parsing-color-mix.html:
Update tests to include testing of hue interpolation methods, new
restrictions on percentage ranges and the new alpha multiplier.
- 10:32 AM Changeset in webkit [286195] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Visual ordering may require multiple display box instances for a single inline box
https://bugs.webkit.org/show_bug.cgi?id=233538
Reviewed by Antti Koivisto.
This patch implements the multiple display box setup for cases when the visually re-ordered content escapes
the logical inline box boundaries.
a<span>bg</span>f<span>ec</span>d -> "abgfecd"
Introduce RTL/LTR overrides:
a<span>b‮g</span>f<span>e‭c</span>d -> "abcdefg"
current direction: left-to-right.
take: 'a'
take: 'b'
take: RTL override (current direction: right-to-left, ie jump to the right end of the override content unless there's a nested override)
take: (nested)LTR override (current direction: left-to-right, ie jump to the left end of the override content)
take: 'c'
take: 'd' (end of nested LTR override)
take: 'e' (in RTL direction)
take: 'f'
take: 'g'
By jumping between these bidi runs, we may end up going back and forth between various inline boxes.
Each time we "leave" an inline box (e.g. going from 'b' to 'c'), we need to close the current inline box(es)
and "open" new one(s) for the content.
This patch implements the jumping logic but it does not yet compute geometry for each of these fragmented inline boxes.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBoxForBidiBoundary):
(WebCore::Layout::InlineDisplayContentBuilder::adjustInlineBoxDisplayBoxForBidiBoundary):
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent): "Open" and "close" inline boxes based on the content
and not based on the [inline box start]/[inline box end] runs (ie content where logical order == visual order can use those explicit markers to
construct the associated display boxes but with re-ordering we need to rely on the content itself)
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
- 10:19 AM Changeset in webkit [286194] by
-
- 2 edits in trunk/LayoutTests
Weird JS usage in webrtc/multi-video.html
https://bugs.webkit.org/show_bug.cgi?id=233540
Patch by Philippe Normand <pnormand@igalia.com> on 2021-11-28
Reviewed by Youenn Fablet.
- webrtc/multi-video.html: MediaStream.getVideoTracks() accepts no argument and returns a
sequence. The MediaStream constructor needs a sequence of tracks.
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.