Timeline
Dec 30, 2021:
- 8:46 PM Changeset in webkit [287490] by
-
- 3 edits4 deletes in trunk/LayoutTests
[GLIB] Unreviewed test gardening, update state of flakey tests
https://bugs.webkit.org/show_bug.cgi?id=234749
Remove tests that have been constantly passing for the last 4000 revisions, as well as update state of tests
that have been constantly failing with a single state.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.https.any-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.https.worker-expected.txt: Removed.
- platform/glib/media/context-menu-actions-expected.txt: Removed.
- platform/gtk/TestExpectations:
- 7:20 PM Changeset in webkit [287489] by
-
- 4 edits in trunk
SharedBuffer::takeData() is still dangerous
https://bugs.webkit.org/show_bug.cgi?id=234724
rdar://problem/86957233
Reviewed by Darin Adler.
Source/WebCore:
Similar to bug 228161; however we only take the content of the DataSegment
if its refcount is 1.
DataSegments can be shared across multiple SharedBuffer and so we can't
assume that when the SharedBuffer refcount is 1 that it is safe to use
the DataSegment.
This use of SharedBuffer::extractData will need to be revisited when
SharedBuffer are used across different threads as the operation isn't
thread-safe.
API tests added.
- platform/SharedBuffer.cpp:
(WebCore::FragmentedSharedBuffer::takeData):
Tools:
- TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
- 5:32 PM Changeset in webkit [287488] by
-
- 4 edits in trunk
REGRESSION(r286955): Fix painting text-decorations with combined text
https://bugs.webkit.org/show_bug.cgi?id=234707
Reviewed by Dean Jackson.
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/css-writing-modes/text-combine-upright-decorations-001.html
- rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter::createDecorationPainter):
(WebCore::TextBoxPainter::paintBackgroundDecorations):
(WebCore::TextBoxPainter::paintForegroundDecorations):
LayoutTests:
- 4:26 PM Changeset in webkit [287487] by
-
- 39 edits in trunk
Implement text-combine-upright property
https://bugs.webkit.org/show_bug.cgi?id=150821
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt:
- web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt:
- web-platform-tests/css/css-writing-modes/inheritance-expected.txt:
- web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-computed-expected.txt:
- web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-digits-001-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-digits-002-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-invalid-001-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-invalid-002-expected.txt:
- web-platform-tests/css/css-writing-modes/text-combine-upright-parsing-valid-001-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
Source/WebCore:
webkit.org/b/234694 and webkit.org/b/234707 are landed for this initial version of text-combine-upright.
To reach Chrome parity, layout needs to be tweaked (webkit.org/b/234704), and pseudo elements need to be properly supported (webkit.org/b/234705).
To reach standards parity, it also needs the digits syntax to be implemented (webkit.org/b/234706), which no browser implements yet.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextCombine const):
- css/CSSProperties.json:
- css/CSSValueKeywords.in:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- rendering/LegacyLineLayout.cpp:
(WebCore::expansionBehaviorForInlineTextBox):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- style/PropertyAllowlist.cpp:
(WebCore::Style::isValidMarkerStyleProperty):
Allow setting text-combine-upright on ::marker.
LayoutTests:
- TestExpectations:
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/css/getComputedStyle/resources/property-names.js:
- platform/glib/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/glib/svg/css/getComputedStyle-basic-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/ios/svg/css/getComputedStyle-basic-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- svg/css/getComputedStyle-basic-expected.txt:
- 2:33 PM Changeset in webkit [287486] by
-
- 12 edits in trunk/Source
Non-unified build fixes, end-of-year 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=234755
Unreviewed non-unified build fixes.
Source/JavaScriptCore:
- runtime/DeferredWorkTimer.h: Add missing JSCast.h header.
Source/WebCore:
No new tests needed.
- bindings/js/JSExecState.cpp:
(WebCore::executionContext): Add missing namespace prefix in usage of JSC::jsCast() function.
- bindings/js/SerializedScriptValue.cpp: Add missing JSExecState.h header.
- inspector/InspectorFrontendHost.cpp: Add missing ScriptController.h header.
- inspector/WebInjectedScriptManager.cpp: Add missing DOMWindow.h and JSExecState.h headers.
- inspector/agents/InspectorTimelineAgent.cpp: Add missing JSExecState.h header.
- inspector/agents/WebConsoleAgent.cpp: Add missing InspectorWebAgentBase.h and
JSExecState.h headers.
- inspector/agents/WebConsoleAgent.h: Add missing forward declaration of struct
WebAgentContext.
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp: Add missing
LayoutBoxGeometry.h header.
- loader/CrossOriginAccessControl.cpp: Add missing DocumentLoader.h header.
- 12:32 PM Changeset in webkit [287485] by
-
- 35 edits in trunk
[IFC][Integration] Enable RTL inline base direction
https://bugs.webkit.org/show_bug.cgi?id=234736
Reviewed by Antti Koivisto.
Source/WebCore:
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForStyle):
LayoutTests:
- platform/ios-wk2/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/ios/fast/block/basic/016-expected.txt:
- platform/ios/fast/borders/rtl-border-04-expected.txt:
- platform/ios/fast/css/text-overflow-ellipsis-bidi-expected.txt:
- platform/ios/fast/css/text-overflow-input-expected.txt:
- platform/ios/fast/dom/34176-expected.txt:
- platform/ios/fast/dom/52776-expected.txt:
- platform/ios/fast/dom/HTMLElement/bdo-expected.txt:
- platform/ios/fast/forms/input-text-scroll-left-on-blur-expected.txt:
- platform/ios/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
- platform/ios/fast/text/international/bidi-neutral-run-expected.txt:
- platform/ios/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
- platform/ios/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/mac-bigsur/fast/dom/52776-expected.txt:
- platform/mac-bigsur/fast/text/international/bidi-neutral-run-expected.txt:
- platform/mac-catalina/fast/css/text-overflow-input-expected.txt:
- platform/mac/fast/block/basic/016-expected.txt:
- platform/mac/fast/borders/rtl-border-05-expected.txt:
- platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.txt:
- platform/mac/fast/css/text-overflow-input-expected.txt:
- platform/mac/fast/dom/34176-expected.txt:
- platform/mac/fast/dom/52776-expected.txt:
- platform/mac/fast/dom/HTMLElement/bdo-expected.txt:
- platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
- platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
- platform/mac/fast/text/international/bidi-layout-across-linebreak-expected.txt:
- platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
- platform/mac/fast/text/international/bidi-override-expected.txt:
- platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/mac/fast/text/text-letter-spacing-expected.txt:
- 6:32 AM Changeset in webkit [287484] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Non-empty inline boxes construction should be driven by their content
https://bugs.webkit.org/show_bug.cgi?id=234744
Reviewed by Antti Koivisto.
At bidi paragraph processing, we assign bidi levels to inline items. Normally only content type
of inline items need bidi levels as inline box start(end) visual order is driven by their content.
However there are 2 cases when inline box start require bidi level
- empty inline boxes (1<span></span>2) -so that we can find out their position.
- inline boxes with unicode-bidi style -they change their content's bidi behavior.
In this patch we ignore the second type of inline boxes at display box construction
as they may trigger redundant inline boxes on the line (as we create them for their content).
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
Dec 29, 2021:
- 5:29 PM Changeset in webkit [287483] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Add support for -webkit-rtl-ordering
https://bugs.webkit.org/show_bug.cgi?id=234715
Reviewed by Antti Koivisto.
"-webkit-rtl-ordering: visual" introduces EUnicodeBidi::Override on the block level
(apparently it has no effect on inline boxes).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::handleEnterExitBidiContext):
(WebCore::Layout::buildBidiParagraph):
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForStyle):
- layout/integration/LayoutIntegrationCoverage.h:
- 1:07 PM Changeset in webkit [287482] by
-
- 8 edits2 adds in trunk
[LFC][IFC] Collapsed trailing whitespace may introduce stray inline box
https://bugs.webkit.org/show_bug.cgi?id=234735
Reviewed by Antti Koivisto.
Source/WebCore:
See the comment in LineBuilder::handleInlineContent.
Test: fast/inline/inline-box-with-collapsed-whitespace.html
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleInlineContent):
LayoutTests:
- fast/inline/inline-box-with-collapsed-whitespace-expected.html: Added.
- fast/inline/inline-box-with-collapsed-whitespace.html: Added.
- 12:20 PM Changeset in webkit [287481] by
-
- 11 edits in trunk/Source
Add additional named color spaces for extended rgb color types and HSL/HWB in preparation for out of gamut and missing component support
https://bugs.webkit.org/show_bug.cgi?id=234741
Reviewed by Dean Jackson.
Source/WebCore:
Adds named color space support, which provides the ability for a color type to live
in a Color, for the following color spaces:
ExtendedA98RGB
ExtendedDisplayP3
ExtendedLinearSRGB
ExtendedProPhotoRGB
ExtendedRec2020
ExtendedSRGB
HSL
HWB
This is going to be needed to add support for out of gamut color() function support
and support for the new missing component syntax.
The extended variants serialize identically to their bounded counterparts, HSL/HWB
serialize as they do today, by converting to 8-bit sRGB and serializing as it.
- platform/graphics/ColorConversion.cpp:
(WebCore::convertColorComponents):
- platform/graphics/ColorSerialization.cpp:
(WebCore::serialization):
(WebCore::serializationForRenderTreeAsText):
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
- platform/graphics/ColorSpace.cpp:
(WebCore::operator<<):
- platform/graphics/ColorSpace.h:
(WebCore::callWithColorType):
- platform/graphics/ColorTypes.h:
- platform/graphics/ColorUtilities.h:
- platform/graphics/cg/ColorSpaceCG.cpp:
(WebCore::extendedNamedColorSpace):
(WebCore::extendedAdobeRGB1998ColorSpaceRef):
(WebCore::extendedDisplayP3ColorSpaceRef):
(WebCore::extendedITUR_2020ColorSpaceRef):
(WebCore::extendedLinearSRGBColorSpaceRef):
(WebCore::extendedROMMRGBColorSpaceRef):
(WebCore::colorSpaceForCGColorSpace):
(WebCore::labColorSpaceRef): Deleted.
- platform/graphics/cg/ColorSpaceCG.h:
(WebCore::cachedNullableCGColorSpace):
Source/WTF:
- wtf/PlatformHave.h:
Add new HAVE macros for additional CoreGraphics named color spaces and the CGColorSpaceCreateExtended function.
- 9:47 AM Changeset in webkit [287480] by
-
- 8 edits2 deletes in trunk
Unreviewed, reverting r287478.
https://bugs.webkit.org/show_bug.cgi?id=234742
causes debug failures
Reverted changeset:
"[LFC][IFC] Collapsed trailing whitespace may introduce stray
inline box"
https://bugs.webkit.org/show_bug.cgi?id=234735
https://commits.webkit.org/r287478
- 8:35 AM Changeset in webkit [287479] by
-
- 8 edits in trunk/Source/WebCore
Make MatchElement in RuleFeature non-optional
https://bugs.webkit.org/show_bug.cgi?id=234738
Reviewed by Sam Weinig.
Split no-MatchElement case into a separate RuleAndSelector struct.
Also make MediaQueryCollector collect whole StyleRules instead of using RuleFeature/RuleAndSelector for simplicity
and better logic. Media queries always affect all of a StyleRule, not some invidiual selectors.
- style/RuleFeature.cpp:
(WebCore::Style::RuleAndSelector::RuleAndSelector):
(WebCore::Style::RuleFeature::RuleFeature):
- style/RuleFeature.h:
(WebCore::Style::RuleFeatureWithInvalidationSelector::RuleFeatureWithInvalidationSelector):
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::evaluateDynamicMediaQueryRules):
Use RuleSetBuilder to build the media query invalidation ruleset. It also does shrink-to-fit for us.
- style/RuleSet.h:
(WebCore::Style::RuleSet::DynamicMediaQueryRules::shrinkToFit):
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::pop):
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::addRuleIfNeeded):
- style/RuleSetBuilder.h:
- style/StyleScopeRuleSets.cpp:
(WebCore::Style::makeRuleSet):
(WebCore::Style::ensureInvalidationRuleSets):
- 8:33 AM Changeset in webkit [287478] by
-
- 8 edits2 adds in trunk
[LFC][IFC] Collapsed trailing whitespace may introduce stray inline box
https://bugs.webkit.org/show_bug.cgi?id=234735
Reviewed by Antti Koivisto.
Source/WebCore:
See the comment in LineBuilder::handleInlineContent.
Test: fast/inline/inline-box-with-collapsed-whitespace.html
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleInlineContent):
LayoutTests:
- fast/inline/inline-box-with-collapsed-whitespace-expected.html: Added.
- fast/inline/inline-box-with-collapsed-whitespace.html: Added.
Dec 28, 2021:
- 5:16 PM Changeset in webkit [287477] by
-
- 3 edits in trunk/LayoutTests
[GTK] fast/mediastream/media-element-current-time.html is failing since added in r256346
https://bugs.webkit.org/show_bug.cgi?id=208120
Reviewed by Philippe Normand.
Wait 10ms after play() to give time to the engine to have the pipeline position going forward.
- fast/mediastream/media-element-current-time.html:
- platform/glib/TestExpectations:
- 1:43 PM Changeset in webkit [287476] by
-
- 7 edits in trunk/Source/WebCore
[LFC][IFC] Do not let Layout geometry types leak into InlineDisplay::Line
https://bugs.webkit.org/show_bug.cgi?id=234729
Reviewed by Antti Koivisto.
InlineLayoutUnit -> float
InlineRect -> FloatRect
(This is also where we will eventually do some pixel snapping)
- layout/formattingContexts/block/BlockFormattingGeometry.cpp:
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin const):
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::usedContentHeight const):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::left const):
(WebCore::InlineDisplay::Line::right const):
(WebCore::InlineDisplay::Line::top const):
(WebCore::InlineDisplay::Line::bottom const):
(WebCore::InlineDisplay::Line::topLeft const):
(WebCore::InlineDisplay::Line::lineBoxRect const):
(WebCore::InlineDisplay::Line::scrollableOverflow const):
(WebCore::InlineDisplay::Line::baseline const):
(WebCore::InlineDisplay::Line::contentLeft const):
(WebCore::InlineDisplay::Line::contentWidth const):
(WebCore::InlineDisplay::Line::moveVertically):
(WebCore::InlineDisplay::Line::Line):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::showInlineTreeAndRuns):
- 1:16 PM Changeset in webkit [287475] by
-
- 7 edits in trunk/Source/WebCore
[LFC][IFC] Do not let Layout geometry types leak into InlineDisplay::Box
https://bugs.webkit.org/show_bug.cgi?id=234728
Reviewed by Antti Koivisto.
InlineLayoutUnit -> float
InlineRect -> FloatRect
(This is also where we will eventually do some pixel snapping)
- layout/formattingContexts/inline/display/InlineDisplayBox.h:
(WebCore::InlineDisplay::Box::Box):
(WebCore::InlineDisplay::Box::rect const):
(WebCore::InlineDisplay::Box::inkOverflow const):
(WebCore::InlineDisplay::Box::top const):
(WebCore::InlineDisplay::Box::bottom const):
(WebCore::InlineDisplay::Box::left const):
(WebCore::InlineDisplay::Box::right const):
(WebCore::InlineDisplay::Box::width const):
(WebCore::InlineDisplay::Box::height const):
(WebCore::InlineDisplay::Box::moveVertically):
(WebCore::InlineDisplay::Box::moveHorizontally):
(WebCore::InlineDisplay::Box::adjustInkOverflow):
(WebCore::InlineDisplay::Box::setLeft):
(WebCore::InlineDisplay::Box::setRight):
(WebCore::InlineDisplay::Box::setRect):
(WebCore::InlineDisplay::Box::truncate):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::computeBoxShadowInkOverflow):
(WebCore::Layout::InlineDisplayContentBuilder::appendAtomicInlineLevelDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processOverflownRunsForEllipsis):
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::showInlineContent):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::showInlineTreeAndRuns):
- platform/graphics/FloatRect.h:
(WebCore::FloatRect::inflate):
- 12:36 PM Changeset in webkit [287474] by
-
- 9 edits6 adds in trunk
Support color interpolation methods for CSS Gradients
https://bugs.webkit.org/show_bug.cgi?id=234711
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Add parsing and serialization tests that exercise the new support for the <color-interpolation-method>
production in CSS gradients.
- web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed-expected.txt: Added.
- web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed.html: Added.
- web-platform-tests/css/css-images/parsing/gradient-interpolation-method-invalid-expected.txt: Added.
- web-platform-tests/css/css-images/parsing/gradient-interpolation-method-invalid.html: Added.
- web-platform-tests/css/css-images/parsing/gradient-interpolation-method-valid-expected.txt: Added.
- web-platform-tests/css/css-images/parsing/gradient-interpolation-method-valid.html: Added.
Source/WebCore:
Tests: imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-computed.html
imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-invalid.html
imported/w3c/web-platform-tests/css/css-images/parsing/gradient-interpolation-method-valid.html
Add support for specifying a color intpolation method in CSS gradients. The grammar
uses the same production as color-mix(), but unlike color-mix(), it is optional for
backwards compatibility, defaulting to 'srgb'. As 'srgb' is the default if nothing is
specified, when serializing and the 'srgb' is used, no interpolation method is serialized
as specified in the spec.
- css/CSSGradientValue.cpp:
(WebCore::appendHueInterpolationMethod):
Serialize the hue method if it is not the default, "shorter".
(WebCore::appendColorInterpolationMethod):
Serialize the color space if it is not the default, "srgb".
(WebCore::CSSLinearGradientValue::customCSSText const):
(WebCore::CSSRadialGradientValue::customCSSText const):
(WebCore::CSSConicGradientValue::customCSSText const):
Serialize the interpolation method after any initial conditions / positions
but before the color stops to match the rule in the spec that it should be
in the order they appear in the grammar.
- css/parser/CSSParserContext.cpp:
- css/parser/CSSParserContext.h:
Add new bit for the enabling CSS gradient interpolation method support.
Bump size of bits up to a uint64_t since we were overflowing.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeColorInterpolationMethod):
(WebCore::CSSPropertyParserHelpers::parseColorMixFunctionParameters):
(WebCore::CSSPropertyParserHelpers::consumePrefixedRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumePrefixedLinearGradient):
(WebCore::CSSPropertyParserHelpers::consumeLinearGradient):
(WebCore::CSSPropertyParserHelpers::consumeConicGradient):
(WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient): Deleted.
Add support for parsing the color interpolation method on non-prefixed/non-deprecated
gradient functions. Renames consumeDeprecatedRadialGradient to consumePrefixedRadialGradient,
since it is not consuming a deprecated radial gradient, a different function does that,
and break out consuming prefixed linear gradients into consumePrefixedLinearGradient
now that the logic is even more diverged from the standard one.
- platform/graphics/cg/GradientRendererCG.cpp:
(WebCore::GradientRendererCG::pickStrategy const):
Use the shading strategy for all non-srgb interpolation methods as CGGradientRef does
not support it.
Source/WTF:
Add new experimental feature flag, CSSGradientInterpolationColorSpacesEnabled, to gate
support for interpolation methods in CSS gradients. Off by default.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 11:48 AM Changeset in webkit [287473] by
-
- 40 edits2 copies2 moves41 adds3 deletes in trunk/LayoutTests
Update wpt css/css-color tests
https://bugs.webkit.org/show_bug.cgi?id=234684
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Updates tests.
- resources/resource-files.json:
- web-platform-tests/css/css-color/META.yml:
- web-platform-tests/css/css-color/body-opacity-0-to-1-stacking-context-expected.html: Added.
- web-platform-tests/css/css-color/body-opacity-0-to-1-stacking-context.html: Added.
- web-platform-tests/css/css-color/color-contrast-001-expected.html: Added.
- web-platform-tests/css/css-color/color-contrast-001.html: Added.
- web-platform-tests/css/css-color/color-mix-basic-001-expected.html: Added.
- web-platform-tests/css/css-color/color-mix-basic-001.html: Added.
- web-platform-tests/css/css-color/color-mix-basic-001.tentative-expected.txt: Removed.
- web-platform-tests/css/css-color/color-mix-basic-001.tentative.html: Removed.
- web-platform-tests/css/css-color/color-mix-non-srgb-001-expected.html: Added.
- web-platform-tests/css/css-color/color-mix-non-srgb-001.html: Added.
- web-platform-tests/css/css-color/color-mix-percents-01-expected.html: Added.
- web-platform-tests/css/css-color/color-mix-percents-01.html: Added.
- web-platform-tests/css/css-color/color-mix-percents-02-expected.html: Added.
- web-platform-tests/css/css-color/color-mix-percents-02.html: Added.
- web-platform-tests/css/css-color/display-p3-001-expected.html: Added.
- web-platform-tests/css/css-color/display-p3-001.html: Added.
- web-platform-tests/css/css-color/display-p3-002-expected.html: Added.
- web-platform-tests/css/css-color/display-p3-002.html: Added.
- web-platform-tests/css/css-color/display-p3-003-expected.html: Added.
- web-platform-tests/css/css-color/display-p3-003.html: Added.
- web-platform-tests/css/css-color/display-p3-004-expected.html: Added.
- web-platform-tests/css/css-color/display-p3-004.html: Added.
- web-platform-tests/css/css-color/display-p3-005-expected.html: Added.
- web-platform-tests/css/css-color/display-p3-005.html: Added.
- web-platform-tests/css/css-color/display-p3-006-expected.html: Added.
- web-platform-tests/css/css-color/display-p3-006.html: Added.
- web-platform-tests/css/css-color/inline-opacity-float-child-expected.xht: Added.
- web-platform-tests/css/css-color/inline-opacity-float-child.html: Added.
- web-platform-tests/css/css-color/oklab-001.html:
- web-platform-tests/css/css-color/oklab-002.html:
- web-platform-tests/css/css-color/oklab-003.html:
- web-platform-tests/css/css-color/oklab-004.html:
- web-platform-tests/css/css-color/oklab-005.html:
- web-platform-tests/css/css-color/oklab-006.html:
- web-platform-tests/css/css-color/oklab-007.html:
- web-platform-tests/css/css-color/oklab-008.html:
- web-platform-tests/css/css-color/oklch-001.html:
- web-platform-tests/css/css-color/oklch-002.html:
- web-platform-tests/css/css-color/oklch-003.html:
- web-platform-tests/css/css-color/oklch-004.html:
- web-platform-tests/css/css-color/oklch-005.html:
- web-platform-tests/css/css-color/oklch-006.html:
- web-platform-tests/css/css-color/oklch-007.html:
- web-platform-tests/css/css-color/oklch-008.html:
- web-platform-tests/css/css-color/parsing/color-computed-expected.txt:
- web-platform-tests/css/css-color/parsing/color-computed.html:
- web-platform-tests/css/css-color/parsing/color-contrast-computed-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/color-contrast-computed.html: Added.
- web-platform-tests/css/css-color/parsing/color-contrast-invalid-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/color-contrast-invalid.html: Added.
- web-platform-tests/css/css-color/parsing/color-contrast-valid-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/color-contrast-valid.html: Added.
- web-platform-tests/css/css-color/parsing/color-invalid-expected.txt:
- web-platform-tests/css/css-color/parsing/color-invalid.html:
- web-platform-tests/css/css-color/parsing/color-mix-computed-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/color-mix-computed.html: Added.
- web-platform-tests/css/css-color/parsing/color-mix-invalid-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/color-mix-invalid.html: Added.
- web-platform-tests/css/css-color/parsing/color-mix-valid-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/color-mix-valid.html: Added.
- web-platform-tests/css/css-color/parsing/color-valid-expected.txt:
- web-platform-tests/css/css-color/parsing/color-valid.html:
- web-platform-tests/css/css-color/parsing/relative-color-computed-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/relative-color-computed.html: Added.
- web-platform-tests/css/css-color/parsing/relative-color-invalid-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/relative-color-invalid.html: Added.
- web-platform-tests/css/css-color/parsing/relative-color-valid-expected.txt: Added.
- web-platform-tests/css/css-color/parsing/relative-color-valid.html: Added.
- web-platform-tests/css/css-color/parsing/system-color-valid-expected.txt:
- web-platform-tests/css/css-color/parsing/system-color-valid.html:
- web-platform-tests/css/css-color/parsing/w3c-import.log:
- web-platform-tests/css/css-color/predefined-001.html:
- web-platform-tests/css/css-color/predefined-002.html:
- web-platform-tests/css/css-color/predefined-005.html:
- web-platform-tests/css/css-color/predefined-006.html:
- web-platform-tests/css/css-color/predefined-013-expected.html: Removed.
- web-platform-tests/css/css-color/predefined-013.html: Removed.
- web-platform-tests/css/css-color/predefined-016.html:
- web-platform-tests/css/css-color/srgb-linear-003.html:
- web-platform-tests/css/css-color/srgb-linear-004.html:
- web-platform-tests/css/css-color/t31-color-text-a-expected-mismatch.xht: Added.
- web-platform-tests/css/css-color/t31-color-text-a-expected.xht: Removed.
- web-platform-tests/css/css-color/t421-rgb-values-meaning-b-expected.html:
- web-platform-tests/css/css-color/w3c-import.log:
LayoutTests:
Update expectations to match updated tests. One test that was marked as failing is now passing (because the test
was changed) and two new tests are known failures with corresponding annotated bugs.
- platform/gtk/TestExpectations:
Add two new tests that are only failing on the GTK bots due to a small floating point issue that needs further
investigation.
- 10:01 AM Changeset in webkit [287472] by
-
- 6 edits in trunk
Enhance Vector::map to allow specifying what kind of Vector to return (e.g. inline capacity, overflow, etc.)
https://bugs.webkit.org/show_bug.cgi?id=234683
Reviewed by Darin Adler.
Source/WebCore:
- platform/graphics/GradientColorStops.h:
(WebCore::GradientColorStops::mapColors const):
(WebCore::GradientColorStops::GradientColorStops):
Utilize new overloaded Vector::map to streamline GradientColorStops::mapColors(). Also
made it preserve the isSorted bit, which is valid because the offsets don't change.
Source/WTF:
- wtf/Vector.h:
(WTF::Vector::map const):
Add an overload of Vector::map() that allows specifying the type of the result Vector. To make this
work without giving up the argument deduction in the common case, SFINAE is used to determine which
overload to use.
Tools:
- TestWebKitAPI/Tests/WTF/Vector.cpp:
Add test for new Vector::map overload.
- 8:52 AM Changeset in webkit [287471] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Hanging content may not be whitespace type
https://bugs.webkit.org/show_bug.cgi?id=234698
Reviewed by Antti Koivisto.
While we only allow whitespace hanging content, they could be any type.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::horizontalAlignmentOffset):
(WebCore::Layout::LineBoxBuilder::build):
- layout/formattingContexts/inline/InlineLineBuilder.h:
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
- 8:40 AM Changeset in webkit [287470] by
-
- 4 edits2 adds in trunk
REGRESSION(r287440) Do not wrap the content for a collapsed whitespace
https://bugs.webkit.org/show_bug.cgi?id=234710
Reviewed by Antti Koivisto.
Source/WebCore:
While r287440 was correct, shouldKeepEndOfLineWhitespace had an unintentional side-effect of
keeping collapsed whitespace content on the line even when it is followed by an inline box end
with margin/padding/border that would otherwise overflow the line.
e.g <div style="width: 0px"><span style="border-right: 100px;">X </span></div>
the overflowing inline box end should not be wrapped over to the next line.
Test: fast/inline/trailing-whitespace-content-with-overflowing-inline-box.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::isWhitespaceOnlyContent):
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::isVisuallyEmptyWhitespaceContent): Deleted.
LayoutTests:
- fast/inline/trailing-whitespace-content-with-overflowing-inline-box-expected.html: Added.
- fast/inline/trailing-whitespace-content-with-overflowing-inline-box.html: Added.
- platform/ios/fast/borders/rtl-border-01-expected.txt: Redo rebaselining. While the content visually looks
odd (overflowing inline box), it is the expected behavior.
- 4:28 AM Changeset in webkit [287469] by
-
- 4 edits2 adds in trunk/LayoutTests
[selectors] Import two :focus-visible tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=234720
Reviewed by Sergio Villar Senin.
LayoutTests/imported/w3c:
The tests were added in https://github.com/web-platform-tests/wpt/pull/32000
and are related to :focus-visible and accesskey.
They don't work on WebKit due to webkit.org/b/234139, though they work properly on wpt.fyi.
- web-platform-tests/css/selectors/focus-visible-024.html: Added.
- web-platform-tests/css/selectors/focus-visible-025.html: Added.
- web-platform-tests/css/selectors/w3c-import.log:
LayoutTests:
Skip the new imported tests as they fail due to webkit.org/b/234139.
- 2:14 AM Changeset in webkit [287468] by
-
- 2 edits in trunk/Source/JavaScriptCore
[RISCV64] Add MacroAssemblerRISCV64 operations for floating-point branches
https://bugs.webkit.org/show_bug.cgi?id=234631
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.
Add the floating-point branching operation implementations in
MacroAssemblerRISCV64. Unordered status of values is determined through
the fclass instruction and then handled as appropriate for the desired
condition.
- assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::branchFloat):
(JSC::MacroAssemblerRISCV64::branchDouble):
(JSC::MacroAssemblerRISCV64::branchDoubleNonZero):
(JSC::MacroAssemblerRISCV64::branchDoubleZeroOrNaN):
(JSC::MacroAssemblerRISCV64::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerRISCV64::branchConvertDoubleToInt32):
(JSC::MacroAssemblerRISCV64::branchFP):
- 1:45 AM Changeset in webkit [287467] by
-
- 2 edits in trunk/Source/JavaScriptCore
[RISCV64] Add MacroAssemblerRISCV64 operations for testing, comparison
https://bugs.webkit.org/show_bug.cgi?id=234630
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.
Add MacroAssemblerRISCV64 implementations for the different variants of
compare and test instructions.
For comparisons, the implementations set up the two values in separate
registers and perform the comparison per the inquired relation, writing
out the result into the destination register.
For tests, the two values are set up and put through the bitwise AND,
with the result evaluated and the destination register filled out
according to the inquired result condition.
- assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::compare8):
(JSC::MacroAssemblerRISCV64::compare32):
(JSC::MacroAssemblerRISCV64::compare64):
(JSC::MacroAssemblerRISCV64::test8):
(JSC::MacroAssemblerRISCV64::test32):
(JSC::MacroAssemblerRISCV64::test64):
(JSC::MacroAssemblerRISCV64::compareFinalize):
(JSC::MacroAssemblerRISCV64::testFinalize):
- 1:31 AM Changeset in webkit [287466] by
-
- 2 edits in trunk/Source/JavaScriptCore
[RISCV64] Add MacroAssemblerRISCV64 operations with patchable elements
https://bugs.webkit.org/show_bug.cgi?id=234635
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.
Add MacroAssemblerRISCV64 implementations for operations that generate
patchable code sections. This covers moves, stores and branches.
For moves and stores of pointer values, the patchable section is
achieved by generating a immediate loader instruction sequence with all
the placeholder instructions (nops) included.
Some methods that had their noop implementations provided until now have
been removed since they are not necessary anymore.
- assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::moveWithPatch):
(JSC::MacroAssemblerRISCV64::storePtrWithPatch):
(JSC::MacroAssemblerRISCV64::branch32WithPatch):
(JSC::MacroAssemblerRISCV64::branchPtrWithPatch):
(JSC::MacroAssemblerRISCV64::patchableBranch64):
- 1:06 AM Changeset in webkit [287465] by
-
- 5 edits in trunk/Source
[RISCV64] Enable signal-based VM traps for CPU(RISCV64)
https://bugs.webkit.org/show_bug.cgi?id=234719
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
Enable signal-based VM traps on RISCV64. On Linux, this depends on
generating a SIGSEGV or SIGBUS signal. The former can be generated
through a simple storage instruction that sources the address from
the zero register.
This storage instruction is generated on the desired location through
the RISCV64Assembler::replaceWithVMHalt() method.
- assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::replaceWithVMHalt):
- assembler/RISCV64Assembler.h:
(JSC::RISCV64Assembler::replaceWithVMHalt):
Source/WTF:
- wtf/PlatformEnable.h: Define ENABLE_SIGNAL_BASED_VM_TRAPS for CPU(RISCV64).
- 12:48 AM Changeset in webkit [287464] by
-
- 4 edits in trunk/Source
[RISCV64] Define HAVE_MACHINE_CONTEXT, provide mcontext_t accessors for CPU(RISCV64)
https://bugs.webkit.org/show_bug.cgi?id=234718
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-28
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
Define HAVE_MACHINE_CONTEXT for RISCV64. In the MachineContext.h
header, CPU(RISCV64)-specific accessors into the mcontext_t struct
are also provided.
- runtime/MachineContext.h:
(JSC::MachineContext::stackPointerImpl):
(JSC::MachineContext::framePointerImpl):
(JSC::MachineContext::instructionPointerImpl):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):
Source/WTF:
- wtf/PlatformHave.h: Define HAVE_MACHINE_CONTEXT for CPU(RISCV64).
Dec 27, 2021:
- 10:10 PM Changeset in webkit [287463] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] Use thread_switch instead of sched_yield
https://bugs.webkit.org/show_bug.cgi?id=234712
Reviewed by Filip Pizlo.
Previously, we received internal reports that sched_yield waits for a long time, and causing a pause
in the client of JavaScriptCore, and we switched it to thread_switch in bmalloc::Mutex. We should do
the same thing in libpas too.
- libpas/src/libpas/pas_lock.c:
(pas_lock_lock_slow):
- 9:44 PM Changeset in webkit [287462] by
-
- 3 edits1 copy1 add1 delete in trunk/LayoutTests
[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=234714
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-12-27
- platform/glib/TestExpectations:
- platform/glib/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt: Renamed from LayoutTests/platform/gtk/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt.
- platform/glib/webgl/1.0.3/conformance/extensions/webgl-compressed-texture-s3tc-expected.txt: Added.
- platform/wpe/TestExpectations:
- 4:29 PM Changeset in webkit [287461] by
-
- 3 edits in trunk/Source/WebCore
Element::boundingAbsoluteRectWithoutLayout() should be marked
const
https://bugs.webkit.org/show_bug.cgi?id=234703
Reviewed by Darin Adler.
Mark an existing method on Element as
const
, so that it can be invoked withconst Element*
/const Element&
.
No change in behavior.
- dom/Element.cpp:
(WebCore::listBoxElementBoundingBox):
(WebCore::Element::boundingAbsoluteRectWithoutLayout const):
(WebCore::Element::boundingAbsoluteRectWithoutLayout): Deleted.
- dom/Element.h:
- 8:39 AM Changeset in webkit [287460] by
-
- 4 edits2 deletes in trunk/LayoutTests
Consolidate computed-style-*.txt and getComputedStyle-basic-expected.txt test results
Unreviewed test gardening.
The results in the non-platform directory are stale, the platform/mac/ results are the most recent ones.
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
- platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
- platform/mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
- svg/css/getComputedStyle-basic-expected.txt:
- 2:04 AM Changeset in webkit [287459] by
-
- 18 edits2 moves in trunk/Source/JavaScriptCore
Consider merging Wasm::FunctionCodeBlock and Wasm::LLIntCallee
https://bugs.webkit.org/show_bug.cgi?id=203691
Reviewed by Filip Pizlo.
This patch merges Wasm::FunctionCodeBlock into Wasm::LLIntCallee since both
are one-on-one and what they want to represent are the same. We change
Wasm::FunctionCodeBlock to Wasm::FunctionCodeBlockGenerator so that we can
use FixedVector in Wasm::LLIntCallee which makes Wasm::LLIntCallee small,
and this is similar to what JS side is doing (UnlinkedCodeBlockGenerator).
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/BytecodeDumper.cpp:
(JSC::Wasm::BytecodeDumper::dumpBlock):
(JSC::Wasm::BytecodeDumper::dumpConstants):
(JSC::Wasm::BytecodeDumper::constantName const):
- bytecode/BytecodeDumper.h:
- interpreter/Interpreter.cpp:
(JSC::CatchInfo::CatchInfo):
- llint/LLIntOffsetsExtractor.cpp:
- llint/WebAssembly.asm:
- wasm/WasmCallee.cpp:
(JSC::Wasm::LLIntCallee::LLIntCallee):
(JSC::Wasm::LLIntCallee::outOfLineJumpOffset):
(JSC::Wasm::LLIntCallee::outOfLineJumpTarget):
(JSC::Wasm::LLIntCallee::linkExceptionHandlers): Deleted.
- wasm/WasmCallee.h:
(JSC::Wasm::Callee::llintFunctionCodeBlock const): Deleted.
- wasm/WasmFunctionCodeBlockGenerator.cpp: Renamed from Source/JavaScriptCore/wasm/WasmFunctionCodeBlock.cpp.
(JSC::Wasm::FunctionCodeBlockGenerator::setInstructions):
(JSC::Wasm::FunctionCodeBlockGenerator::addOutOfLineJumpTarget):
(JSC::Wasm::FunctionCodeBlockGenerator::outOfLineJumpOffset):
(JSC::Wasm::FunctionCodeBlockGenerator::addSignature):
(JSC::Wasm::FunctionCodeBlockGenerator::addJumpTable):
(JSC::Wasm::FunctionCodeBlockGenerator::numberOfJumpTables const):
- wasm/WasmFunctionCodeBlockGenerator.h: Renamed from Source/JavaScriptCore/wasm/WasmFunctionCodeBlock.h.
(JSC::Wasm::FunctionCodeBlockGenerator::FunctionCodeBlockGenerator):
(JSC::Wasm::FunctionCodeBlockGenerator::tierUpCounter):
- wasm/WasmGeneratorTraits.h:
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::parseAndCompileBytecode):
(JSC::Wasm::LLIntGenerator::LLIntGenerator):
(JSC::Wasm::LLIntGenerator::finalize):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addSwitch):
- wasm/WasmLLIntGenerator.h:
- wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::compileFunction):
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
- wasm/WasmLLIntPlan.h:
- wasm/WasmLLIntTierUpCounter.h:
(JSC::Wasm::LLIntTierUpCounter::LLIntTierUpCounter):
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::shouldJIT):
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::doWasmCallIndirect):
(JSC::LLInt::doWasmCallRef):
Dec 26, 2021:
- 11:46 PM Changeset in webkit [287458] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Use SlowPathReturnType instead of EncodedMatchResult
https://bugs.webkit.org/show_bug.cgi?id=234686
Reviewed by Filip Pizlo.
This patch replaces YarrJIT's EncodedMatchResult with SlowPathReturnType so that
CCallHelpers can handle it correctly.
- runtime/MatchResult.h:
(JSC::MatchResult::MatchResult):
(JSC::MatchResult::failed):
- runtime/SlowPathReturnType.h:
(JSC::decodeResult):
- yarr/YarrJIT.h:
- 11:38 PM Changeset in webkit [287457] by
-
- 2 edits in trunk/Source/WebCore
[GTK][a11y] Test accessibility/aria-inherits-presentational.html is failing with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234685
Reviewed by Adrian Perez de Castro.
We are ignoring list items inheriting presentational role, but we need to expose its contents.
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::effectiveRole const): Use section as effective role of list items inheriting
presentational role.
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const): Include list items inheriting
presentational role.
- 11:37 PM Changeset in webkit [287456] by
-
- 8 edits in trunk
[GTK][a11y] Stop setting manages-descendants on web process root object with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234663
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Emit parent-changed and children-changed signals instead, like all other objects, to properly update the ATSPI
cache.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::parentChanged): Emit the signal for the root object.
(WebCore::AccessibilityAtspi::childrenChanged): Ditto.
- accessibility/atspi/AccessibilityAtspi.h:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::cacheDestroyed): Notify the root object too.
(WebCore::AccessibilityObjectAtspi::elementDestroyed): Ditto.
(WebCore::AccessibilityObjectAtspi::setParent): Ditto.
(WebCore::AccessibilityObjectAtspi::serialize const): Use AccessibilityRootAtspi::applicationReference().
- accessibility/atspi/AccessibilityRootAtspi.cpp:
(WebCore::AccessibilityRootAtspi::embedded): Call AccessibilityAtspi::parentChanged().
(WebCore::AccessibilityRootAtspi::parentReference const): Added.
(WebCore::AccessibilityRootAtspi::childAdded): Call AccessibilityAtspi::childrenChanged().
(WebCore::AccessibilityRootAtspi::childRemoved): Ditto.
(WebCore::AccessibilityRootAtspi::serialize const): Do not set manages-descendants state.
- accessibility/atspi/AccessibilityRootAtspi.h:
Tools:
Update the unit test to remove the ATSPI ifdef.
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(testAccessibleBasicHierarchy):
- 11:36 PM Changeset in webkit [287455] by
-
- 3 edits in trunk/Source/WebCore
[GTK][a11y] Test /webkit/WebKitAccessibility/selection/listbox is flaky with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234665
Reviewed by Adrian Perez de Castro.
The problem is that selection-changed can be called multiple times for list boxes. When the notification is
deferred by the AXObject cache, it's ensured to be called only one for every element in the following run loop
iteration, but when not deferred the signal is emitted for every notification.
- accessibility/atspi/AccessibilityObjectAtspi.h:
- accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::selectionChanged): Ensure we don't emit the selection-changed signal more
than once in the same run loop iteration.
- 11:34 PM Changeset in webkit [287454] by
-
- 2 edits in trunk/Tools
[GTK][a11y] WTR: handle xml-roles attributes to return the right role for landmark with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234638
Reviewed by Adrian Perez de Castro.
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::xmlRoleValueString):
(WTR::AccessibilityUIElement::role):
- 10:43 PM Changeset in webkit [287453] by
-
- 11 edits in trunk
[LFC][IFC] Do not trim the hanging trailing content
https://bugs.webkit.org/show_bug.cgi?id=234679
Reviewed by Antti Koivisto.
Source/WebCore:
This is the final step of making the hanging content handling inline with the spec.
(https://www.w3.org/TR/css-text-3/#hang)
Since we don't (fake)trim such content when closing the line, the content width matches
the actual content on the line which also helps when it is aligned to support RTL ordering.
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::Run::removeTrailingWhitespace):
(WebCore::Layout::Line::visuallyCollapseHangingOverflowingGlyphs): Deleted.
(WebCore::Layout::Line::Run::visuallyCollapseTrailingWhitespace): Deleted.
- layout/formattingContexts/inline/InlineLine.h:
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::horizontalAlignmentOffset):
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
LayoutTests:
- platform/mac/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt: Progression. Matches FF and Chrome selection behavior.
- 4:46 PM Changeset in webkit [287452] by
-
- 12 edits1 delete in trunk
Replace WebKit/CocoaColor.h with WebCore/ColorCocoa.h, not confusing at all
https://bugs.webkit.org/show_bug.cgi?id=234693
Reviewed by Simon Fraser.
Source/WebKit:
We don't need both. The WebCore one can work for both.
- Platform/cocoa/CocoaColor.h: Removed.
- Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::typeFromObject):
(IPC::encodeColorInternal):
(IPC::encodeObject):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView themeColor]):
(-[WKWebView underPageBackgroundColor]):
(-[WKWebView setUnderPageBackgroundColor:]):
(-[WKWebView _themeColor]):
(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _sampledPageTopColor]):
- UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(-[_WKApplicationManifest initWithCoder:]):
(-[_WKApplicationManifest themeColor]):
- UIProcess/Cocoa/WKSafeBrowsingWarning.h:
- UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
(colorForItem):
(-[WKSafeBrowsingBox setSafeBrowsingBackgroundColor:]):
(-[WKSafeBrowsingWarning showDetailsClicked]):
(-[WKSafeBrowsingTextView initWithAttributedString:forWarning:]):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
Tools:
Use WebCore/ColorCocoa.h instead.
- TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm:
- 4:03 PM Changeset in webkit [287451] by
-
- 8 edits2 adds in trunk
Make -webkit-text-combine an inherited property
https://bugs.webkit.org/show_bug.cgi?id=234694
Reviewed by Simon Fraser.
Source/WebCore:
-webkit-text-combine is said to be inherited in CSSProperties.json, but it is not actually the case.
It should be inherited per-spec (for text-combine-upright).
https://drafts.csswg.org/css-writing-modes/#text-combine-upright
Test: fast/text/text-combine-inherited.html
- rendering/style/RenderStyle.cpp:
(WebCore::rareNonInheritedDataChangeRequiresLayout):
(WebCore::rareInheritedDataChangeRequiresLayout):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::textCombine const):
(WebCore::RenderStyle::setTextCombine):
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
- rendering/style/StyleRareInheritedData.h:
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
- rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
There are also WPT that already exist for the standard version (text-combine-upright):
- css/css-writing-modes/text-combine-upright-inherit-all-001.html
- css/css-writing-modes/text-combine-upright-inherit-all-002.html
- fast/text/text-combine-inherited-expected.html: Added.
- fast/text/text-combine-inherited.html: Added.
- 3:11 PM Changeset in webkit [287450] by
-
- 2 edits in trunk/Source/WebKit
RemoteInspectorProtocolHandler::inspect() expects ConnectionID as uint32_t
https://bugs.webkit.org/show_bug.cgi?id=234657
Reviewed by Don Olmstead.
connectionID a parameter of ScriptMessageClient::didPostMessage() is casteed as <int>.
Since ConnectionID is define as uint32_t, it should be casted as <uint32_t>.
- UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp: Fixed cast for connectionID.
- 1:53 PM Changeset in webkit [287449] by
-
- 2 edits in trunk/Source/WebCore
null ptr deref in WebCore::indexForVisiblePosition()
https://bugs.webkit.org/show_bug.cgi?id=234255
Patch by Frédéric Wang <fwang@igalia.com> on 2021-12-26
Reviewed by Darin Adler.
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply): Ensure endOfSelection did not become orphan before
calling indexForVisiblePosition(). This may happen because the VisiblePosition constructor
is called in the while loop, triggering re-layout and post-layout tasks.
- 1:40 PM Changeset in webkit [287448] by
-
- 4 edits in trunk/Source/WebCore
Remove -webkit-{border-fit/margin-collapse} leftovers in StyleRareNonInheritedData
https://bugs.webkit.org/show_bug.cgi?id=234692
Reviewed by Simon Fraser.
r285615 removed -webkit-border-fit.
r287429 removed -webkit-margin-collapse properties.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::hashForTextAutosizing const):
(WebCore::RenderStyle::equalForTextAutosizing const):
(WebCore::rareNonInheritedDataChangeRequiresLayout):
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
- rendering/style/StyleRareNonInheritedData.h:
- 11:24 AM Changeset in webkit [287447] by
-
- 8 edits in trunk/Source/WebCore
[IFC][Integration] Update text renderer's needsVisualReordering bit
https://bugs.webkit.org/show_bug.cgi?id=234688
Reviewed by Antti Koivisto.
This is similar to legacy line layout where the RenderText's needsVisualReordering is
updated as the (bidi) text box is being placed on the line.
Here we update this bit right after the line layout, when we finished constructing the display boxes.
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::handleTextContent):
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::InlineContentBuilder):
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
- layout/integration/LayoutIntegrationInlineContentBuilder.h:
- layout/layouttree/LayoutInlineTextBox.cpp:
(WebCore::Layout::InlineTextBox::InlineTextBox):
(WebCore::Layout::m_canUseSimplifiedContentMeasuring):
(WebCore::Layout::m_containsBidiText): Deleted.
- layout/layouttree/LayoutInlineTextBox.h:
(WebCore::Layout::InlineTextBox::canUseSimplifiedContentMeasuring const):
(WebCore::Layout::InlineTextBox::containsBidiText const): Deleted. No need to cache this value on the layout box
InlineTextItems more or less have the same lifecycle as their associated layout boxes.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createTextBox):
- 10:47 AM Changeset in webkit [287446] by
-
- 2 edits in trunk/Source/WebCore
Update writing-mode property values in CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=234689
Reviewed by Simon Fraser.
horizontal-tb/vertical-lr/vertical-rl have been supported for a while now.
horizontal-bt has too, but it is non-standard.
- css/CSSProperties.json:
- 10:45 AM Changeset in webkit [287445] by
-
- 8 edits in trunk
[:has() pseudo-class] Support :disabled and :enabled pseudo-class invalidation
https://bugs.webkit.org/show_bug.cgi?id=234636
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/invalidation/has-pseudo-class.html:
Source/WebCore:
Use Style::PseudoClassChangeInvalidation to support invalidation with :has(:disabled).
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::setAncestorDisabled):
(WebCore::HTMLFormControlElement::parseAttribute):
(WebCore::HTMLFormControlElement::disabledStateChanged):
- html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::isDisabledFormControl const):
Use a member bit instead of checking the attribute directly. This allows invalidation to be scoped over the state change.
(WebCore::HTMLOptGroupElement::parseAttribute):
Optgroup can flip the disabled status of the associated option elements too so handle that specifically.
- html/HTMLOptGroupElement.h:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute):
- 9:21 AM Changeset in webkit [287444] by
-
- 8 edits in trunk/Source/WebCore
makeTextLogicalOrderCacheIfNeeded is only interested in whether the content needs visual reordering
https://bugs.webkit.org/show_bug.cgi?id=234687
Reviewed by Antti Koivisto.
This renaming patch is in preparation for fixing the caching codepath for LFC bidi.
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::containsStrongDirectionalityText):
(WebCore::Layout::TextUtil::containsBidiText): Deleted.
- layout/formattingContexts/inline/text/TextUtil.h:
- layout/integration/InlineIteratorLogicalOrderTraversal.cpp:
(WebCore::InlineIterator::makeTextLogicalOrderCacheIfNeeded):
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createTextBox):
- rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):
(WebCore::RenderText::positionLineBox):
- rendering/RenderText.h:
(WebCore::RenderText::needsVisualReordering const):
(WebCore::RenderText::setNeedsVisualReordering):
(WebCore::RenderText::containsBidiText const): Deleted.
(WebCore::RenderText::setContainsBidiText): Deleted.
- 7:02 AM Changeset in webkit [287443] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] ContinuousContent should tell InlineContentBreaker if the candidate content is hanging
https://bugs.webkit.org/show_bug.cgi?id=234671
Reviewed by Antti Koivisto.
ContinuousContent now keeps track of whether the candidate run is a hanging content.
It enables InlineContentBreaker to just simply look at the flag to decide if the overflowing
(hanging) content should stay on the line or not.
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::append):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::reset):
- layout/formattingContexts/inline/InlineContentBreaker.h:
(WebCore::Layout::InlineContentBreaker::ContinuousContent::isHangingContent const):
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):