⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Dec 30, 2021:

8:46 PM Changeset in webkit [287490] by Diego Pino Garcia
  • 3 edits
    4 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 Jean-Yves Avenard
  • 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 ntim@apple.com
  • 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 ntim@apple.com
  • 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 Adrian Perez de Castro
  • 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 Alan Bujtas
  • 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 Alan Bujtas
  • 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 Alan Bujtas
  • 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 Alan Bujtas
  • 8 edits
    2 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 weinig@apple.com
  • 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 commit-queue@webkit.org
  • 8 edits
    2 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 Antti Koivisto
  • 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 Alan Bujtas
  • 8 edits
    2 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.
Note: See TracTimeline for information about the timeline view.