Timeline



Nov 26, 2021:

6:43 PM Changeset in webkit [286187] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Typo in ColorConversion code: converColorComponents
https://bugs.webkit.org/show_bug.cgi?id=233497

Reviewed by Ryosuke Niwa.

Fix typo in ColorConversion code. converColorComponents -> convertColorComponents

  • platform/graphics/Color.cpp:

(WebCore::Color::toColorComponentsInColorSpace const):

  • platform/graphics/ColorConversion.cpp:

(WebCore::convertColorComponents):
(WebCore::converColorComponents): Deleted.

  • platform/graphics/ColorConversion.h:
3:51 PM Changeset in webkit [286186] by Said Abou-Hallawa
  • 74 edits in trunk/Source/WebCore

[GPU Process] Make FilterEffects create FilterEffectAppliers which will be used by FilterEffect::apply()
https://bugs.webkit.org/show_bug.cgi?id=233516

Reviewed by Cameron McCormack.

This step is required to allow integrating CoreImage FilterEffect appliers
in FilterEffect::apply(). Currently applying CoreImage FilterEffect has
to go to a different code path in FilterEffectRendererCoreImage.

  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlend::createApplier const):
(WebCore::FEBlend::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEBlend.h:
  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::createApplier const):
(WebCore::FEColorMatrix::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEColorMatrix.h:
  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::createApplier const):
(WebCore::FEComponentTransfer::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEComponentTransfer.h:
  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::createApplier const):
(WebCore::FEComposite::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEComposite.h:
  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::createApplier const):
(WebCore::FEConvolveMatrix::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEConvolveMatrix.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::createApplier const):
(WebCore::FEDisplacementMap::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::createApplier const):
(WebCore::FEDropShadow::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEDropShadow.h:
  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::createApplier const):
(WebCore::FEFlood::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::createApplier const):
(WebCore::FEGaussianBlur::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::createApplier const):
(WebCore::FELighting::platformApplySoftware): Deleted.

  • platform/graphics/filters/FELighting.h:
  • platform/graphics/filters/FEMerge.cpp:

(WebCore::FEMerge::createApplier const):
(WebCore::FEMerge::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEMerge.h:
  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::createApplier const):
(WebCore::FEMorphology::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEMorphology.h:
  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffset::createApplier const):
(WebCore::FEOffset::platformApplySoftware): Deleted.

  • platform/graphics/filters/FEOffset.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::createApplier const):
(WebCore::FETile::platformApplySoftware): Deleted.

  • platform/graphics/filters/FETile.h:
  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::createApplier const):
(WebCore::FETurbulence::platformApplySoftware): Deleted.

  • platform/graphics/filters/FETurbulence.h:
  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::apply):

  • platform/graphics/filters/FilterEffect.h:
  • platform/graphics/filters/FilterEffectApplier.h:

(WebCore::FilterEffectApplier::create):
(WebCore::FilterEffectConcreteApplier::FilterEffectConcreteApplier):

  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlpha::createApplier const):
(WebCore::SourceAlpha::platformApplySoftware): Deleted.

  • platform/graphics/filters/SourceAlpha.h:
  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphic::createApplier const):
(WebCore::SourceGraphic::platformApplySoftware): Deleted.

  • platform/graphics/filters/SourceGraphic.h:
  • platform/graphics/filters/software/FEBlendSoftwareApplier.cpp:

(WebCore::FEBlendSoftwareApplier::apply const):
(WebCore::FEBlendSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEBlendSoftwareApplier.h:
  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.cpp:

(WebCore::FEColorMatrixSoftwareApplier::FEColorMatrixSoftwareApplier):
(WebCore::FEColorMatrixSoftwareApplier::apply const):
(WebCore::FEColorMatrixSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.h:
  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.cpp:

(WebCore::FEComponentTransferSoftwareApplier::apply const):
(WebCore::FEComponentTransferSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h:
  • platform/graphics/filters/software/FECompositeSoftwareApplier.cpp:

(WebCore::FECompositeSoftwareApplier::applyArithmetic const):
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic const):
(WebCore::FECompositeSoftwareApplier::apply const):
(WebCore::FECompositeSoftwareApplier::applyArithmetic): Deleted.
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic): Deleted.
(WebCore::FECompositeSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FECompositeSoftwareApplier.h:
  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.cpp:

(WebCore::FEConvolveMatrixSoftwareApplier::apply const):
(WebCore::FEConvolveMatrixSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h:
  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.cpp:

(WebCore::FEDisplacementMapSoftwareApplier::FEDisplacementMapSoftwareApplier):
(WebCore::FEDisplacementMapSoftwareApplier::apply const):
(WebCore::FEDisplacementMapSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.h:
  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp:

(WebCore::FEDropShadowSoftwareApplier::apply const):
(WebCore::FEDropShadowSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.h:
  • platform/graphics/filters/software/FEFloodSoftwareApplier.cpp:

(WebCore::FEFloodSoftwareApplier::apply const):
(WebCore::FEFloodSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEFloodSoftwareApplier.h:
  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:

(WebCore::FEGaussianBlurSoftwareApplier::apply const):
(WebCore::FEGaussianBlurSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.h:
  • platform/graphics/filters/software/FELightingSoftwareApplier.cpp:

(WebCore::FELightingSoftwareApplier::apply const):
(WebCore::FELightingSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FELightingSoftwareApplier.h:
  • platform/graphics/filters/software/FEMergeSoftwareApplier.cpp:

(WebCore::FEMergeSoftwareApplier::apply const):
(WebCore::FEMergeSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEMergeSoftwareApplier.h:
  • platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp:

(WebCore::FEMorphologySoftwareApplier::apply const):
(WebCore::FEMorphologySoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEMorphologySoftwareApplier.h:
  • platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp:

(WebCore::FEOffsetSoftwareApplier::apply const):
(WebCore::FEOffsetSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FEOffsetSoftwareApplier.h:
  • platform/graphics/filters/software/FETileSoftwareApplier.cpp:

(WebCore::FETileSoftwareApplier::apply const):
(WebCore::FETileSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FETileSoftwareApplier.h:
  • platform/graphics/filters/software/FETurbulenceSoftwareApplier.cpp:

(WebCore::FETurbulenceSoftwareApplier::apply const):
(WebCore::FETurbulenceSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/FETurbulenceSoftwareApplier.h:
  • platform/graphics/filters/software/SourceAlphaSoftwareApplier.cpp:

(WebCore::SourceAlphaSoftwareApplier::apply const):
(WebCore::SourceAlphaSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/SourceAlphaSoftwareApplier.h:
  • platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp:

(WebCore::SourceGraphicSoftwareApplier::apply const):
(WebCore::SourceGraphicSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/software/SourceGraphicSoftwareApplier.h:
  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImageSoftwareApplier::apply const):
(WebCore::FEImage::createApplier const):
(WebCore::FEImageSoftwareApplier::apply): Deleted.
(WebCore::FEImage::platformApplySoftware): Deleted.

  • svg/graphics/filters/SVGFEImage.h:
2:19 PM Changeset in webkit [286185] by Lauro Moura
  • 2 edits in trunk/Tools

[GTK] Gardening API test WebKit.OnDeviceChangedCrash as flaky timeout

Unreviewed test gardening.

Flakiness seems to have been introduced between 243131@main and
243249@main.

  • TestWebKitAPI/glib/TestExpectations.json:
2:10 PM Changeset in webkit [286184] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.35.1

WPE WebKit 2.35.1

2:09 PM Changeset in webkit [286183] by Adrian Perez de Castro
  • 4 edits in trunk

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.35.1 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.35.1.
1:45 PM Changeset in webkit [286182] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

Unreviewed non-unified build fix.

No new tests needed.

  • css/SelectorChecker.cpp: Add missin StyleRule.h header inclusion.
11:36 AM Changeset in webkit [286181] by ntim@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

Remove focus-after-close-expected.txt for glib as it is identical as the cross-platform file

Unreviewed test gardening

  • platform/glib/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close-expected.txt: Removed.
7:13 AM Changeset in webkit [286180] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

[:has() pseudo-class] Don't traverse descendants during selector matching unless needed
https://bugs.webkit.org/show_bug.cgi?id=233520

Reviewed by Alan Bujtas.

It is sufficient to traverse direct children to match something like :has(> foo).

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne const):
(WebCore::SelectorChecker::matchHasPseudoClass const):

Factor into a function.
Compute the match element for the :has() argument and use it to choose what to traverse.

  • css/SelectorChecker.h:
  • style/RuleFeature.cpp:

(WebCore::Style::computeNextMatchElement):
(WebCore::Style::computeHasPseudoClassMatchElement):
(WebCore::Style::computeSubSelectorMatchElement):

Make these free-standing functions and expose computeHasPseudoClassMatchElement.

(WebCore::Style::RuleFeatureSet::computeNextMatchElement): Deleted.
(WebCore::Style::RuleFeatureSet::computeSubSelectorMatchElement): Deleted.

  • style/RuleFeature.h:
7:01 AM Changeset in webkit [286179] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION(r286112): Style invalidation for text mutation happening after event dispatch
https://bugs.webkit.org/show_bug.cgi?id=233501
<rdar://problem/85754810>

Reviewed by Alan Bujtas.

Source/WebCore:

Test: fast/events/mutation-in-DOMCharacterDataModified.html

  • dom/CharacterData.cpp:

(WebCore::CharacterData::setDataAndUpdate):

Scope ChildChangeInvalidation more narrowly.

LayoutTests:

  • fast/events/mutation-in-DOMCharacterDataModified-expected.txt: Added.
  • fast/events/mutation-in-DOMCharacterDataModified.html: Added.
6:42 AM Changeset in webkit [286178] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][IFC] Generate ellipsis boxes for tex-overflow: ellipsis
https://bugs.webkit.org/show_bug.cgi?id=233508

Reviewed by Antti Koivisto.

  1. Check for overflowing inline content
  2. Truncate runs to make room for the ellipsis content

(https://drafts.csswg.org/css-overflow/#text-overflow)

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::processOverflownRunsForEllipsis):

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/formattingContexts/inline/InlineRect.h:

(WebCore::Layout::InlineRect::setRight):

  • layout/formattingContexts/inline/display/InlineDisplayBox.h:

(WebCore::InlineDisplay::Box::isEllipsis const):
(WebCore::InlineDisplay::Box::moveHorizontally):
(WebCore::InlineDisplay::Box::truncate):

  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::breakWord):

  • layout/formattingContexts/inline/text/TextUtil.h:
5:35 AM Changeset in webkit [286177] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK][a11y] MenuListPopup elements should implement selection interface too when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=233519

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Add an implementation of canHaveSelectedChildren() to AccessibilityMenuListPopup that returns true for
ATSPI. Also implement selectedChildren() which is enough to share the same selection interface implementation
with list box elements. This is consistent with chromium.

  • accessibility/AccessibilityMenuListPopup.cpp:

(WebCore::AccessibilityMenuListPopup::canHaveSelectedChildren const):
(WebCore::AccessibilityMenuListPopup::selectedChildren):

  • accessibility/AccessibilityMenuListPopup.h:
  • accessibility/atspi/AXObjectCacheAtspi.cpp:

(WebCore::AXObjectCache::postPlatformNotification):

Tools:

Add a test case for menu list.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testSelectionListBox):
(testSelectionMenuList):
(beforeAll):

5:17 AM Changeset in webkit [286176] by Adrian Perez de Castro
  • 14 edits in trunk/Source

Non-unified build fixes, late November 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=233493

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • jit/ThunkGenerators.h: Add missing inclusion of CallMode.h header, move header

inclusions inside the ENABLE(JIT) guard.

Source/WebCore:

No new tests needed.

  • Modules/mediastream/RTCDataChannelRemoteHandler.cpp: Add missing ProcessQualified.h and

ScriptExecutionContextIdentifier.h headers.

  • Modules/mediastream/RTCDataChannelRemoteSource.cpp: Ditto.
  • contentextensions/ContentExtensionActions.cpp: Add missing ResourceRequest.h header.
  • platform/graphics/filters/FilterImage.h: Add missing forward declarations for the Filter

and FloatRect types.

  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.h: Add missing forward

declaration for the PixelBuffer type.

  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h: Ditto.
  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h: Add missing

IntPoint.h, IntSize.h, and JavaScriptCore/TypedArrayAdaptersForwardDeclarations.h headers.

  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.h: Add missing

IntSize.h header.

  • platform/graphics/filters/software/FELightingSoftwareApplier.h: Add missing

FilterEffect.h and FilterImageVector.h headers.

Source/WebKit:

  • WebProcess/Network/webrtc/RTCDataChannelRemoteManager.h: Add missing

WebCore/ProcessQualified.h header.

3:11 AM Changeset in webkit [286175] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

GraphicsContextGLOpenGL.cpp contains OpenGL implementation specific and platform specific code
https://bugs.webkit.org/show_bug.cgi?id=233513

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-11-26
Reviewed by Antti Koivisto.

Move duplicate functionality of "context changed, context not changed" from

  • GraphicsContextGLOpenGL ANGLE variant
  • GraphicsContextGLOpenGL OpenGL, OpenGL ES variant
  • RemoteGraphicsContextGLProxyBase

to base class GraphicsContextGL. In order to do this, add few WEBCORE_EXPORTs to
GraphicsContextGL.h, since RemoteGraphicsContextGLProxyBase is in WebKit and needs to call
the base-class versions as well as use vtable.

Move ANGLE-specific functions from GraphicsContextGLOpenGL.cpp to GraphicsContextGLANGLE.cpp.
Move TextureMapper-specific functions from GraphicsContextGLOpenGL.cpp to GraphicsContextGLTextureMapper.cpp.
Move OpenGL, OpenGL ES specific functions from GraphicsContextGLOpenGL.cpp to GraphicsContextGLOpenGLCommon.cpp.

This works towards being able to separate ANGLE and OpenGL, OpenGL ES implementations to different classes,
reducing the ifdeffing in GraphicsContextGLOpenGL.h.

No new tests, refactor.

  • platform/graphics/GraphicsContextGL.cpp:

(WebCore::GraphicsContextGL::markContextChanged):
(WebCore::GraphicsContextGL::layerComposited const):
(WebCore::GraphicsContextGL::setBuffersToAutoClear):
(WebCore::GraphicsContextGL::getBuffersToAutoClear const):
(WebCore::GraphicsContextGL::markLayerComposited):

  • platform/graphics/GraphicsContextGL.h:

(WebCore::GraphicsContextGL::Client::~Client): Deleted.

  • platform/graphics/RemoteGraphicsContextGLProxyBase.cpp:

(WebCore::RemoteGraphicsContextGLProxyBase::markContextChanged):
(WebCore::RemoteGraphicsContextGLProxyBase::markLayerComposited): Deleted.
(WebCore::RemoteGraphicsContextGLProxyBase::layerComposited const): Deleted.
(WebCore::RemoteGraphicsContextGLProxyBase::setBuffersToAutoClear): Deleted.
(WebCore::RemoteGraphicsContextGLProxyBase::getBuffersToAutoClear const): Deleted.

  • platform/graphics/RemoteGraphicsContextGLProxyBase.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::markContextChanged): Deleted.
(WebCore::GraphicsContextGLOpenGL::markLayerComposited): Deleted.
(WebCore::GraphicsContextGLOpenGL::layerComposited const): Deleted.

  • platform/graphics/cocoa/GraphicsContextGLCocoa.h:
  • platform/graphics/cocoa/GraphicsContextGLCocoa.mm:

(WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::resetBuffersToAutoClear): Deleted.
(WebCore::GraphicsContextGLOpenGL::setBuffersToAutoClear): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBuffersToAutoClear const): Deleted.
(WebCore::GraphicsContextGLOpenGL::releaseThreadResources): Deleted.
(WebCore::GraphicsContextGLOpenGL::platformReleaseThreadResources): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage2DResourceSafe): Deleted.
(WebCore::GraphicsContextGLOpenGL::setContextVisibility): Deleted.
(WebCore::GraphicsContextGLOpenGL::simulateEventForTesting): Deleted.
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay): Deleted.
(WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToMediaSample): Deleted.
(WebCore::GraphicsContextGLOpenGL::readCompositedResults): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTextureFromMedia): Deleted.

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::texImage2DResourceSafe):
(WebCore::GraphicsContextGLOpenGL::markContextChanged): Deleted.
(WebCore::GraphicsContextGLOpenGL::markLayerComposited): Deleted.
(WebCore::GraphicsContextGLOpenGL::layerComposited const): Deleted.

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLOpenGL::setContextVisibility):
(WebCore::GraphicsContextGLOpenGL::simulateEventForTesting):
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay):
(WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToMediaSample):
(WebCore::GraphicsContextGLOpenGL::readCompositedResults):
(WebCore::GraphicsContextGLTextureMapper::copyTextureFromMedia):

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.h:
1:22 AM Changeset in webkit [286174] by ntim@apple.com
  • 8 edits in trunk

Update dialog focusing steps inert/disconnected handling
https://bugs.webkit.org/show_bug.cgi?id=233514

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Updated tests to reflect new behavior.

  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-disconnected-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-disconnected.html:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-inert-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusing-steps-inert.html:

Source/WebCore:

After discussing with Domenic Denicola, we resolved on stopping early return in case of inert <dialog>,
and disconnected <dialog> will just do nothing at the "focus the control" step.

The focus fixup rule still applies, meaning the focus is still moved to the viewport in case of modal <dialog>,
given everything else is non-focusable.

https://github.com/whatwg/html/commit/08b4033db249ea0c63fd35f4e8fa06e85ec20a6f

https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule

  • html/HTMLDialogElement.cpp:

(WebCore::HTMLDialogElement::runFocusingSteps):

12:41 AM Changeset in webkit [286173] by Carlos Garcia Campos
  • 11 edits
    1 add in trunk

[GTK][a11y] Add implementation of selection interface when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=233494

Reviewed by Adrian Perez de Castro.

Source/WebCore:

  • SourcesGTK.txt:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::deferSelectedChildrenChangedIfNeeded):

  • accessibility/atspi/AXObjectCacheAtspi.cpp:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/atspi/AccessibilityAtspi.cpp:

(WebCore::AccessibilityAtspi::selectionChanged):

  • accessibility/atspi/AccessibilityAtspi.h:
  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::interfacesForObject):
(WebCore::AccessibilityObjectAtspi::path):
(WebCore::AccessibilityObjectAtspi::name const):
(WebCore::AccessibilityObjectAtspi::buildInterfaces const):

  • accessibility/atspi/AccessibilityObjectAtspi.h:
  • accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp: Added.

(WebCore::AccessibilityObjectAtspi::selectionCount const):
(WebCore::AccessibilityObjectAtspi::selectedChild const):
(WebCore::AccessibilityObjectAtspi::setChildSelected const):
(WebCore::AccessibilityObjectAtspi::deselectSelectedChild const):
(WebCore::AccessibilityObjectAtspi::isChildSelected const):
(WebCore::AccessibilityObjectAtspi::selectAll const):
(WebCore::AccessibilityObjectAtspi::clearSelection const):
(WebCore::AccessibilityObjectAtspi::selectionChanged):

Tools:

Add tests case for selection interface and WTR implementation.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testSelectionListBox):
(beforeAll):

  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
(WTR::AccessibilityUIElement::removeSelectionAtIndex const):
(WTR::AccessibilityUIElement::clearSelectedChildren const):

Nov 25, 2021:

11:53 PM Changeset in webkit [286172] by Said Abou-Hallawa
  • 21 edits in trunk/Source/WebCore

[GPU Process] Move FilterEffect relative absolutePaintRect calculation to FilterImage
https://bugs.webkit.org/show_bug.cgi?id=233510

Reviewed by Cameron McCormack.

drawingRegionOfInputImage() and requestedRegionOfInputPixelBuffer() will
be removed from FilterEffect and will be replaced by FilterImage::
absoluteImageRectRelativeTo(). Both of the removed function were just
getting the absolutePaintRect of a FilterEffect relative to a specified
FilterImage. Also there is o need for scaling because of clamping since
the areas of all FilterImages have to be less than MaxClampedArea.

  • platform/graphics/filters/Filter.h:

(WebCore::Filter::maxEffectRect const): Deleted.

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::requestedRegionOfInputPixelBuffer const): Deleted.
(WebCore::FilterEffect::drawingRegionOfInputImage const): Deleted.

  • platform/graphics/filters/FilterEffect.h:
  • platform/graphics/filters/FilterImage.cpp:

(WebCore::FilterImage::maxEffectRect const):
(WebCore::FilterImage::absoluteImageRectRelativeTo const):

  • platform/graphics/filters/FilterImage.h:
  • platform/graphics/filters/software/FEBlendSoftwareApplier.cpp:

(WebCore::FEBlendSoftwareApplier::apply):

  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.cpp:

(WebCore::FEColorMatrixSoftwareApplier::apply):

  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.cpp:

(WebCore::FEComponentTransferSoftwareApplier::apply):

  • platform/graphics/filters/software/FECompositeSoftwareApplier.cpp:

(WebCore::FECompositeSoftwareApplier::applyArithmetic):
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic):

  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.cpp:

(WebCore::FEConvolveMatrixSoftwareApplier::apply):

  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.cpp:

(WebCore::FEDisplacementMapSoftwareApplier::apply):

  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp:

(WebCore::FEDropShadowSoftwareApplier::apply):

  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:

(WebCore::FEGaussianBlurSoftwareApplier::apply):

  • platform/graphics/filters/software/FELightingSoftwareApplier.cpp:

(WebCore::FELightingSoftwareApplier::apply):

  • platform/graphics/filters/software/FEMergeSoftwareApplier.cpp:

(WebCore::FEMergeSoftwareApplier::apply):

  • platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp:

(WebCore::FEMorphologySoftwareApplier::apply):

  • platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp:

(WebCore::FEOffsetSoftwareApplier::apply):

  • platform/graphics/filters/software/FETileSoftwareApplier.cpp:

(WebCore::FETileSoftwareApplier::apply):

  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::outputRect):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImageSoftwareApplier::apply):

9:04 PM Changeset in webkit [286171] by Jean-Yves Avenard
  • 10 edits in trunk

Avoid flattening a SharedBuffer when reading reading it through SharedBufferChunkReader.
https://bugs.webkit.org/show_bug.cgi?id=233481
rdar://problem/85733358

Source/WebCore:

Reviewed by Cameron McCormack

SharedBufferChunkReader required the SharedBuffer to be flattened which
would mutate the underlying SharedBuffer.
The peek method was also incorrect if the data read overlapped multiple
segments (it would return too many characters) and some members were used
without being initialised.

Additionally, add a similar read method in SharedBuffer that will be used
in bug 233030.

Covered in existing tests, API tests added.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::getSomeData const):
(WebCore::SharedBuffer::getSegmentForPosition const):
(WebCore::SharedBuffer::read const):

  • platform/SharedBuffer.h:
  • platform/SharedBufferChunkReader.cpp:

(WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
(WebCore::SharedBufferChunkReader::nextChunk):
(WebCore::SharedBufferChunkReader::peek):

  • platform/SharedBufferChunkReader.h:

Tools:

Reviewed by Cameron McCormack.

Add API tests.
API tests original data come from the original bug that added
SharedBufferChunkReader (bug 59946) and then expanded.

  • TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:

(TestWebKitAPI::TEST_F):
(TestWebKitAPI::readAllChunks):
(TestWebKitAPI::checkChunks):
(TestWebKitAPI::checkDataInRange):

  • TestWebKitAPI/Tests/WebCore/SharedBufferTest.h:
8:15 PM Changeset in webkit [286170] by Lauro Moura
  • 2 edits in trunk/Tools

[GTK] Gardening API test authentication-success flaky timeout

Unreviewed test gardening.

  • TestWebKitAPI/glib/TestExpectations.json:
1:14 PM Changeset in webkit [286169] by Antti Koivisto
  • 10 edits in trunk

[:has() pseudo-class] Invalidation support for adding and removing nodes
https://bugs.webkit.org/show_bug.cgi?id=233489

Reviewed by Alan Bujtas.

LayoutTests/imported/w3c:

Add some additional cases to an existing test.

  • web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt:
  • web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has.html:

Source/WebCore:

We need to invalidate style when added or removed elements match :has() arguments.

This patch adds tag name invalidation rulesets for :has() case, along with the existing class
and attribute rulesets. It is still missing support for #id invalidation.

  • style/ChildChangeInvalidation.cpp:

(WebCore::Style::ChildChangeInvalidation::ChildChangeInvalidation):

See if we need to invalidate for the elements being removed before the mutation.

(WebCore::Style::ChildChangeInvalidation::~ChildChangeInvalidation):

See if we need to invalidate for the elements being added after the mutation.

(WebCore::Style::ChildChangeInvalidation::invalidateForChangedElement):

Find the relevant invalidation rulesets for attributes, classes and tags and invalidate using them.

(WebCore::Style::needsTraversal):

We only need to do anything in the presence of :has() rules.

(WebCore::Style::needsDescendantTraversal):

Full traversal is only needed in case there are :has() rules using descendant combinator.

(WebCore::Style::ChildChangeInvalidation::traverseRemovedElements):
(WebCore::Style::ChildChangeInvalidation::traverseAddedElements):

  • style/ChildChangeInvalidation.h:
  • style/RuleFeature.cpp:

(WebCore::Style::isHasPseudoClassMatchElement):
(WebCore::Style::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):
(WebCore::Style::RuleFeatureSet::collectFeatures):

Collect tag invalidation rulesets for :has case only.

(WebCore::Style::RuleFeatureSet::add):
(WebCore::Style::RuleFeatureSet::clear):
(WebCore::Style::RuleFeatureSet::shrinkToFit):

  • style/RuleFeature.h:

(WebCore::Style::RuleFeatureSet::usesMatchElement const):
(WebCore::Style::RuleFeatureSet::setUsesMatchElement):

Keep track of what sort of match elements are being used.

  • style/StyleScopeRuleSets.cpp:

(WebCore::Style::ScopeRuleSets::collectFeatures const):
(WebCore::Style::ScopeRuleSets::tagInvalidationRuleSets const):

  • style/StyleScopeRuleSets.h:
7:24 AM Changeset in webkit [286168] by weinig@apple.com
  • 25 edits
    19 copies
    9 adds in trunk

[CSS Color 4] Add support for new srgb-linear, xyz-d50 and xyz-d65 colorspaces
https://bugs.webkit.org/show_bug.cgi?id=233475

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Update existing color(xyz ...) tests for new d65 whitepoint and add new tests
for color(srgb-linear ...), color(xyz-d50 ...) and color(xyz-d65 ...).

  • web-platform-tests/css/css-color/predefined-016.html:
  • web-platform-tests/css/css-color/srgb-linear-001-expected.html: Added.
  • web-platform-tests/css/css-color/srgb-linear-001.html: Added.
  • web-platform-tests/css/css-color/srgb-linear-002-expected.html: Added.
  • web-platform-tests/css/css-color/srgb-linear-002.html: Added.
  • web-platform-tests/css/css-color/srgb-linear-003-expected.html: Added.
  • web-platform-tests/css/css-color/srgb-linear-003.html: Added.
  • web-platform-tests/css/css-color/srgb-linear-004-expected.html: Added.
  • web-platform-tests/css/css-color/srgb-linear-004.html: Added.
  • web-platform-tests/css/css-color/xyz-001.html:
  • web-platform-tests/css/css-color/xyz-003-expected.html:
  • web-platform-tests/css/css-color/xyz-003.html:
  • web-platform-tests/css/css-color/xyz-004-expected.html:
  • web-platform-tests/css/css-color/xyz-004.html:
  • web-platform-tests/css/css-color/xyz-005.html:
  • web-platform-tests/css/css-color/xyz-d50-001-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-001.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-002-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-002.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-003-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-003.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-004-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-004.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-005-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d50-005.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-001-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-001.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-002-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-002.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-003-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-003.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-004-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-004.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-005-expected.html: Added.
  • web-platform-tests/css/css-color/xyz-d65-005.html: Added.

Source/WebCore:

Updates existing tests to add cases for the new colorspaces.

  • Adds support for color(srgb-linear ...), color(xyz-d50 ...) and color(xyz-d65 ...)
  • Updates color(xyz ...) to be an alias of color(xyz-d65 ...), which is a breaking change both because previously it used the d50 white point and because we now serialize it as color(xyz-d65 ...). We think this is acceptable as we just shipped the feature and no other browsers yet support it.
  • Adds support for color-mix(in xyz-d50, ...) and color-mix(in xyz-d65, ...).
  • Updates color-mix(in xyz, ...) to use the d65 white point (like above). We have not shipped color-mix enabled, so this should even less controvertial.
  • css/CSSValueKeywords.in:

Add new keywords.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::parseRelativeColorFunctionForRGBTypes):
(WebCore::CSSPropertyParserHelpers::parseColorFunctionForRGBTypes):
(WebCore::CSSPropertyParserHelpers::parseColorFunctionForXYZTypes):
(WebCore::CSSPropertyParserHelpers::parseRelativeColorFunctionForXYZTypes):
(WebCore::CSSPropertyParserHelpers::parseRelativeColorFunctionParameters):
(WebCore::CSSPropertyParserHelpers::parseNonRelativeColorFunctionParameters):
(WebCore::CSSPropertyParserHelpers::consumeColorMixColorSpaceAndComma):
(WebCore::CSSPropertyParserHelpers::mixColorComponents):
Add/update parsing support for new/updated colorspaces. parseColorFunctionForXYZTypes
is now templatized like parseColorFunctionForRGBTypes to allow reusing it for each
of the XYZ types.

  • platform/graphics/ColorSpace.h:

(WebCore::callWithColorType):

  • platform/graphics/ColorSpace.cpp:

(WebCore::operator<<):

  • platform/graphics/ColorConversion.cpp:

(WebCore::converColorComponents):
Add new "named" colorspace, XYZ_D65, so that color(xyz-d65 ...) can be piped through
and serialized correctly. We already had a name for srgb-linear (though it was not
possible to create it from css previously) so no new name was needed for it.

  • platform/graphics/ColorSerialization.cpp:

(WebCore::serialization):
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
(WebCore::serializationForRenderTreeAsText):
Add serialization specialization for xyz-d50/xyz-d65 and update name of LinearSRGBA
to "srgb-linear" to match the now defined name in css.

  • platform/graphics/cg/ColorCG.cpp:

(WebCore::Color::createAndLosslesslyConvertToSupportedColorSpace):

  • platform/graphics/cg/ColorSpaceCG.cpp:

(WebCore::xyzD50ColorSpaceRef):
(WebCore::colorSpaceForCGColorSpace):
(WebCore::xyzColorSpaceRef): Deleted.

  • platform/graphics/cg/ColorSpaceCG.h:

(WebCore::cachedNullableCGColorSpace):
Updates xyzColorSpaceRef() function to be named xyzD50ColorSpaceRef() to more accurately
state what it is. It is not yet clear how or if an xyz-d65 colorspace can be created in
CoreGraphics, so we return nullptr when requested. This does not change any rendered values
as we can convert to extended-srgb in that case (as we do with lab and lch) without any loss.

LayoutTests:

Update tests for new srgb-linear, xyz-d50 and xyz-d65 colorspaces

  • fast/css/parsing-color-function-expected.txt:
  • fast/css/parsing-color-function.html:
  • fast/css/parsing-color-mix-expected.txt:
  • fast/css/parsing-color-mix.html:
  • fast/css/parsing-relative-color-syntax-expected.txt:
  • fast/css/parsing-relative-color-syntax.html:
5:22 AM Changeset in webkit [286167] by commit-queue@webkit.org
  • 17 edits
    3 moves
    2 adds
    1 delete in trunk

GraphicsContextGL implementations should have separate class definitions
https://bugs.webkit.org/show_bug.cgi?id=233491

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-11-25
Reviewed by Antti Koivisto.

Source/WebCore:

Add new concrete classes GraphicsContextGLCocoa and
GraphicsContextGLTextureMapper.
In the future, the platform-specific functionality can be moved
to these classes, reducing the GraphicsContextGLOpenGL #ifdefs.

No new tests, a refactor.

  • Modules/webxr/WebXROpaqueFramebuffer.cpp:

(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::endFrame):

  • PlatformMac.cmake:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/TextureMapper.cmake:
  • platform/graphics/cocoa/GraphicsContextGLCocoa.h: Added.
  • platform/graphics/cocoa/GraphicsContextGLCocoa.mm: Renamed from Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm.

(WebCore::GraphicsContextGLCocoa::create):
(WebCore::GraphicsContextGLCocoa::displayBuffer):
(WebCore::GraphicsContextGLCocoa::markDisplayBufferInUse):
(WebCore::GraphicsContextGLCocoa::GraphicsContextGLCocoa):
(WebCore::GraphicsContextGLCocoa::isValid const):
(WebCore::GraphicsContextGLCocoa::createPbufferAndAttachIOSurface):
(WebCore::GraphicsContextGLCocoa::destroyPbufferAndDetachIOSurface):
(WebCore::GraphicsContextGLCocoa::attachIOSurfaceToSharedTexture):
(WebCore::GraphicsContextGLCocoa::detachIOSurfaceFromSharedTexture):

  • platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm: Renamed from Source/WebCore/platform/graphics/cocoa/WebProcessGraphicsContextGLOpenGLCocoa.mm.

(WebCore::GraphicsContextGLOpenGL::create):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::isValid const): Deleted.

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:

(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLTextureMapper::create):
(WebCore::GraphicsContextGLTextureMapper::GraphicsContextGLTextureMapper):
(WebCore::GraphicsContextGLOpenGL::create):

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.h: Added.

Source/WebKit:

Use the new concrete classes GraphicsContextGLCocoa and
GraphicsContextGLTextureMapper in GPUP WebGL implemetation.

Remove GPUProcessGraphicsContextGL as the added functionality is
now in the GraphicsContextGLCocoa.

  • GPUProcess/graphics/GPUProcessGraphicsContextGL.h: Removed.
  • GPUProcess/graphics/RemoteGraphicsContextGL.h:
  • GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:

(WebKit::RemoteGraphicsContextGLCocoa::platformWorkQueueInitialize):

  • GPUProcess/graphics/RemoteGraphicsContextGLWin.cpp:

(WebKit::RemoteGraphicsContextGLWin::platformWorkQueueInitialize):

  • WebKit.xcodeproj/project.pbxproj:

Tools:

Adjust TestGraphicsContextGLOpenGLCocoa to
TestGraphicsContextGLCocoa after GraphicsContextGLOpenGL
Cocoa variant rename to GraphicsContextGLCocoa.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLOpenGLCocoa.mm.

(TestWebKitAPI::createDefaultTestContext):
(TestWebKitAPI::changeContextContents):
(TestWebKitAPI::TEST_F):

4:34 AM Changeset in webkit [286166] by eocanha@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer][WPE] Use WPE_SHELL_MEDIA_DISK_CACHE_PATH env var to customize media disk cache path
https://bugs.webkit.org/show_bug.cgi?id=233477

Reviewed by Xabier Rodriguez-Calvar.

"/var/tmp" isn't always the best place to store the media download cache generated by GstDownloadBuffer
on embedded platforms. Each of those downloads can hold up to a whole movie (Gigabytes) and "/var/tmp"
is sometimes a memory based tmpfs. Some way to control the cache path is needed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Honor environment variable.
4:02 AM Changeset in webkit [286165] by eocanha@igalia.com
  • 5 edits in trunk/LayoutTests

[GTK] Layout Test http/tests/media/video-play-waiting.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=142489

Reviewed by Philippe Normand.

The test was failing with a timeout even after properly calling TestRunner.notifyDone()
internally because there was still an injectedBundle.topLoadingFrame() in InjectedBundlePage,
which means that the web page hadn't completely finished to be downloaded. This was caused
by the stalled video download that the test wants to exercise.

The solution is to set the video src to empty in order to convince TestRunner that the page
has finished downloading.

  • http/tests/media/video-play-waiting.html: Set the video src to empty.
  • platform/mac/TestExpectations: The test now just fails (for reasons unrelated to this fix) on mac instead of timing out.
  • platform/glib/TestExpectations: Unskipped test.
  • platform/win/TestExpectations: Unskipped test.
3:44 AM Changeset in webkit [286164] by Said Abou-Hallawa
  • 67 edits
    1 copy in trunk/Source/WebCore

[GPU Process] Make FilterEffect appliers take FilterImages in their apply() methods
https://bugs.webkit.org/show_bug.cgi?id=233487

Reviewed by Cameron McCormack.

Eventually the FilterImage will be removed from FilterEffect. So this is
a step towards making the FilterEffect hold the effect data only. To do
his change, FilterImage needs to hold two new members: primitiveSubregion
and isAlphaImage.

FilterEffect::setIsAlphaImage() is not needed and isAlphaImage() will be
a virtual function but it will be renamed resultIsAlphaImage(). The result
of this function will be stored in the result FilterImage.

FEGaussianBlurSoftwareApplier::apply() is the only user of isAlphaImage.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::resultIsAlphaImage const):
(WebCore::FEColorMatrix::platformApplySoftware):

  • platform/graphics/filters/FEColorMatrix.h:
  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::platformApplySoftware):

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::platformApplySoftware):

  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::platformApplySoftware):

  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::platformApplySoftware):

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::platformApplySoftware):

  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::resultIsAlphaImage const):
(WebCore::FEGaussianBlur::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::platformApplySoftware):

  • platform/graphics/filters/FEMerge.cpp:

(WebCore::FEMerge::platformApplySoftware):

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::resultIsAlphaImage const):
(WebCore::FEMorphology::platformApplySoftware):

  • platform/graphics/filters/FEMorphology.h:
  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffset::resultIsAlphaImage const):
(WebCore::FEOffset::platformApplySoftware):

  • platform/graphics/filters/FEOffset.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::resultIsAlphaImage const):
(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FETile.h:
  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::platformApplySoftware):

  • platform/graphics/filters/Filter.h:

(WebCore::Filter::maxEffectRect const):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::apply):
(WebCore::FilterEffect::inputFilterImages const):
(WebCore::FilterEffect::externalRepresentation const):
(WebCore::FilterEffect::createResult): Deleted.
(WebCore::FilterEffect::imageBufferResult): Deleted.
(WebCore::FilterEffect::pixelBufferResult): Deleted.
(WebCore::FilterEffect::getPixelBufferResult): Deleted.
(WebCore::FilterEffect::copyPixelBufferResult const): Deleted.

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::filterImage const):
(WebCore::FilterEffect::resultIsAlphaImage const):
(WebCore::FilterEffect::isAlphaImage const): Deleted.
(WebCore::FilterEffect::setIsAlphaImage): Deleted.
(WebCore::FilterEffect::normalizedFloats): Deleted.

  • platform/graphics/filters/FilterEffectApplier.h:
  • platform/graphics/filters/FilterImage.cpp:

(WebCore::FilterImage::create):
(WebCore::FilterImage::FilterImage):

  • platform/graphics/filters/FilterImage.h:

(WebCore::FilterImage::primitiveSubregion const):
(WebCore::FilterImage::isAlphaImage const):

  • platform/graphics/filters/FilterImageVector.h: Copied from Source/WebCore/platform/graphics/filters/FilterEffectApplier.h.
  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlpha::platformApplySoftware):

  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphic::platformApplySoftware):

  • platform/graphics/filters/software/FEBlendSoftwareApplier.cpp:

(WebCore::FEBlendSoftwareApplier::apply):

  • platform/graphics/filters/software/FEBlendSoftwareApplier.h:
  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.cpp:

(WebCore::FEColorMatrixSoftwareApplier::apply):

  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.h:
  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.cpp:

(WebCore::FEComponentTransferSoftwareApplier::apply):

  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h:
  • platform/graphics/filters/software/FECompositeSoftwareApplier.cpp:

(WebCore::FECompositeSoftwareApplier::applyArithmetic):
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic):
(WebCore::FECompositeSoftwareApplier::apply):

  • platform/graphics/filters/software/FECompositeSoftwareApplier.h:
  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.cpp:

(WebCore::FEConvolveMatrixSoftwareApplier::apply):

  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h:
  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.cpp:

(WebCore::FEDisplacementMapSoftwareApplier::apply):

  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.h:
  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp:

(WebCore::FEDropShadowSoftwareApplier::apply):

  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.h:
  • platform/graphics/filters/software/FEFloodSoftwareApplier.cpp:

(WebCore::FEFloodSoftwareApplier::apply):

  • platform/graphics/filters/software/FEFloodSoftwareApplier.h:
  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:

(WebCore::FEGaussianBlurSoftwareApplier::apply):

  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.h:
  • platform/graphics/filters/software/FELightingSoftwareApplier.cpp:

(WebCore::FELightingSoftwareApplier::apply):

  • platform/graphics/filters/software/FELightingSoftwareApplier.h:
  • platform/graphics/filters/software/FEMergeSoftwareApplier.cpp:

(WebCore::FEMergeSoftwareApplier::apply):

  • platform/graphics/filters/software/FEMergeSoftwareApplier.h:
  • platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp:

(WebCore::FEMorphologySoftwareApplier::apply):

  • platform/graphics/filters/software/FEMorphologySoftwareApplier.h:
  • platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp:

(WebCore::FEOffsetSoftwareApplier::apply):

  • platform/graphics/filters/software/FEOffsetSoftwareApplier.h:
  • platform/graphics/filters/software/FETileSoftwareApplier.cpp:

(WebCore::FETileSoftwareApplier::apply):

  • platform/graphics/filters/software/FETileSoftwareApplier.h:
  • platform/graphics/filters/software/FETurbulenceSoftwareApplier.cpp:

(WebCore::FETurbulenceSoftwareApplier::apply):

  • platform/graphics/filters/software/FETurbulenceSoftwareApplier.h:
  • platform/graphics/filters/software/SourceAlphaSoftwareApplier.cpp:

(WebCore::SourceAlphaSoftwareApplier::apply):

  • platform/graphics/filters/software/SourceAlphaSoftwareApplier.h:
  • platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp:

(WebCore::SourceGraphicSoftwareApplier::apply):

  • platform/graphics/filters/software/SourceGraphicSoftwareApplier.h:
  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::output):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::postApplyResource):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImageSoftwareApplier::apply):
(WebCore::FEImage::platformApplySoftware):

1:58 AM Changeset in webkit [286163] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.35.1

WebKitGTK 2.35.1

1:57 AM Changeset in webkit [286162] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.35.1 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.35.1.
1:27 AM Changeset in webkit [286161] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

Unreviewed. Fix GTK distcheck build

Remove platform specific file from cross-platform makefile.

  • CMakeLists.txt: Add WebCoreTestSupport_PRIVATE_HEADERS and use it in WEBKIT_COPY_FILES.
  • PlatformMac.cmake: Append testing/cocoa/WebArchiveDumpSupport.h to WebCoreTestSupport_PRIVATE_HEADERS.
1:17 AM Changeset in webkit [286160] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

ANGLE Metal: The memory backing IOSurfaces of former client buffer pbuffers is leaked
https://bugs.webkit.org/show_bug.cgi?id=233328
<rdar://problem/85563187>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-11-25
Reviewed by Antti Koivisto.

Source/WebCore:

Fix a bug where recycling GraphicsContextGLOpenGL display buffers would
leak the spare buffer pbuffer handle. This would happen if the
display buffer was marked as "in use", so that the IOSurface reference
would be dropped immediately in order to not use it as next drawing buffer.
However, the IOSurface is still bound in ANGLE and as such, the pbuffer handle
must be returned during GraphicsContextGLIOSurfaceSwapChain::recycleBuffer`
call.

Adds API tests for testing the leak.

  • platform/graphics/cocoa/GraphicsContextGLIOSurfaceSwapChain.cpp:

(WebCore::GraphicsContextGLIOSurfaceSwapChain::recycleBuffer):
(WebCore::GraphicsContextGLIOSurfaceSwapChain::present):

Source/WebCore/PAL:

Add prototype for IOSurfaceIncrementUseCount.
Currently used for a test, in simulating CA behavior.

  • pal/spi/cocoa/IOSurfaceSPI.h:

Tools:

Add tests testing Cocoa GraphicsContextGLOpenGL drawing buffer
recycling behavior.

  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
  • TestWebKitAPI/Sources.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp:

(TestWebKitAPI::imageBufferPixelIs):
(TestWebKitAPI::memoryFootprintChangedBy): Deleted.

  • TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLOpenGLCocoa.mm:

(TestWebKitAPI::createDefaultTestContext):
(TestWebKitAPI::changeContextContents):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/TestUtilities.h: Added.
  • TestWebKitAPI/TestUtilities.cpp: Added.

Add few useful functions to TestUtilities.h so that different
tests can use them.

Nov 24, 2021:

10:59 PM Changeset in webkit [286159] by ntim@apple.com
  • 2 edits
    4 adds in trunk/LayoutTests/imported/w3c

Re-import html/semantics/interactive-elements/the-dialog-element WPT
https://bugs.webkit.org/show_bug.cgi?id=233482

Reviewed by Cameron McCormack.

Upstream commit: https://github.com/web-platform-tests/wpt/commit/71c864f8bd7f855f12c81bfc7a1fc3ebf18657f3

  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus-expected.txt: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-expected.txt: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
10:41 PM Changeset in webkit [286158] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

[libpas] Unreviewed, speculative libpas Linux fix, libpas requires libatomic in Linux etc., part 2

  • CMakeLists.txt:
10:36 PM Changeset in webkit [286157] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

[libpas] Unreviewed, libpas requires libatomic in Linux etc.

  • CMakeLists.txt:
5:39 PM Changeset in webkit [286156] by ddkilzer@apple.com
  • 10 edits in trunk/Source

Compiler should be able to check localized format strings for consistency
<https://webkit.org/b/232686>
<rdar://problem/84994345>

Reviewed by Darin Adler.

Source/WebCore:

The primary goal of this patch is to allow the compiler to check
format strings to ensure that the correct number and type of
arguments and placeholders are used. The epiphany to make this
possible was that Apple platforms may use CFStringRef objects or
const char* C-strings to accomplish this with CoreFoundation
macros. Non-Apple platforms continue to use const char* for
format strings to allow the compiler to check format strings.

To this end localized strings passed to formatLocalizedString()
must use a WEB_UI_FORMAT_*() macro on all platforms. Failure to
do so will result in a compiler error, though, since non-FORMAT
macros return a WTF::String.

This patch also eliminates autoreleased NSString objects except
when using WEB_UI_NSSTRING()/localizedNSString() directly (the
return value is always autoreleased), and it removes the need to
convert from CF/NSString -> WTF::String -> CF/NSString for
localized format strings.

  • Scripts/extract-localizable-strings.pl:

(isFormatMacro): Add.

  • Add support for parsing the following new macros with variadic parameter lists: o WEB_UI_FORMAT_STRING [cross-platform] o WEB_UI_FORMAT_CFSTRING o WEB_UI_FORMAT_CFSTRING_KEY
  • platform/LocalizedStrings.cpp:

(WebCore::formatLocalizedString):

  • Implement using CFStringRef format for Apple platforms, but const char* format for other platforms.
  • Use of these types allows format checking macros to be added to declarations in LocalizedStrings.h.

(WebCore::webCoreBundle): Add.

  • Extract code for getting a CFBundleRef for WebCore.framework into a function that's similar to webKitBundle() on Windows.

(WebCore::copyLocalizedString): Add.

  • This method was converted from localizedNSString() in LocalizedStringsCocoa.mm and from localizedString() in LocalizedStringsWin.cpp.

(WebCore::localizedString(CFStringRef)): Add.

  • Avoids runtime creation of CFStringRef on non-Windows platforms.

(WebCore::localizedString(const char*)):

  • Code for USE(CF) was converted from the same method in LocalizedStringsCocoa.mm, but only used on Windows port.

(WebCore::contextMenuItemTagLookUpInDictionary):
(WebCore::contextMenuItemTagTranslate):
(WebCore::multipleFileUploadText):
(WebCore::imageTitle):
(WebCore::localizedMediaTimeDescription):
(WebCore::validationMessageTooShortText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::addTrackLabelAsSuffix):
(WebCore::addTextTrackKindClosedCaptionsSuffix):
(WebCore::addTextTrackKindCaptionsSuffix):
(WebCore::addTextTrackKindDescriptionsSuffix):
(WebCore::addTextTrackKindChaptersSuffix):
(WebCore::addTextTrackKindMetadataSuffix):
(WebCore::addTextTrackKindSDHSuffix):
(WebCore::addTextTrackKindEasyReaderSuffix):
(WebCore::addTextTrackKindForcedSuffix):
(WebCore::addAudioTrackKindDescriptionsSuffix):
(WebCore::addAudioTrackKindCommentarySuffix):
(WebCore::webCryptoMasterKeyKeychainLabel):
(WebCore::makeCredentialTouchIDPromptTitle):
(WebCore::getAssertionTouchIDPromptTitle):

  • Use WEB_UI_FORMAT_STRING() for cross-platform UI format strings, and use WEB_UI_FORMAT_CFSTRING[_KEY]() for Apple platform UI format strings.
  • Make formatLocalizedString() an implementation detail of WEB_UI_FORMAT_[CF]STRING() macros.
  • platform/LocalizedStrings.h:

(WEB_UI_STRING): Add.
(WEB_UI_STRING_KEY): Add.
(WEB_UI_STRING_WITH_MNEMONIC): Add.
(WEB_UI_CFSTRING): Add.
(WEB_UI_CFSTRING_KEY): Add.

  • Add USE(CF)-specific macros to avoid CFStringRef allocations at runtime. The Apple Windows port can not use these because it uses a default encoding of Mac Roman for CFSTR().

(WEB_UI_FORMAT_STRING): Add.

  • Cross-platform macro for UI format strings.
  • Note that non-USE(CF) macros essentially do nothing since localizedString() just converts const char* to WTF::String (which was previously converted back to const char*), and formatLocalizedString() now takes a const char*.

(WEB_UI_FORMAT_CFSTRING): Add.
(WEB_UI_FORMAT_CFSTRING_KEY): Add.

  • These macros are used as format string arguments to formatLocalizedString().

(WebCore::localizedFormatString): Add.

  • Declare a new function for USE(CF) that is passed to formatLocalizedString().

(WebCore::localizedString(CFStringRef)): Add.

  • Declare a new function for USE(CF) that takes a CFStringRef argument.

(WebCore::formatLocalizedString):

  • Change to use CFStringRef format for USE(CF) platforms (except Windows), and const char* format for other platforms so format macros may be added to the delaration.

(WebCore::localizedNSString):

  • Re-implement as an inline function using localizedString().
  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::localizedNSString): Delete.

  • Moved to LocalizedStrings.h.

(WebCore::localizedString): Delete.

  • Moved to LocalizedStrings.cpp.

(WebCore::contextMenuItemTagSearchWeb):
(WebCore::keygenKeychainItemName):
(WebCore::htmlSelectMultipleItems):

  • Switch from WEB_UI_STRING() to WEB_UI_FORMAT_CFSTRING() due to the new rule for localized format strings.

(WebCore::validationMessageTooLongText):

  • Switch from +[NSString stringWithFormat:] and WEB_UI_NSSTRING() to WebCore::formatLocalizedString() and WEB_UI_FORMAT_CFSTRING() for consistency.
  • platform/win/LocalizedStringsWin.cpp:

(WebCore::localizedString): Delete.

  • Moved to localizedString() in LocalizedStrings.cpp.

Source/WebCore/platform/gtk/po:

  • CMakeLists.txt:

(add_custom_command: xgettext):

  • Add WEB_UI_FORMAT_STRING to list of macros containing localizable strings.

Source/WebKitLegacy/mac:

  • Misc/WebLocalizableStringsInternal.mm:

(WebLocalizedStringInternal):

  • Use localizedNSString() instead of localizedString() to eliminate the need to convert from CFString -> String -> NSString.
4:32 PM Changeset in webkit [286155] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

MacroAssembler: remove unused load/store methods for addresses with patchable offsets
https://bugs.webkit.org/show_bug.cgi?id=233251

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-11-24
Reviewed by Yusuke Suzuki.

Remove MacroAssembler methods for load and store operations on addresses
with patchable offset values as they're not used in any place anymore.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::loadPtrWithAddressOffsetPatch): Deleted.
(JSC::MacroAssembler::loadPtrWithCompactAddressOffsetPatch): Deleted.
(JSC::MacroAssembler::storePtrWithAddressOffsetPatch): Deleted.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::load32WithAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerARM64::load32WithCompactAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerARM64::store32WithAddressOffsetPatch): Deleted.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::load32WithAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerARMv7::load32WithCompactAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerARMv7::store32WithAddressOffsetPatch): Deleted.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::load32WithAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerMIPS::load32WithCompactAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerMIPS::store32WithAddressOffsetPatch): Deleted.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::load32WithAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerX86Common::load32WithCompactAddressOffsetPatch): Deleted.
(JSC::MacroAssemblerX86Common::store32WithAddressOffsetPatch): Deleted.

3:50 PM Changeset in webkit [286154] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Fix floating-point register listings in FPRInfo.h
https://bugs.webkit.org/show_bug.cgi?id=233243

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-11-24
Reviewed by Yusuke Suzuki.

As with general-purpose registers, fpRegT0 to fpRegT7 assignments have
to match the argument registers. Index-to-FPRReg mapping functions are
updated accordingly.

  • jit/FPRInfo.h:

(JSC::FPRInfo::toRegister):
(JSC::FPRInfo::toIndex):

2:36 PM Changeset in webkit [286153] by commit-queue@webkit.org
  • 2 edits in trunk/JSTests

Skip new stress test get-array-length-reuse.js if memory-limited
https://bugs.webkit.org/show_bug.cgi?id=233299
rdar://85502079

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-11-24
Reviewed by Yusuke Suzuki.

  • stress/get-array-length-reuse.js:
11:41 AM Changeset in webkit [286152] by Said Abou-Hallawa
  • 50 edits
    28 copies
    7 adds in trunk/Source/WebCore

[GPU Process] Move the software FilterEffectAppliers to separate files
https://bugs.webkit.org/show_bug.cgi?id=232833
rdar://85424225

Reviewed by Simon Fraser.

This patch moves the the software FilterEffectAppliers to separate source
and header files. There is no change in the appliers code.

But EdgeModeType and MorphologyOperatorType have to changed to be enum
classes so they can be forwarded declared in the appliers' header files.

  • CMakeLists.txt:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlendSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEBlend.h:
  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrixSoftwareApplier::FEColorMatrixSoftwareApplier): Deleted.
(WebCore::FEColorMatrixSoftwareApplier::matrix const): Deleted.
(WebCore::FEColorMatrixSoftwareApplier::saturateAndHueRotate const): Deleted.
(WebCore::FEColorMatrixSoftwareApplier::luminance const): Deleted.
(WebCore::FEColorMatrixSoftwareApplier::applyPlatformAccelerated const): Deleted.
(WebCore::FEColorMatrixSoftwareApplier::applyPlatformUnaccelerated const): Deleted.
(WebCore::FEColorMatrixSoftwareApplier::applyPlatform const): Deleted.
(WebCore::FEColorMatrixSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEColorMatrix.h:
  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransferSoftwareApplier::computeIdentityTable): Deleted.
(WebCore::FEComponentTransferSoftwareApplier::computeTabularTable): Deleted.
(WebCore::FEComponentTransferSoftwareApplier::computeDiscreteTable): Deleted.
(WebCore::FEComponentTransferSoftwareApplier::computeLinearTable): Deleted.
(WebCore::FEComponentTransferSoftwareApplier::computeGammaTable): Deleted.
(WebCore::FEComponentTransferSoftwareApplier::computeLookupTable): Deleted.
(WebCore::FEComponentTransferSoftwareApplier::applyPlatform const): Deleted.
(WebCore::FEComponentTransferSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEComponentTransfer.h:
  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FECompositeSoftwareApplier::clampByte): Deleted.
(WebCore::FECompositeSoftwareApplier::computeArithmeticPixels): Deleted.
(WebCore::FECompositeSoftwareApplier::computeArithmeticPixelsUnclamped): Deleted.
(WebCore::FECompositeSoftwareApplier::applyPlatformArithmetic): Deleted.
(WebCore::FECompositeSoftwareApplier::applyArithmetic): Deleted.
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic): Deleted.
(WebCore::FECompositeSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEComposite.h:
  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::operator<<):
(WebCore::FEConvolveMatrixSoftwareApplier::clampRGBAValue): Deleted.
(WebCore::FEConvolveMatrixSoftwareApplier::setDestinationPixels): Deleted.
(WebCore::FEConvolveMatrixSoftwareApplier::getPixelValue): Deleted.
(WebCore::FEConvolveMatrixSoftwareApplier::setInteriorPixels): Deleted.
(WebCore::FEConvolveMatrixSoftwareApplier::setOuterPixels): Deleted.
(WebCore::FEConvolveMatrixSoftwareApplier::applyPlatform const): Deleted.
(WebCore::FEConvolveMatrixSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEConvolveMatrix.h:
  • platform/graphics/filters/FEDiffuseLighting.cpp:
  • platform/graphics/filters/FEDiffuseLighting.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMapSoftwareApplier::byteOffsetOfPixel): Deleted.
(WebCore::FEDisplacementMapSoftwareApplier::xChannelIndex const): Deleted.
(WebCore::FEDisplacementMapSoftwareApplier::yChannelIndex const): Deleted.
(WebCore::FEDisplacementMapSoftwareApplier::FEDisplacementMapSoftwareApplier): Deleted.
(WebCore::FEDisplacementMapSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadowSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEDropShadow.h:
  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFloodSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
(WebCore::FEGaussianBlurSoftwareApplier::kernelPosition): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurAlphaOnly): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::boxBlur): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurAccelerated): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurUnaccelerated): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurGeneric): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurWorker): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::applyPlatform): Deleted.
(WebCore::FEGaussianBlurSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FELighting.cpp:

(): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::topLeft const): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::left const): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::bottomLeft const): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::top const): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::center const): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::bottom const): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::setTop): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::setCenter): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::setBottom): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::setTopRight): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::setRight): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::setBottomRight): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::shiftRow): Deleted.
(WebCore::FELightingSoftwareApplier::AlphaWindow::shift): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::topLeftNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::topRowNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::topRightNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::leftColumnNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::interiorNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::rightColumnNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::bottomLeftNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::bottomRowNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::LightingData::bottomRightNormal const): Deleted.
(WebCore::FELightingSoftwareApplier::setPixelInternal): Deleted.
(WebCore::FELightingSoftwareApplier::setPixel): Deleted.
(WebCore::FELightingSoftwareApplier::applyPlatformGenericPaint): Deleted.
(WebCore::FELightingSoftwareApplier::applyPlatformGenericWorker): Deleted.
(WebCore::FELightingSoftwareApplier::applyPlatformGeneric): Deleted.
(WebCore::FELightingSoftwareApplier::applyPlatform): Deleted.
(WebCore::FELightingSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FELighting.h:
  • platform/graphics/filters/FEMerge.cpp:

(WebCore::FEMergeSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEMerge.h:
  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::operator<<):
(WebCore::FEMorphologySoftwareApplier::pixelArrayIndex): Deleted.
(WebCore::FEMorphologySoftwareApplier::makePixelValueFromColorComponents): Deleted.
(WebCore::FEMorphologySoftwareApplier::makeColorComponentsfromPixelValue): Deleted.
(WebCore::FEMorphologySoftwareApplier::minOrMax): Deleted.
(WebCore::FEMorphologySoftwareApplier::columnExtremum): Deleted.
(WebCore::FEMorphologySoftwareApplier::kernelExtremum): Deleted.
(WebCore::FEMorphologySoftwareApplier::applyPlatformGeneric): Deleted.
(WebCore::FEMorphologySoftwareApplier::applyPlatformWorker): Deleted.
(WebCore::FEMorphologySoftwareApplier::applyPlatform): Deleted.
(WebCore::FEMorphologySoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEMorphology.h:

(): Deleted.

  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffsetSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FEOffset.h:
  • platform/graphics/filters/FESpecularLighting.cpp:
  • platform/graphics/filters/FESpecularLighting.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETileSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FETile.h:
  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::setStitchTiles):
(WebCore::FETurbulenceSoftwareApplier::PaintingData::random): Deleted.
(): Deleted.
(WebCore::FETurbulenceSoftwareApplier::smoothCurve): Deleted.
(WebCore::FETurbulenceSoftwareApplier::linearInterpolation): Deleted.
(WebCore::FETurbulenceSoftwareApplier::initPaintingData): Deleted.
(WebCore::FETurbulenceSoftwareApplier::computeStitching): Deleted.
(WebCore::FETurbulenceSoftwareApplier::noise2D): Deleted.
(WebCore::FETurbulenceSoftwareApplier::toIntBasedColorComponents): Deleted.
(WebCore::FETurbulenceSoftwareApplier::calculateTurbulenceValueForPoint): Deleted.
(WebCore::FETurbulenceSoftwareApplier::applyPlatformGeneric): Deleted.
(WebCore::FETurbulenceSoftwareApplier::applyPlatformWorker): Deleted.
(WebCore::FETurbulenceSoftwareApplier::applyPlatform): Deleted.
(WebCore::FETurbulenceSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/FETurbulence.h:
  • platform/graphics/filters/FilterEffectApplier.h:
  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlphaSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/SourceAlpha.h:
  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphicSoftwareApplier::apply): Deleted.

  • platform/graphics/filters/SourceGraphic.h:
  • platform/graphics/filters/software/FEBlendSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEBlend.cpp.

(WebCore::FEBlendSoftwareApplier::apply):

  • platform/graphics/filters/software/FEBlendSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEMerge.h.
  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp.

(WebCore::FEColorMatrixSoftwareApplier::FEColorMatrixSoftwareApplier):
(WebCore::FEColorMatrixSoftwareApplier::matrix const):
(WebCore::FEColorMatrixSoftwareApplier::saturateAndHueRotate const):
(WebCore::FEColorMatrixSoftwareApplier::luminance const):
(WebCore::FEColorMatrixSoftwareApplier::applyPlatformAccelerated const):
(WebCore::FEColorMatrixSoftwareApplier::applyPlatformUnaccelerated const):
(WebCore::FEColorMatrixSoftwareApplier::applyPlatform const):
(WebCore::FEColorMatrixSoftwareApplier::apply):

  • platform/graphics/filters/software/FEColorMatrixSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEOffset.h.
  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEComponentTransfer.cpp.

(WebCore::FEComponentTransferSoftwareApplier::computeIdentityTable):
(WebCore::FEComponentTransferSoftwareApplier::computeTabularTable):
(WebCore::FEComponentTransferSoftwareApplier::computeDiscreteTable):
(WebCore::FEComponentTransferSoftwareApplier::computeLinearTable):
(WebCore::FEComponentTransferSoftwareApplier::computeGammaTable):
(WebCore::FEComponentTransferSoftwareApplier::computeLookupTable):
(WebCore::FEComponentTransferSoftwareApplier::applyPlatform const):
(WebCore::FEComponentTransferSoftwareApplier::apply):

  • platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEOffset.h.
  • platform/graphics/filters/software/FECompositeSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEComposite.cpp.

(WebCore::FECompositeSoftwareApplier::clampByte):
(WebCore::FECompositeSoftwareApplier::computeArithmeticPixels):
(WebCore::FECompositeSoftwareApplier::computeArithmeticPixelsUnclamped):
(WebCore::FECompositeSoftwareApplier::applyPlatformArithmetic):
(WebCore::FECompositeSoftwareApplier::applyArithmetic):
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic):
(WebCore::FECompositeSoftwareApplier::apply):

  • platform/graphics/filters/software/FECompositeSoftwareApplier.h: Added.
  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp.

(WebCore::FEConvolveMatrixSoftwareApplier::clampRGBAValue):
(WebCore::FEConvolveMatrixSoftwareApplier::setDestinationPixels):
(WebCore::FEConvolveMatrixSoftwareApplier::getPixelValue):
(WebCore::FEConvolveMatrixSoftwareApplier::setInteriorPixels):
(WebCore::FEConvolveMatrixSoftwareApplier::setOuterPixels):
(WebCore::FEConvolveMatrixSoftwareApplier::applyPlatform const):
(WebCore::FEConvolveMatrixSoftwareApplier::apply):

  • platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h: Added.
  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp.

(WebCore::FEDisplacementMapSoftwareApplier::FEDisplacementMapSoftwareApplier):
(WebCore::FEDisplacementMapSoftwareApplier::xChannelIndex const):
(WebCore::FEDisplacementMapSoftwareApplier::yChannelIndex const):
(WebCore::FEDisplacementMapSoftwareApplier::apply):

  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEOffset.h.

(WebCore::FEDisplacementMapSoftwareApplier::byteOffsetOfPixel):

  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEDropShadow.cpp.

(WebCore::FEDropShadowSoftwareApplier::apply):

  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEMerge.h.
  • platform/graphics/filters/software/FEFloodSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEMerge.h.

(WebCore::FEFloodSoftwareApplier::apply):

  • platform/graphics/filters/software/FEFloodSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEMerge.h.
  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp.

(WebCore::FEGaussianBlurSoftwareApplier::kernelPosition):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurAlphaOnly):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlur):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurAccelerated):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurUnaccelerated):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurGeneric):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurWorker):
(WebCore::FEGaussianBlurSoftwareApplier::applyPlatform):
(WebCore::FEGaussianBlurSoftwareApplier::apply):

  • platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.h: Added.
  • platform/graphics/filters/software/FELightingSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FELighting.cpp.

(WebCore::FELightingSoftwareApplier::LightingData::topLeftNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::topRowNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::topRightNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::leftColumnNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::interiorNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::rightColumnNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::bottomLeftNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::bottomRowNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::bottomRightNormal const):
(WebCore::FELightingSoftwareApplier::setPixelInternal):
(WebCore::FELightingSoftwareApplier::setPixel):
(WebCore::FELightingSoftwareApplier::applyPlatformGenericPaint):
(WebCore::FELightingSoftwareApplier::applyPlatformGenericWorker):
(WebCore::FELightingSoftwareApplier::applyPlatformGeneric):
(WebCore::FELightingSoftwareApplier::applyPlatform):
(WebCore::FELightingSoftwareApplier::apply):

  • platform/graphics/filters/software/FELightingSoftwareApplier.h: Added.

(WebCore::FELightingSoftwareApplier::AlphaWindow::topLeft const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::left const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::bottomLeft const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::top const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::center const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::bottom const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setTop):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setCenter):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setBottom):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setTopRight):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setRight):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setBottomRight):
(WebCore::FELightingSoftwareApplier::AlphaWindow::shiftRow):
(WebCore::FELightingSoftwareApplier::AlphaWindow::shift):

  • platform/graphics/filters/software/FEMergeSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEMerge.cpp.

(WebCore::FEMergeSoftwareApplier::apply):

  • platform/graphics/filters/software/FEMergeSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEMerge.h.
  • platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEMorphology.cpp.

(WebCore::FEMorphologySoftwareApplier::minOrMax):
(WebCore::FEMorphologySoftwareApplier::columnExtremum):
(WebCore::FEMorphologySoftwareApplier::kernelExtremum):
(WebCore::FEMorphologySoftwareApplier::applyPlatformGeneric):
(WebCore::FEMorphologySoftwareApplier::applyPlatformWorker):
(WebCore::FEMorphologySoftwareApplier::applyPlatform):
(WebCore::FEMorphologySoftwareApplier::apply):

  • platform/graphics/filters/software/FEMorphologySoftwareApplier.h: Added.

(WebCore::FEMorphologySoftwareApplier::pixelArrayIndex):
(WebCore::FEMorphologySoftwareApplier::makePixelValueFromColorComponents):
(WebCore::FEMorphologySoftwareApplier::makeColorComponentsfromPixelValue):

  • platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FEOffset.cpp.

(WebCore::FEOffsetSoftwareApplier::apply):

  • platform/graphics/filters/software/FEOffsetSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEMerge.h.
  • platform/graphics/filters/software/FETileSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FETile.cpp.

(WebCore::FETileSoftwareApplier::apply):

  • platform/graphics/filters/software/FETileSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/FEMerge.h.
  • platform/graphics/filters/software/FETurbulenceSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/FETurbulence.cpp.

(WebCore::FETurbulenceSoftwareApplier::initPaintingData):
(WebCore::FETurbulenceSoftwareApplier::computeStitching):
(WebCore::FETurbulenceSoftwareApplier::noise2D):
(WebCore::FETurbulenceSoftwareApplier::toIntBasedColorComponents):
(WebCore::FETurbulenceSoftwareApplier::calculateTurbulenceValueForPoint):
(WebCore::FETurbulenceSoftwareApplier::applyPlatformGeneric):
(WebCore::FETurbulenceSoftwareApplier::applyPlatformWorker):
(WebCore::FETurbulenceSoftwareApplier::applyPlatform):
(WebCore::FETurbulenceSoftwareApplier::apply):

  • platform/graphics/filters/software/FETurbulenceSoftwareApplier.h: Added.

(WebCore::FETurbulenceSoftwareApplier::PaintingData::random):
(WebCore::FETurbulenceSoftwareApplier::smoothCurve):
(WebCore::FETurbulenceSoftwareApplier::linearInterpolation):

  • platform/graphics/filters/software/SourceAlphaSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/SourceAlpha.cpp.

(WebCore::SourceAlphaSoftwareApplier::apply):

  • platform/graphics/filters/software/SourceAlphaSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/SourceAlpha.h.
  • platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp: Copied from Source/WebCore/platform/graphics/filters/SourceAlpha.h.

(WebCore::SourceGraphicSoftwareApplier::apply):

  • platform/graphics/filters/software/SourceGraphicSoftwareApplier.h: Copied from Source/WebCore/platform/graphics/filters/SourceGraphic.h.
  • rendering/CSSFilter.cpp:

(WebCore::createBlurEffect):

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::parseAttribute):

  • svg/SVGFEConvolveMatrixElement.h:

(WebCore::SVGPropertyTraits<EdgeModeType>::highestEnumValue):
(WebCore::SVGPropertyTraits<EdgeModeType>::initialValue):
(WebCore::SVGPropertyTraits<EdgeModeType>::toString):
(WebCore::SVGPropertyTraits<EdgeModeType>::fromString):

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::parseAttribute):

  • svg/SVGFEGaussianBlurElement.h:
  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::parseAttribute):

  • svg/SVGFEMorphologyElement.h:

(WebCore::SVGPropertyTraits<MorphologyOperatorType>::highestEnumValue):
(WebCore::SVGPropertyTraits<MorphologyOperatorType>::toString):
(WebCore::SVGPropertyTraits<MorphologyOperatorType>::fromString):

10:29 AM Changeset in webkit [286151] by dino@apple.com
  • 13 edits in trunk/Source/WebCore

Make DocumentClass an OptionSet
https://bugs.webkit.org/show_bug.cgi?id=233274

Reviewed by Sam Weinig.

DocumentClassFlags was playing the part of an OptionSet, so
it might as well be one.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::testIsHTMLClassOnDocument): Use
branchTest16 here, as DocumentClass is a 16-bit value.

  • dom/Document.cpp: Use new type.

(WebCore::Document::Document):

  • dom/Document.h: Make a new type alias DocumentClasses

that is OptionSet<DocumentClass>, use that for m_documentClasses,
and change all the is*Document methods to test the OptionSet.
(WebCore::Document::isHTMLDocument const):
(WebCore::Document::isXHTMLDocument const):
(WebCore::Document::isXMLDocument const):
(WebCore::Document::isImageDocument const):
(WebCore::Document::isSVGDocument const):
(WebCore::Document::isPluginDocument const):
(WebCore::Document::isMediaDocument const):
(WebCore::Document::isTextDocument const):
(WebCore::Document::isModelDocument const):
(WebCore::Document::documentClassesMemoryOffset):
(WebCore::Document::isHTMLDocumentClassFlag):
(WebCore::Document::Document):

  • dom/XMLDocument.h: Use new type.

(WebCore::XMLDocument::createXHTML):
(WebCore::XMLDocument::XMLDocument):

  • html/HTMLDocument.cpp: Ditto.

(WebCore::HTMLDocument::createSynthesizedDocument):
(WebCore::HTMLDocument::HTMLDocument):

  • html/HTMLDocument.h: Ditto.

(WebCore::HTMLDocument::HTMLDocument):
(WebCore::HTMLDocument::create):

  • html/ImageDocument.cpp: Ditto.

(WebCore::ImageDocument::ImageDocument):

  • html/MediaDocument.cpp: Ditto.

(WebCore::MediaDocument::MediaDocument):

  • html/ModelDocument.cpp: Ditto.

(WebCore::ModelDocument::ModelDocument):

  • html/PluginDocument.cpp: Ditto.

(WebCore::PluginDocument::PluginDocument):

  • html/TextDocument.cpp: Ditto.

(WebCore::TextDocument::TextDocument):

  • svg/SVGDocument.cpp: Ditto.

(WebCore::SVGDocument::SVGDocument):

8:20 AM Changeset in webkit [286150] by Patrick Griffis
  • 13 edits in trunk

CSP: Implement submitting samples in violation reports
https://bugs.webkit.org/show_bug.cgi?id=233398

Reviewed by Kate Cheney.

LayoutTests/imported/w3c:

Update expectations with more passes.

  • web-platform-tests/content-security-policy/securitypolicyviolation/script-sample-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/script-sample-no-opt-in-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/style-sample-expected.txt:

Source/WebCore:

This implements handling 'report-sample' directive and submits a sample
for style-src and script-src. It doesn't currently extract the source
from eval() yet.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowJavaScriptURLs const):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers const):
(WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const):
(WebCore::ContentSecurityPolicy::allowInlineScript const):
(WebCore::ContentSecurityPolicy::allowInlineStyle const):
(WebCore::ContentSecurityPolicy::allowFrameAncestors const):
(WebCore::ContentSecurityPolicy::allowPluginType const):
(WebCore::ContentSecurityPolicy::allowObjectFromSource const):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource const):
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowConnectToSource const):
(WebCore::ContentSecurityPolicy::allowBaseURI const):
(WebCore::ContentSecurityPolicy::reportViolation const):

  • page/csp/ContentSecurityPolicy.h:
  • page/csp/ContentSecurityPolicyClient.h:
  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::shouldReportSample const):

  • page/csp/ContentSecurityPolicyDirectiveList.h:
  • page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::ContentSecurityPolicySourceList::parseSource):

  • page/csp/ContentSecurityPolicySourceList.h:

(WebCore::ContentSecurityPolicySourceList::shouldReportSample const):

  • page/csp/ContentSecurityPolicySourceListDirective.h:

(WebCore::ContentSecurityPolicySourceListDirective::shouldReportSample const):

7:45 AM Changeset in webkit [286149] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

[JSC] Implement Date.prototype.toTemporalInstant()
https://bugs.webkit.org/show_bug.cgi?id=232075

Patch by Aditi Singh <asingh@igalia.com> on 2021-11-24
Reviewed by Yusuke Suzuki.

JSTests:

  • stress/date-to-temporal-instant.js: Added.

(shouldBe):
(shouldThrow):

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h:
  • runtime/DatePrototype.cpp:

(JSC::DatePrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):

7:04 AM Changeset in webkit [286148] by Ziran Sun
  • 7 edits in trunk

[css-grid] Track sizing algorithm not repeated even if used flex fraction would change
https://bugs.webkit.org/show_bug.cgi?id=232617

Reviewed by Javier Fernandez.

Source/WebCore:

According to https://drafts.csswg.org/css-grid/#algo-flex-tracks, when row height is
indefinite, for each grid item that crosses a flexible track, we run the track sizing
algorithm under a max-content constraint to find the flex fraction. Then we work out
the grid container height as definite, which may cause the flex fraction change. At this
point, we need to repeat the track sizing algorithm for row and layout the grid for real.
The current implementation doesn't repeat the track sizing algorithm for row.

The complication with calling RenderGrid::repeatTracksSizingIfNeeded() for flex max-sizing
is that it might change a grid item's status of participating in Baseline Alignment for
a cyclic sizing dependncy case, which should be definitively excluded. See
https://github.com/w3c/csswg-drafts/issues/3046 for more details. This issue should be handled
in a seperate bug. This CL only handle test cases that don't have baseline alignment specified.

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::initializeTrackSizes):
(WebCore::GridTrackSizingAlgorithm::setup):
(WebCore::GridTrackSizingAlgorithm::reset):

  • rendering/GridTrackSizingAlgorithm.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::repeatTracksSizingIfNeeded):
(WebCore::RenderGrid::layoutBlock):

  • rendering/RenderGrid.h:

LayoutTests:

Unskip two tests that are passing.

6:14 AM Changeset in webkit [286147] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[IFC][Integration] RenderQuote is not a RenderText
https://bugs.webkit.org/show_bug.cgi?id=233457

Reviewed by Antti Koivisto.

It's a RenderInline since r162972.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForFontAndText):
(WebCore::LayoutIntegration::canUseForRenderInlineChild):

5:41 AM Changeset in webkit [286146] by Manuel Rego Casasnovas
  • 5 edits
    4 adds in trunk/LayoutTests

[selectors] Import 2 new :focus-visible tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=233446

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

We're slightly tweaking the tests due to bug webkit.org/b/233470.

  • web-platform-tests/css/selectors/focus-visible-017-2-expected.txt: Added.
  • web-platform-tests/css/selectors/focus-visible-017-2.html: Added.
  • web-platform-tests/css/selectors/focus-visible-018-2-expected.txt: Added.
  • web-platform-tests/css/selectors/focus-visible-018-2.html: Added.
  • web-platform-tests/css/selectors/w3c-import.log:

LayoutTests:

  • platform/ios/TestExpectations: Skip one test in iOS.
  • tests-options.json:
2:02 AM Changeset in webkit [286145] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.34.2

WebKitGTK 2.34.2

2:01 AM Changeset in webkit [286144] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.34

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.34.2 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.34.2.
1:46 AM WPTExportProcess edited by Manuel Rego Casasnovas
Add link to WebKitW3CTesting (diff)
1:46 AM WebKitW3CTesting edited by Manuel Rego Casasnovas
Add link to WPTExportProcess (diff)
1:40 AM WikiStart edited by Manuel Rego Casasnovas
Add link to WPTExportProcess (diff)
1:23 AM WebKitGTK/2.34.x edited by Carlos Garcia Campos
(diff)
1:22 AM Changeset in webkit [286143] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit

Merge r286137 - [GTK] Effective appearance doesn't update on the old process after PSON
https://bugs.webkit.org/show_bug.cgi?id=233451

Reviewed by Michael Catanzaro.

When reinitializing a WebPage, we get effective appearance from the page creation
parameters. Actually apply them.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):

Nov 23, 2021:

10:20 PM Changeset in webkit [286142] by Cameron McCormack
  • 2 edits in trunk/Source/WebCore

Remove unnecessary explicit initializer_list usage
https://bugs.webkit.org/show_bug.cgi?id=233456
<rdar://problem/85716623>

Reviewed by Myles C. Maxfield.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::prewarmGlobally):

7:47 PM Changeset in webkit [286141] by Lauro Moura
  • 2 edits in trunk/Tools

[GTK] GdkRGBA expects colors to be in the 0.0 to 1.0 range
https://bugs.webkit.org/show_bug.cgi?id=233452

Reviewed by Michael Catanzaro.

GTK4 debug was hitting assertInRange inside ColorTypes.h due to 255
being used as the max value, while GdkRGBA expects the value to be
between 0.0 and 1.0, per the official docs [1][2].

[1] https://docs.gtk.org/gdk3/struct.RGBA.html
[2] https://docs.gtk.org/gdk4/struct.RGBA.html

  • MiniBrowser/gtk/BrowserWindow.c:
5:34 PM Changeset in webkit [286140] by Said Abou-Hallawa
  • 38 edits
    1 add in trunk/Source/WebCore

[GPU Process] Move the software FilterEffect functions to separate applier classes
https://bugs.webkit.org/show_bug.cgi?id=232832

Reviewed by Cameron McCormack.

This step is required to move the FilterEffect software code to separate
files. Since the FilterEffect can be applied with the accelerated CoreImage
or the unaccelerated software methods, it make sense to remove the software
code from the FilterEffect classes.

The plan is to have the software code in separate files. Each FilterEffect
will be asked to create an applier which can be SoftwareApplier or
CoreImageApplier. This applier will be given to FilterEffect::apply()
which will pass the input images to the apply() method of the applier to
get the result image.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/filters/DistantLightSource.cpp:

(WebCore::DistantLightSource::initPaintingData const):
(WebCore::DistantLightSource::initPaintingData): Deleted.

  • platform/graphics/filters/DistantLightSource.h:
  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlendSoftwareApplier::apply):
(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::calculateSaturateComponents):
(WebCore::FEColorMatrix::calculateHueRotateComponents):
(WebCore::FEColorMatrix::normalizedFloats):
(WebCore::FEColorMatrixSoftwareApplier::FEColorMatrixSoftwareApplier):
(WebCore::FEColorMatrixSoftwareApplier::matrix const):
(WebCore::FEColorMatrixSoftwareApplier::saturateAndHueRotate const):
(WebCore::FEColorMatrixSoftwareApplier::luminance const):
(WebCore::FEColorMatrixSoftwareApplier::applyPlatformAccelerated const):
(WebCore::FEColorMatrixSoftwareApplier::applyPlatformUnaccelerated const):
(WebCore::FEColorMatrixSoftwareApplier::applyPlatform const):
(WebCore::FEColorMatrixSoftwareApplier::apply):
(WebCore::FEColorMatrix::platformApplySoftware):
(WebCore::matrix): Deleted.
(WebCore::saturateAndHueRotate): Deleted.
(WebCore::luminance): Deleted.
(WebCore::effectApplyAccelerated): Deleted.
(WebCore::effectType): Deleted.

  • platform/graphics/filters/FEColorMatrix.h:

(WebCore::FEColorMatrix::calculateSaturateComponents): Deleted.
(WebCore::FEColorMatrix::calculateHueRotateComponents): Deleted.
Move calculateSaturateComponents() and calculateHueRotateComponents() from
the header file to the source file. Move choosing the calculation mode for
FECOLORMATRIX_TYPE_MATRIX from effectApplyAccelerated() to applyPlatform().

  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransferSoftwareApplier::computeIdentityTable):
(WebCore::FEComponentTransferSoftwareApplier::computeTabularTable):
(WebCore::FEComponentTransferSoftwareApplier::computeDiscreteTable):
(WebCore::FEComponentTransferSoftwareApplier::computeLinearTable):
(WebCore::FEComponentTransferSoftwareApplier::computeGammaTable):
(WebCore::FEComponentTransferSoftwareApplier::computeLookupTable):
(WebCore::FEComponentTransferSoftwareApplier::applyPlatform const):
(WebCore::FEComponentTransferSoftwareApplier::apply):
(WebCore::FEComponentTransfer::platformApplySoftware):
(WebCore::FEComponentTransfer::computeIdentityTable): Deleted.
(WebCore::FEComponentTransfer::computeTabularTable): Deleted.
(WebCore::FEComponentTransfer::computeDiscreteTable): Deleted.
(WebCore::FEComponentTransfer::computeLinearTable): Deleted.
(WebCore::FEComponentTransfer::computeGammaTable): Deleted.
(WebCore::FEComponentTransfer::computeLookupTables): Deleted.

  • platform/graphics/filters/FEComponentTransfer.h:

Instead of calling computeLookupTables() to initialize the four lookup
tables, call computeLookupTable() four times: one for each color channel.

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::determineAbsolutePaintRect):
(WebCore::FECompositeSoftwareApplier::clampByte):
(WebCore::FECompositeSoftwareApplier::computeArithmeticPixels):
(WebCore::FECompositeSoftwareApplier::computeArithmeticPixelsUnclamped):
(WebCore::FECompositeSoftwareApplier::applyPlatformArithmetic):
(WebCore::FECompositeSoftwareApplier::applyArithmetic):
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic):
(WebCore::FECompositeSoftwareApplier::apply):
(WebCore::FEComposite::platformApplySoftware):
(WebCore::clampByte): Deleted.
(WebCore::computeArithmeticPixels): Deleted.
(WebCore::computeArithmeticPixelsUnclamped): Deleted.
(WebCore::arithmeticSoftware): Deleted.
(WebCore::FEComposite::platformArithmeticSoftware): Deleted.

  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrixSoftwareApplier::clampRGBAValue):
(WebCore::FEConvolveMatrixSoftwareApplier::setDestinationPixels):
(WebCore::FEConvolveMatrixSoftwareApplier::getPixelValue):
(WebCore::FEConvolveMatrixSoftwareApplier::setInteriorPixels):
(WebCore::FEConvolveMatrixSoftwareApplier::setOuterPixels):
(WebCore::FEConvolveMatrixSoftwareApplier::applyPlatform const):
(WebCore::FEConvolveMatrixSoftwareApplier::apply):
(WebCore::FEConvolveMatrix::platformApplySoftware):
(WebCore::clampRGBAValue): Deleted.
(WebCore::setDestinationPixels): Deleted.
(WebCore::FEConvolveMatrix::fastSetInteriorPixels): Deleted.
(WebCore::FEConvolveMatrix::getPixelValue): Deleted.
(WebCore::FEConvolveMatrix::fastSetOuterPixels): Deleted.
(WebCore::FEConvolveMatrix::setInteriorPixels): Deleted.
(WebCore::FEConvolveMatrix::setOuterPixels): Deleted.

  • platform/graphics/filters/FEConvolveMatrix.h:

Add the members of FEConvolveMatrix to PaintingData. Remove the template
functions and the MSVC warning. Just ignore the alpha channel if
preserveAlphaValues is true.

  • platform/graphics/filters/FEDiffuseLighting.cpp:

(WebCore::FEDiffuseLighting::FEDiffuseLighting):
No need to pass FELighting::DiffuseLighting when creating FEDiffuseLighting.
FilterEffect::Type::FEDiffuseLighting is already passed to FELighting.

  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMapSoftwareApplier::byteOffsetOfPixel):
(WebCore::FEDisplacementMapSoftwareApplier::xChannelIndex const):
(WebCore::FEDisplacementMapSoftwareApplier::yChannelIndex const):
(WebCore::FEDisplacementMapSoftwareApplier::FEDisplacementMapSoftwareApplier):
(WebCore::FEDisplacementMapSoftwareApplier::apply):
(WebCore::FEDisplacementMap::platformApplySoftware):
(WebCore::byteOffsetOfPixel): Deleted.

  • platform/graphics/filters/FEDisplacementMap.h:

(WebCore::FEDisplacementMap::xChannelIndex const): Deleted.
(WebCore::FEDisplacementMap::yChannelIndex const): Deleted.

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadowSoftwareApplier::apply):
(WebCore::FEDropShadow::platformApplySoftware):

  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFloodSoftwareApplier::apply):
(WebCore::FEFlood::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::create):
(WebCore::FEGaussianBlur::FEGaussianBlur):
(WebCore::FEGaussianBlur::setStdDeviationX):
(WebCore::FEGaussianBlur::setStdDeviationY):
(WebCore::FEGaussianBlur::setEdgeMode):
(WebCore::clampedToKernelSize):
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::calculateOutsetSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
(WebCore::FEGaussianBlurSoftwareApplier::kernelPosition):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurAlphaOnly):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlur):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurAccelerated):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurUnaccelerated):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurGeneric):
(WebCore::FEGaussianBlurSoftwareApplier::boxBlurWorker):
(WebCore::FEGaussianBlurSoftwareApplier::applyPlatform):
(WebCore::FEGaussianBlurSoftwareApplier::apply):
(WebCore::FEGaussianBlur::platformApplySoftware):
(gaussianKernelFactor): Deleted.
(WebCore::kernelPosition): Deleted.
(WebCore::boxBlurAlphaOnly): Deleted.
(WebCore::boxBlur): Deleted.
(WebCore::accelerateBoxBlur): Deleted.
(WebCore::standardBoxBlur): Deleted.
(WebCore::FEGaussianBlur::platformApplyGeneric): Deleted.
(WebCore::FEGaussianBlur::platformApplyWorker): Deleted.
(WebCore::FEGaussianBlur::platformApply): Deleted.

  • platform/graphics/filters/FEGaussianBlur.h:

Add the two members 'isAlphaImage' and 'edgeMode' to ApplyParameters.

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::FELighting):
(WebCore::FELightingSoftwareApplier::AlphaWindow::topLeft const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::left const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::bottomLeft const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::top const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::center const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::bottom const):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setTop):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setCenter):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setBottom):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setTopRight):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setRight):
(WebCore::FELightingSoftwareApplier::AlphaWindow::setBottomRight):
(WebCore::FELightingSoftwareApplier::AlphaWindow::shiftRow):
(WebCore::FELightingSoftwareApplier::AlphaWindow::shift):
(WebCore::FELightingSoftwareApplier::LightingData::topLeftNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::topRowNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::topRightNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::leftColumnNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::interiorNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::rightColumnNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::bottomLeftNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::bottomRowNormal const):
(WebCore::FELightingSoftwareApplier::LightingData::bottomRightNormal const):
(WebCore::FELightingSoftwareApplier::setPixelInternal):
(WebCore::FELightingSoftwareApplier::setPixel):
(WebCore::FELightingSoftwareApplier::applyPlatformGenericPaint):
(WebCore::FELightingSoftwareApplier::applyPlatformGenericWorker):
(WebCore::FELightingSoftwareApplier::applyPlatformGeneric):
(WebCore::FELightingSoftwareApplier::applyPlatform):
(WebCore::FELightingSoftwareApplier::apply):
(WebCore::FELighting::platformApplySoftware):
(WebCore::FELighting::LightingData::topLeftNormal const): Deleted.
(WebCore::FELighting::LightingData::topRowNormal const): Deleted.
(WebCore::FELighting::LightingData::topRightNormal const): Deleted.
(WebCore::FELighting::LightingData::leftColumnNormal const): Deleted.
(WebCore::FELighting::LightingData::interiorNormal const): Deleted.
(WebCore::FELighting::LightingData::rightColumnNormal const): Deleted.
(WebCore::FELighting::LightingData::bottomLeftNormal const): Deleted.
(WebCore::FELighting::LightingData::bottomRowNormal const): Deleted.
(WebCore::FELighting::LightingData::bottomRightNormal const): Deleted.
(WebCore::FELighting::setPixel): Deleted.
(WebCore::FELighting::setPixelInternal): Deleted.
(WebCore::FELighting::platformApplyGenericPaint): Deleted.
(WebCore::FELighting::platformApplyGenericWorker): Deleted.
(WebCore::FELighting::platformApplyGeneric): Deleted.
(WebCore::FELighting::platformApply): Deleted.
(WebCore::FELighting::drawLighting): Deleted.

  • platform/graphics/filters/FELighting.h:

(WebCore::FELighting::lightingColor const):
(WebCore::FELighting::diffuseConstant const):
(WebCore::FELighting::specularConstant const):
(WebCore::FELighting::specularExponent const):
(WebCore::FELighting::AlphaWindow::topLeft const): Deleted.
(WebCore::FELighting::AlphaWindow::left const): Deleted.
(WebCore::FELighting::AlphaWindow::bottomLeft const): Deleted.
(WebCore::FELighting::AlphaWindow::top const): Deleted.
(WebCore::FELighting::AlphaWindow::center const): Deleted.
(WebCore::FELighting::AlphaWindow::bottom const): Deleted.
(WebCore::FELighting::AlphaWindow::setTop): Deleted.
(WebCore::FELighting::AlphaWindow::setCenter): Deleted.
(WebCore::FELighting::AlphaWindow::setBottom): Deleted.
(WebCore::FELighting::AlphaWindow::setTopRight): Deleted.
(WebCore::FELighting::AlphaWindow::setRight): Deleted.
(WebCore::FELighting::AlphaWindow::setBottomRight): Deleted.
(WebCore::FELighting::AlphaWindow::shiftRow): Deleted.
(WebCore::FELighting::AlphaWindow::shift): Deleted.
Move filling the structure LightingData from FELighting::drawLighting()
to FELightingSoftwareApplier::apply.

  • platform/graphics/filters/FEMerge.cpp:

(WebCore::FEMergeSoftwareApplier::apply):
(WebCore::FEMerge::platformApplySoftware):

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphologySoftwareApplier::pixelArrayIndex):
(WebCore::FEMorphologySoftwareApplier::makePixelValueFromColorComponents):
(WebCore::FEMorphologySoftwareApplier::makeColorComponentsfromPixelValue):
(WebCore::FEMorphologySoftwareApplier::minOrMax):
(WebCore::FEMorphologySoftwareApplier::columnExtremum):
(WebCore::FEMorphologySoftwareApplier::kernelExtremum):
(WebCore::FEMorphologySoftwareApplier::applyPlatformGeneric):
(WebCore::FEMorphologySoftwareApplier::applyPlatformWorker):
(WebCore::FEMorphologySoftwareApplier::applyPlatform):
(WebCore::FEMorphologySoftwareApplier::apply):
(WebCore::FEMorphology::platformApplySoftware):
(WebCore::pixelArrayIndex): Deleted.
(WebCore::makeColorComponentsfromPixelValue): Deleted.
(WebCore::makePixelValueFromColorComponents): Deleted.
(WebCore::minOrMax): Deleted.
(WebCore::columnExtremum): Deleted.
(WebCore::kernelExtremum): Deleted.
(WebCore::FEMorphology::platformApplyGeneric): Deleted.
(WebCore::FEMorphology::platformApplyWorker): Deleted.
(WebCore::FEMorphology::platformApply): Deleted.
(WebCore::FEMorphology::platformApplyDegenerate): Deleted.

  • platform/graphics/filters/FEMorphology.h:

Remove the template functions and just the MorphologyOperatorType as an
argument to these functions. Replace platformApplyDegenerate() with a
call to isDegenerate() and move the call to copyPremultipliedResult() to
platformApplySoftware().

  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffsetSoftwareApplier::apply):
(WebCore::FEOffset::platformApplySoftware):

  • platform/graphics/filters/FESpecularLighting.cpp:

(WebCore::FESpecularLighting::FESpecularLighting):
No need to pass FELighting::SpecularLighting when creating FEDiffuseLighting.
FilterEffect::Type::FESpecularLighting is already passed to FELighting.

  • platform/graphics/filters/FETile.cpp:

(WebCore::FETileSoftwareApplier::apply):
(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulenceSoftwareApplier::PaintingData::random):
(WebCore::FETurbulenceSoftwareApplier::smoothCurve):
(WebCore::FETurbulenceSoftwareApplier::linearInterpolation):
(WebCore::FETurbulenceSoftwareApplier::initPaintingData):
(WebCore::FETurbulenceSoftwareApplier::computeStitching):
(WebCore::FETurbulenceSoftwareApplier::noise2D):
(WebCore::FETurbulenceSoftwareApplier::toIntBasedColorComponents):
(WebCore::FETurbulenceSoftwareApplier::calculateTurbulenceValueForPoint):
(WebCore::FETurbulenceSoftwareApplier::applyPlatformGeneric):
(WebCore::FETurbulenceSoftwareApplier::applyPlatformWorker):
(WebCore::FETurbulenceSoftwareApplier::applyPlatform):
(WebCore::FETurbulenceSoftwareApplier::apply):
(WebCore::FETurbulence::platformApplySoftware):
(WebCore::FETurbulence::PaintingData::random): Deleted.
(WebCore::smoothCurve): Deleted.
(WebCore::linearInterpolation): Deleted.
(WebCore::FETurbulence::initPaint): Deleted.
(WebCore::FETurbulence::computeStitching const): Deleted.
(WebCore::FETurbulence::noise2D const): Deleted.
(WebCore::toIntBasedColorComponents): Deleted.
(WebCore::FETurbulence::calculateTurbulenceValueForPoint const): Deleted.
(WebCore::FETurbulence::fillRegion const): Deleted.
(WebCore::FETurbulence::fillRegionWorker): Deleted.

  • platform/graphics/filters/FETurbulence.h:

(WebCore::FETurbulence::PaintingData::PaintingData): Deleted.
Move the threading code from platformApplySoftware() to a new function
called FETurbulenceSoftwareApplier::applyPlatform().

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::normalizedFloats): Deleted.
Move normalizedFloats() from FilterEffect to FEColorMatrix.

  • platform/graphics/filters/FilterEffectApplier.h: Added.

(WebCore::FilterEffectConcreteApplier::FilterEffectConcreteApplier):
Introduce this class which will be the base class of all the software and
the CoreImage FilterEffect appliers.

  • platform/graphics/filters/LightSource.h:
  • platform/graphics/filters/PointLightSource.cpp:

(WebCore::PointLightSource::initPaintingData const):
(WebCore::PointLightSource::initPaintingData): Deleted.

  • platform/graphics/filters/PointLightSource.h:

Make initPaintingData() be a constant function.

  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlphaSoftwareApplier::apply):
(WebCore::SourceAlpha::platformApplySoftware):

  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphicSoftwareApplier::apply):
(WebCore::SourceGraphic::platformApplySoftware):

  • platform/graphics/filters/SpotLightSource.cpp:

(WebCore::SpotLightSource::initPaintingData const):
(WebCore::SpotLightSource::initPaintingData): Deleted.

  • platform/graphics/filters/SpotLightSource.h:

Make initPaintingData() be a constant function.

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImageSoftwareApplier::apply):
(WebCore::FEImage::platformApplySoftware):

  • svg/graphics/filters/SVGFEImage.h:
5:25 PM Changeset in webkit [286139] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Delete dead shaping code
https://bugs.webkit.org/show_bug.cgi?id=233453

Reviewed by Cameron McCormack.

It's unreferenced.

No new tests because there is no behavior change.

  • platform/graphics/WidthIterator.cpp:

(WebCore::isSoftBankEmoji): Deleted.

1:05 PM Changeset in webkit [286138] by don.olmstead@sony.com
  • 23 edits in trunk/Source

Non-unified build fixes, mid November 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=233450

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • heap/IsoHeapCellType.h:
  • jit/ThunkGenerators.h:

Source/WebCore:

  • Modules/WebGPU/GPUColorWrite.h:
  • Modules/filesystemaccess/FileSystemFileHandle.cpp:
  • inspector/WorkerInspectorController.cpp:
  • layout/integration/LayoutIntegrationBoxTree.cpp:
  • layout/integration/LayoutIntegrationBoxTree.h:
  • page/DOMWindow.cpp:
  • platform/graphics/filters/FEComponentTransfer.cpp:
  • platform/graphics/filters/FEConvolveMatrix.cpp:
  • platform/graphics/filters/FEDiffuseLighting.cpp:
  • platform/graphics/filters/FELighting.cpp:
  • platform/graphics/filters/FESpecularLighting.cpp:
  • rendering/svg/RenderSVGResourceLinearGradientInlines.h:
  • rendering/svg/RenderSVGResourceMarkerInlines.h:
  • rendering/svg/RenderSVGResourceMaskerInlines.h:
  • rendering/svg/RenderSVGResourceRadialGradientInlines.h:
  • style/ChildChangeInvalidation.cpp:
  • workers/service/ServiceWorkerTypes.h:

Source/WebKit:

  • GPUProcess/graphics/WebGPU/RemoteRenderPipeline.cpp:
12:07 PM WebKitGTK/2.34.x edited by Michael Catanzaro
Propose 244524@main (diff)
11:44 AM Changeset in webkit [286137] by Alexander Mikhaylenko
  • 2 edits in trunk/Source/WebKit

[GTK] Effective appearance doesn't update on the old process after PSON
https://bugs.webkit.org/show_bug.cgi?id=233451

Reviewed by Michael Catanzaro.

When reinitializing a WebPage, we get effective appearance from the page creation
parameters. Actually apply them.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):

8:24 AM Changeset in webkit [286136] by Carlos Garcia Campos
  • 18 edits in trunk

CSP: security policy violation event is always using document as target
https://bugs.webkit.org/show_bug.cgi?id=233182

Reviewed by Kate Cheney.

LayoutTests/imported/w3c:

Update test expectations.

  • web-platform-tests/content-security-policy/script-src/javascript-window-open-blocked-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/source-file-blob-scheme-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/source-file-data-scheme-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/style-sample-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/style-sample-no-opt-in-expected.txt:

Source/WebCore:

We should use the violation element instead if not null.

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent): Pass element to allowInlineEventHandlers().

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction const): Ditto.

  • dom/Element.cpp:

(WebCore::Element::enqueueSecurityPolicyViolationEvent): Helper to queue securitypolicyviolationEvent for element.

  • dom/Element.h:
  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::createSheet): Pass element to allowInlineStyle().

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestModuleScript): Pass element to allowInlineScript().
(WebCore::ScriptElement::executeClassicScript): Ditto.

  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged): Pass element to allowInlineStyle().

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowInlineEventHandlers const): Pass given element to reportViolation().
(WebCore::ContentSecurityPolicy::allowInlineScript const): Ditto.
(WebCore::ContentSecurityPolicy::allowInlineStyle const): Ditto.
(WebCore::ContentSecurityPolicy::reportViolation const): Call Element::enqueueSecurityPolicyViolationEvent() if
element is not nullptr.

  • page/csp/ContentSecurityPolicy.h:

LayoutTests:

Unskip tests that no longer time out.

7:47 AM Changeset in webkit [286135] by Antti Koivisto
  • 6 edits in trunk

[:has() pseudo-class] Basic invalidation support
https://bugs.webkit.org/show_bug.cgi?id=233443

Reviewed by Alan Bujtas.

LayoutTests/imported/w3c:

  • web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt:

Source/WebCore:

Adde RuleSet based invalidation for :has(). This covers class/attribute/pseudo-class cases.

There is also a basic optimization that limits the invalidation scope based on :has() selector
matching child/descedant/sibling.

  • style/RuleFeature.cpp:

(WebCore::Style::isSiblingOrSubject):
(WebCore::Style::isHasPseudoClassMatchElement):
(WebCore::Style::RuleFeatureSet::computeNextMatchElement):
(WebCore::Style::RuleFeatureSet::computeSubSelectorMatchElement):

Add new MatchElement types for :has and compute the value. This enables automatic
creation of the required invalidation rule sets.

(WebCore::Style::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):

  • style/RuleFeature.h:
  • style/StyleInvalidator.cpp:

(WebCore::Style::Invalidator::invalidateStyleWithMatchElement):

Traverse appropriate parent/ancestors/siblings to invalidate.

7:47 AM Changeset in webkit [286134] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Add :focus-visible to focus bucket in RuleSet
https://bugs.webkit.org/show_bug.cgi?id=233178

Reviewed by Alan Bujtas.

To use :focus-visible on UA sheet we need to have this basic optimization for it.

  • style/RuleSet.cpp:

(WebCore::Style::RuleSet::addRule):

:focus-visible is a strict subset of :focus so this works without other changes.

7:01 AM Changeset in webkit [286133] by Alan Bujtas
  • 7 edits in trunk

[IFC][Integration] Inflate ink overflow with box-shadow
https://bugs.webkit.org/show_bug.cgi?id=233437

Reviewed by Antti Koivisto.

Source/WebCore:

  • layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::addBoxShadowInkOverflow):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent):

  • layout/formattingContexts/inline/InlineRect.h:

(WebCore::Layout::InlineRect::inflate):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForRenderInlineChild):
(WebCore::LayoutIntegration::canUseForChild):

  • layout/integration/LayoutIntegrationCoverage.h:

LayoutTests:

  • platform/mac/fast/box-shadow/basic-shadows-expected.txt:
5:20 AM Changeset in webkit [286132] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] Many network process crashes when running WPT tests
https://bugs.webkit.org/show_bug.cgi?id=232629

Reviewed by Martin Robinson.

For some reason there's a runtime critical warning coming from GLib under flatpak when trying to inherit the
current thread scheduler settings in newly created ones. As a workaround we don't use QOS::Background for
network cache background IO queue when running under flatpak.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::qosForBackgroundIOQueue):
(WebKit::NetworkCache::Storage::Storage):

4:20 AM Changeset in webkit [286131] by Adrian Perez de Castro
  • 5 edits in trunk

[WPE][GTK] Allow enabling JPEG-XL support at build time
https://bugs.webkit.org/show_bug.cgi?id=233325

Reviewed by Michael Catanzaro.

.:

Adds a new USE_JPEGXL build option, disabled by default for release builds and
enabled for developer builds.

  • Source/cmake/OptionsGTK.cmake: Add USE_JPEGXL build option.
  • Source/cmake/OptionsWPE.cmake: Ditto.

LayoutTests:

  • platform/glib/TestExpectations: Unskip JPEG-XL tests for the GTK and WPE ports.
4:00 AM Changeset in webkit [286130] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Change hardware-acceleration-policy setting default value to always
https://bugs.webkit.org/show_bug.cgi?id=233418

Reviewed by Michael Catanzaro.

Source/WebKit:

  • UIProcess/API/glib/WebKitSettings.cpp:

(webkit_settings_class_init):

Tools:

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:

(testWebKitSettings):

1:22 AM Changeset in webkit [286129] by Said Abou-Hallawa
  • 31 edits
    2 adds in trunk/Source/WebCore

[GPU Process] Refactor the FilterEffect result buffers into a new class named 'FilterImage'
https://bugs.webkit.org/show_bug.cgi?id=225088
rdar://77487760

Reviewed by Cameron McCormack.

Move the storage and the logic for managing the result of applying the
FilterEffect to its inputs to a new class named 'FilterImage'. This will
simplify the implementation of FilterEffect. It will also allow integrating
the CoreImage seamlessly and simplifying the geometry calculation.

Instead of having three ways to create the result of a FilterEffect, there
will be one way which is by calling FilterImage::create(). This call will
not create a concrete result. But requesting the ImageBuffer or a PixelBuffer
from FilterImage will make this creation happen

The default of the operating ColorSpace is sRGB. But it will be set to
linearRGB if the color interpolation of the filter effect element is
linearRGB. The only exception is the FEImage whose result has to be in
sRGB always.

The default value of the result ColorSpace is the operating ColorSpace.
The only exception is FEDisplacementMap whose result has to be in the
ColorSpace of its first input FilterEffect.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:

(WebCore::FilterEffectRendererCoreImage::connectCIFilters):

  • platform/graphics/cpu/arm/filters/FEBlendNEON.h:

(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::platformApplySoftware):

  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::platformApplySoftware):

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::platformApplySoftware):
(WebCore::FEComposite::correctFilterResultIfNeeded): Deleted.

  • platform/graphics/filters/FEComposite.h:

requiresValidPreMultipliedPixels() is replaced by the opposite
mayProduceInvalidPremultipliedPixels(). Correcting the premultiplied
result will be done by FilterEffect.

  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::platformApplySoftware):

  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::resultColorSpace const):
(WebCore::FEDisplacementMap::platformApplySoftware):
(WebCore::FEDisplacementMap::setResultColorSpace): Deleted.

  • platform/graphics/filters/FEDisplacementMap.h:

(WebCore::FEDisplacementMap::xChannelIndex const):
(WebCore::FEDisplacementMap::yChannelIndex const):

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::platformApplySoftware):

  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::platformApplySoftware):

  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::platformApplySoftware):

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::platformApplySoftware):

  • platform/graphics/filters/FEMerge.cpp:

(WebCore::FEMerge::platformApplySoftware):

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::platformApplySoftware):

  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffset::platformApplySoftware):

  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::platformApplySoftware):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::apply):
(WebCore::FilterEffect::createResult):

(WebCore::FilterEffect::clearResult):
(WebCore::FilterEffect::clearResultsRecursive):
Clearing the result can be done by nullifying a single pointer.

(WebCore::FilterEffect::imageBufferResult):
(WebCore::FilterEffect::unpremultipliedResult):
(WebCore::FilterEffect::premultipliedResult):
(WebCore::FilterEffect::getUnpremultipliedResult):
(WebCore::FilterEffect::getPremultipliedResult):
(WebCore::FilterEffect::copyUnpremultipliedResult const):
(WebCore::FilterEffect::copyPremultipliedResult const):
(WebCore::FilterEffect::correctPremultipliedResultIfNeeded):
(WebCore::FilterEffect::transformResultColorSpace):
(WebCore::FilterEffect::externalRepresentation const):
(WebCore::FilterEffect::forceValidPreMultipliedPixels): Deleted.
(WebCore::FilterEffect::unmultipliedResult): Deleted.
(WebCore::FilterEffect::copyImageBytes const): Deleted.
(WebCore::copyPremultiplyingAlpha): Deleted.
(WebCore::copyUnpremultiplyingAlpha): Deleted.
(WebCore::FilterEffect::convertPixelBufferToColorSpace): Deleted.
(WebCore::FilterEffect::convertImageBufferToColorSpace): Deleted.
(WebCore::FilterEffect::copyConvertedImageBufferToDestination): Deleted.
(WebCore::FilterEffect::copyConvertedPixelBufferToDestination): Deleted.
(WebCore::FilterEffect::copyUnmultipliedResult): Deleted.
(WebCore::FilterEffect::copyPremultipliedResult): Deleted.
(WebCore::FilterEffect::createImageBufferResult): Deleted.
(WebCore::FilterEffect::createUnmultipliedImageResult): Deleted.
(WebCore::FilterEffect::createPremultipliedImageResult): Deleted.
(WebCore::FilterEffect::requiresPixelBufferColorSpaceConversion): Deleted.
All the logic of these functions was moved to FilterImage.cpp.

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::hasResult const):
(WebCore::FilterEffect::resultColorSpace const):
(WebCore::FilterEffect::mayProduceInvalidPremultipliedPixels const):
(WebCore::FilterEffect::correctFilterResultIfNeeded): Deleted.
(WebCore::FilterEffect::setResultColorSpace): Deleted.
(WebCore::FilterEffect::requiresValidPreMultipliedPixels): Deleted.

  • platform/graphics/filters/FilterImage.cpp: Added.

(WebCore::FilterImage::create):
(WebCore::FilterImage::FilterImage):
(WebCore::FilterImage::imageBuffer):
(WebCore::copyPremultiplyingAlpha):
(WebCore::copyUnpremultiplyingAlpha):
(WebCore::FilterImage::pixelBufferIfExists):
(WebCore::FilterImage::pixelBuffer):
(WebCore::FilterImage::getPixelBuffer):
(WebCore::FilterImage::requiresPixelBufferColorSpaceConversion const):
(WebCore::FilterImage::copyImageBytes const):
(WebCore::FilterImage::getConvertedPixelBuffer const):
(WebCore::FilterImage::copyPixelBuffer):
(WebCore::FilterImage::correctPremultipliedPixelBuffer):
(WebCore::FilterImage::transformToColorSpace):

  • platform/graphics/filters/FilterImage.h: Added.

(WebCore::FilterImage::absoluteImageRect const):
(WebCore::FilterImage::renderingMode const):
(WebCore::FilterImage::colorSpace const):
(WebCore::FilterImage::imageBufferIfExists):

  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlpha::platformApplySoftware):

  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphic::platformApplySoftware):

  • platform/graphics/filters/SourceGraphic.h:

(WebCore::SourceGraphic::SourceGraphic):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::postApplyResource):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

  • svg/graphics/filters/SVGFEImage.h:
12:57 AM Changeset in webkit [286128] by Angelos Oikonomopoulos
  • 2 edits in trunk/Tools

Fix buildbot command timeout issue for remote tests
https://bugs.webkit.org/show_bug.cgi?id=233309

Reviewed by Adrian Perez de Castro.

Occasionally, buildbots that execute the JSC tests on remote devices
would stop producing any output and eventually get killed due to a timeout.

The issue is that run-jsc-stress-tests would start an ssh command
(overwhelmingly likely, the command to copy over the payload), then the remote
board would stop responding.

Introduce a timeout option to forEachRemote and bound the waiting time.
Could also do this for each command individually (and this would make it
straightforward to GC zombie processes) but seems way more fragile than
doing it at the thread level.

  • Scripts/run-jsc-stress-tests:
12:54 AM Changeset in webkit [286127] by Adrian Perez de Castro
  • 2 edits in trunk/Tools/buildstream

[Flatpak SDK] Add build recipe for libjxl, fix after r286057
https://bugs.webkit.org/show_bug.cgi?id=233326

Reviewed by Philippe Normand.

Fix the generated .pc files installed by libjxl, which wrongly include libhwy as a
requirement, even when it is used internally in the implementation only and linked
in statically. This solves a remaining issue that CMake would not be able to find
the library using pkg-config.

  • elements/sdk/libjxl.bst: Edit installed .pc files to remove libhwy.

Nov 22, 2021:

6:28 PM Changeset in webkit [286126] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Have ScrollAnimator::scrollToPositionWithAnimation() take a clamping argument
https://bugs.webkit.org/show_bug.cgi?id=233438

Reviewed by Cameron McCormack.

Create symmetry between scrollToPositionWithAnimation() and scrollToPositionWithoutAnimation()
by adding a ScrollClamping argument to the former. Neither need to be virtual.

ScrollAnimator::cancelAnimations() does not need to be virtual.

Rename ScrollableArea::constrainScrollPosition() to ScrollableArea::constrainedScrollPosition()
because it just returns a new position.

  • platform/KeyboardScrollingAnimator.cpp:

(WebCore::KeyboardScrollingAnimator::updateKeyboardScrollPosition):
(WebCore::KeyboardScrollingAnimator::stopKeyboardScrollAnimation):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scrollToPositionWithAnimation):
(WebCore::ScrollAnimator::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollAnimator::adjustScrollPositionIfNecessary const):

  • platform/ScrollAnimator.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollToPositionWithAnimation):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::constrainedScrollPosition const):
(WebCore::ScrollableArea::constrainScrollPosition const): Deleted.

6:24 PM Changeset in webkit [286125] by Wenson Hsieh
  • 17 edits
    7 deletes in trunk

Remove old concurrent display list logic that's no longer necessary
https://bugs.webkit.org/show_bug.cgi?id=233433

Reviewed by Sam Weinig.

Source/WebCore:

Now that concurrent display lists (i.e. for 2D canvas and DOM rendering in the GPU process) uses the same shared
IPC streaming mechanism as WebGL, we can remove the old concurrent display list processing logic around display
lists and the remote rendering backend in WebKit2.

No change in behavior, since this code is now all (effectively) unused.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::append):

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
(WebCore::DisplayList::ItemBuffer::swapWritableBufferIfNeeded):

Additionally remove a couple of display list items that were only used for concurrent display list processing.
In a followup, we should remove more logic around this area pertaining to display list reader and writer
clients, and the display list replayer delegate.

  • platform/graphics/displaylists/DisplayListItemType.cpp:

(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):

  • platform/graphics/displaylists/DisplayListItemType.h:
  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::operator<<):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::MetaCommandChangeItemBuffer::MetaCommandChangeItemBuffer): Deleted.
(WebCore::DisplayList::MetaCommandChangeItemBuffer::identifier const): Deleted.
(WebCore::DisplayList::MetaCommandChangeItemBuffer::isValid const): Deleted.
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::MetaCommandChangeDestinationImageBuffer): Deleted.
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::identifier const): Deleted.
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::isValid const): Deleted.

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::Replayer::replay):

Source/WebKit:

See WebCore ChangeLog for more details.

  • GPUProcess/graphics/DisplayListReaderHandle.cpp: Removed.
  • GPUProcess/graphics/DisplayListReaderHandle.h: Removed.
  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackendState.h: Removed.
  • GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp:

Add missing include to fix the build with unified sources.

  • Shared/GPUProcessWakeupMessageArguments.h: Removed.
  • Shared/SharedDisplayListHandle.h: Removed.
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/DisplayListWriterHandle.cpp: Removed.
  • WebProcess/GPU/graphics/DisplayListWriterHandle.h: Removed.
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/Network/webrtc/LibWebRTCNetworkManager.h:

Add another missing include to fix the build with unified sources.

Tools:

See WebCore ChangeLog for more details.

  • TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:

(TestWebKitAPI::TEST):

5:46 PM Changeset in webkit [286124] by mmaxfield@apple.com
  • 19 edits in trunk/Source

[WebGPU] Use OptionSet where it makes sense to
https://bugs.webkit.org/show_bug.cgi?id=233434

Reviewed by Wenson Hsieh.

Source/WebCore:

The fact that the IDL has a bunch of hardcoded const variables doesn't mean we have to.

No new tests because there is no behavior change.

  • Modules/WebGPU/GPUBufferUsage.h:

(WebCore::convertBufferUsageFlagsToBacking):

  • Modules/WebGPU/GPUColorWrite.h:

(WebCore::convertColorWriteFlagsToBacking):

  • Modules/WebGPU/GPUMapMode.h:

(WebCore::convertMapModeFlagsToBacking):

  • Modules/WebGPU/GPUShaderStage.h:

(WebCore::convertShaderStageFlagsToBacking):

  • Modules/WebGPU/GPUTextureUsage.h:

(WebCore::convertTextureUsageFlagsToBacking):

Source/WebCore/PAL:

  • pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.cpp:

(PAL::WebGPU::ConvertToBackingContext::convertBufferUsageFlagsToBacking):
(PAL::WebGPU::ConvertToBackingContext::convertColorWriteFlagsToBacking):
(PAL::WebGPU::ConvertToBackingContext::convertMapModeFlagsToBacking):
(PAL::WebGPU::ConvertToBackingContext::convertShaderStageFlagsToBacking):
(PAL::WebGPU::ConvertToBackingContext::convertTextureUsageFlagsToBacking):

  • pal/graphics/WebGPU/WebGPUBufferUsage.h:
  • pal/graphics/WebGPU/WebGPUColorWrite.h:
  • pal/graphics/WebGPU/WebGPUMapMode.h:
  • pal/graphics/WebGPU/WebGPUShaderStage.h:
  • pal/graphics/WebGPU/WebGPUTextureUsage.h:
5:46 PM Changeset in webkit [286123] by mmaxfield@apple.com
  • 4 edits in trunk

rem in media queries should be calculated using font-size:initial, not root element font-size
https://bugs.webkit.org/show_bug.cgi?id=156684
<rdar://problem/25778616>

Reviewed by Antti Koivisto.

Source/WebCore:

The CSS spec says:

Relative units in media queries are based on the initial value, which means that units are never based on results of declarations.

Tests: imported/w3c/web-platform-tests/css/mediaqueries/relative-units-001.html

imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-005.html

  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::evaluate const):

LayoutTests:

4:51 PM Changeset in webkit [286122] by Cameron McCormack
  • 3 edits in trunk/Source/WebCore

Fix some license find/replace errors
https://bugs.webkit.org/show_bug.cgi?id=233435

Reviewed by Sam Weinig.

  • platform/graphics/FontCascadeDescription.h:
  • platform/graphics/FontDescription.h:
3:32 PM Changeset in webkit [286121] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Use IFC for preferred width computation for inline boxes
https://bugs.webkit.org/show_bug.cgi?id=232616

Reviewed by Alan Bujtas.

  • rendering/RenderBlockFlow.cpp:
3:23 PM Changeset in webkit [286120] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[MSVC] IPC\DaemonConnection.h(80): warning C4661: 'void WebKit::Daemon::ConnectionToMachService<WebKit::PCM::ConnectionTraits>::initializeConnectionIfNeeded(void) const': no suitable definition provided for explicit template instantiation request
https://bugs.webkit.org/show_bug.cgi?id=233413

Reviewed by Ross Kirsling.

WinCairo build reports the following warnings.

Source\WebKit\Platform\IPC\DaemonConnection.h(80): warning C4661: 'void WebKit::Daemon::ConnectionToMachService<WebKit::PCM::ConnectionTraits>::initializeConnectionIfNeeded(void) const': no suitable definition provided for explicit template instantiation request
Source\WebKit\Platform\IPC\DaemonConnection.h(77): note: see declaration of 'WebKit::Daemon::ConnectionToMachService<WebKit::PCM::ConnectionTraits>::initializeConnectionIfNeeded'
Source\WebKit\Platform/IPC/DaemonConnection.cpp(40): warning C4661: 'void WebKit::Daemon::ConnectionToMachService<WebKit::PCM::ConnectionTraits>::initializeConnectionIfNeeded(void) const': no suitable definition provided for explicit template instantiation request
Source\WebKit\Platform\IPC\DaemonConnection.h(77): note: see declaration of 'WebKit::Daemon::ConnectionToMachService<WebKit::PCM::ConnectionTraits>::initializeConnectionIfNeeded'

  • Platform/IPC/DaemonConnection.cpp:

(WebKit::Daemon::ConnectionToMachService<Traits>::initializeConnectionIfNeeded const):
Added.

1:30 PM Changeset in webkit [286119] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

Clarify the behavior of ScrollAnimator::scroll()
https://bugs.webkit.org/show_bug.cgi?id=233403

Unreviewed.

Address patch feedback from Chris Lord.

  • dom/Element.cpp:

(WebCore::Element::scrollByUnits):

  • page/FrameView.cpp:

(WebCore::FrameView::adjustVerticalPageScrollStepForFixedContent):
(WebCore::FrameView::adjustScrollStepForFixedContent): Deleted.

  • page/FrameView.h:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::singleAxisScroll):

  • platform/ScrollTypes.h:

(WebCore::axisFromDirection):
(WebCore::valueForAxis):
(WebCore::setValueForAxis):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::adjustVerticalPageScrollStepForFixedContent):
(WebCore::ScrollableArea::scroll):
(WebCore::ScrollableArea::adjustScrollStepForFixedContent): Deleted.

  • platform/ScrollableArea.h:
12:42 PM Changeset in webkit [286118] by Fujii Hironori
  • 3 edits in trunk/Source/WebCore

[MSVC] RenderBlock.cpp(2259): warning C4239: nonstandard extension used: 'initializing': conversion from 'WebCore::Length' to 'WebCore::Length &'
https://bugs.webkit.org/show_bug.cgi?id=233412

Reviewed by Don Olmstead.

WinCairo build reported the following warnings.

Source\WebCore\rendering/RenderBlock.cpp(2259): warning C4239: nonstandard extension used: 'initializing': conversion from 'WebCore::Length' to 'WebCore::Length &'
Source\WebCore\rendering/RenderBlock.cpp(2259): note: A non-const reference may only be bound to an lvalue
Source\WebCore\rendering/RenderBox.cpp(3116): warning C4239: nonstandard extension used: 'initializing': conversion from 'WebCore::Length' to 'WebCore::Length &'
Source\WebCore\rendering/RenderBox.cpp(3116): note: A non-const reference may only be bound to an lvalue

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight const):
Changed "auto&" to "const auto&".

12:35 PM Changeset in webkit [286117] by Jean-Yves Avenard
  • 3 edits in trunk/Source/WebCore

Remove unused getEOTHeader method in OpenTypeUtilities.cpp
https://bugs.webkit.org/show_bug.cgi?id=233411
rdar://85656827

Reviewed by Youenn Fablet.

No change in behaviour.

  • platform/graphics/opentype/OpenTypeUtilities.cpp:
  • platform/graphics/opentype/OpenTypeUtilities.h:
12:34 PM Changeset in webkit [286116] by Chris Fleizach
  • 15 edits
    3 adds in trunk

AX: WebKit: need a method to get visible text and frame of an element on screen
https://bugs.webkit.org/show_bug.cgi?id=233336

Reviewed by Andres Gonzalez.

Source/WebCore:

Implement visibleCharacterRange for static text elements so that Books can determine the visible
content on a page.

Test: accessibility/visible-character-range.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::visibleCharacterRange const):
(WebCore::AccessibilityObject::unobscuredContentRect const):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityVisibleContentRect]):
(accessibleElementsForObjects):
(-[WebAccessibilityObjectWrapper accessibilityFindMatchingObjects:]):
(-[WebAccessibilityObjectWrapper positionForTextMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerForPosition:]):
(-[WebAccessibilityObjectWrapper stringForRange:]):
(-[WebAccessibilityObjectWrapper frameForRange:]):
(-[WebAccessibilityObjectWrapper accessibilityMathRadicand]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]): Deleted.
(-[WebAccessibilityObjectWrapper _convertToDOMRange:]): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::visibleCharacterRange const):
(WebCore::AXIsolatedObject::unobscuredContentRect const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(makeNSArray):
(-[WebAccessibilityObjectWrapperBase accessibilityVisibleCharacterRange]):
(makeNSRange):
(makeDOMRange):
(-[WebAccessibilityObjectWrapperBase baseUpdateBackingStore]):
(-[WebAccessibilityObjectWrapperBase lineRectsAndText]):
(convertToNSArray): Deleted.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper childrenVectorArray]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]): Deleted.

LayoutTests:

  • accessibility/ios-simulator/visible-character-range-expected.txt: Added.
  • accessibility/visible-character-range-expected.txt: Added.
  • accessibility/visible-character-range.html: Added.
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
12:01 PM Changeset in webkit [286115] by Simon Fraser
  • 23 edits in trunk/Source/WebCore

Clarify the behavior of ScrollAnimator::scroll()
https://bugs.webkit.org/show_bug.cgi?id=233403

Reviewed by Sam Weinig.

ScrollAnimator::scroll() was hard to reason about. It used ScrollbarOrientation but didn't
do anything with scrollbars. It took ScrollGranularity, "step" and "multiplier" and it
wasn't clear whether step had already accounted for ScrollGranularity, and whether
multiplier was anything other than 1 or -1. One of the behaviors was DoDirectionalSnapping
but it wasn't clear if the "directional" or "snapping" part of that was important. It also
called itself.

Bring clarity by using 'unsigned stepCount' in all the callers, using ScrollEventAxis
instead of ScrollbarOrientation, and having a single "delta" argument. It no longer
calls itself, instead just continuing from the snapping branch.

Add some helpers that ease interactions with FloatPoint/FloatSize and ScrollEventAxis.

  • dom/Element.cpp:

(WebCore::Element::scrollByUnits):

  • dom/Element.h:
  • page/FrameView.cpp:

(WebCore::FrameView::adjustScrollStepForFixedContent):

  • page/FrameView.h:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::deltaFromStep):
(WebCore::ScrollAnimator::handleWheelEvent):

  • platform/ScrollAnimator.h:
  • platform/ScrollSnapAnimatorState.cpp:

(WebCore::ScrollSnapAnimatorState::adjustedScrollDestination const):

  • platform/ScrollTypes.h:

(WebCore::axisFromDirection):
(WebCore::valueForAxis):
(WebCore::setValueForAxis):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::adjustScrollStepForFixedContent):
(WebCore::ScrollableArea::scroll):

  • platform/ScrollableArea.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scrollLayer):
(WebCore::RenderBox::scroll):
(WebCore::RenderBox::logicalScroll):

  • rendering/RenderBox.h:
  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::scroll):
(WebCore::RenderEmbeddedObject::logicalScroll):

  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::scroll):

  • rendering/RenderLayerScrollableArea.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::scroll):
(WebCore::RenderListBox::logicalScroll):

  • rendering/RenderListBox.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::scroll):
(WebCore::RenderTextControlSingleLine::logicalScroll):

  • rendering/RenderTextControlSingleLine.h:
10:14 AM Changeset in webkit [286114] by commit-queue@webkit.org
  • 2 edits in trunk

Add alexg's GitHub username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=233425

Unreviewed.

Patch by Alejandro G. Castro <alex@igalia.com> on 2021-11-22

  • metadata/contributors.json:
10:13 AM Changeset in webkit [286113] by Antti Koivisto
  • 368 edits in trunk

[LFC][Integration] Remove dirOverride
https://bugs.webkit.org/show_bug.cgi?id=233423

Reviewed by Alan Bujtas.

Source/WebCore:

This legacy inline box bit is used to set directionOverride bit when creating a TextRun for the box.
However that bit is never needed in cases these TextRuns are created for (painting and editing).

In practice dirOverride only affects render tree dumps and can be removed.

  • layout/integration/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::dirOverride const): Deleted.

  • layout/integration/InlineIteratorBoxLegacyPath.h:

(WebCore::InlineIterator::BoxLegacyPath::isHorizontal const):
(WebCore::InlineIterator::BoxLegacyPath::dirOverride const): Deleted.

  • layout/integration/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::isHorizontal const):
(WebCore::InlineIterator::BoxModernPath::createTextRun const):
(WebCore::InlineIterator::BoxModernPath::dirOverride const): Deleted.

  • rendering/LegacyInlineBox.h:

(WebCore::LegacyInlineBox::InlineBoxBitfields::InlineBoxBitfields):
(WebCore::LegacyInlineBox::dirOverride const): Deleted.
(WebCore::LegacyInlineBox::setDirOverride): Deleted.

  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::createTextRun const):

  • rendering/LegacyLineLayout.cpp:

(WebCore::LegacyLineLayout::constructLine):

  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun const):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeSVGInlineTextBox):

LayoutTests:

  • platform/glib/imported/w3c/web-platform-tests/svg/import/text-intro-09-b-manual-expected.txt:
  • platform/glib/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt:
  • platform/glib/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt:
  • platform/glib/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt:
  • platform/glib/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/glib/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/glib/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt:
  • platform/glib/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt:
  • platform/glib/svg/custom/glyph-selection-bidi-mirror-expected.txt:
  • platform/glib/svg/custom/glyph-selection-non-bmp-expected.txt:
  • platform/glib/svg/text/bidi-embedded-direction-expected.txt:
  • platform/glib/svg/text/bidi-text-query-expected.txt:
  • platform/gtk/fast/block/positioning/absolute-in-inline-rtl-2-expected.txt:
  • platform/gtk/fast/block/positioning/absolute-in-inline-rtl-3-expected.txt:
  • platform/gtk/fast/block/positioning/absolute-in-inline-rtl-expected.txt:
  • platform/gtk/fast/block/positioning/absolute-in-inline-short-rtl-expected.txt:
  • platform/gtk/fast/borders/bidi-002-expected.txt:
  • platform/gtk/fast/borders/bidi-009a-expected.txt:
  • platform/gtk/fast/borders/bidi-012-expected.txt:
  • platform/gtk/fast/borders/rtl-border-02-expected.txt:
  • platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/gtk/fast/css/rtl-ordering-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/gtk/fast/css/textCapitalizeEdgeCases-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-mixed-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-justify-mixed-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-left-mixed-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-right-mixed-expected.txt:
  • platform/gtk/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
  • platform/gtk/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/gtk/fast/inline/inline-borders-with-bidi-override-expected.txt:
  • platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/gtk/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
  • platform/gtk/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
  • platform/gtk/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/gtk/fast/text/international/bidi-european-terminators-expected.txt:
  • platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/gtk/fast/text/international/bidi-override-expected.txt:
  • platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/gtk/fast/text/shaping/shaping-script-order-expected.txt:
  • platform/gtk/fast/text/shaping/shaping-selection-rect-expected.txt:
  • platform/gtk/fast/text/text-letter-spacing-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/text-intro-02-b-manual-expected.txt:
  • platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt:
  • platform/gtk/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt:
  • platform/gtk/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt:
  • platform/gtk/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
  • platform/gtk/svg/text/bidi-text-anchor-direction-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/text-intro-02-b-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/text-intro-09-b-manual-expected.txt:
  • platform/ios-wk1/fast/borders/bidi-002-expected.txt:
  • platform/ios-wk2/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/ios-wk2/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/ios/fast/block/positioning/absolute-in-inline-rtl-2-expected.txt:
  • platform/ios/fast/block/positioning/absolute-in-inline-rtl-3-expected.txt:
  • platform/ios/fast/block/positioning/absolute-in-inline-rtl-expected.txt:
  • platform/ios/fast/block/positioning/absolute-in-inline-short-rtl-expected.txt:
  • platform/ios/fast/borders/bidi-009a-expected.txt:
  • platform/ios/fast/borders/bidi-012-expected.txt:
  • platform/ios/fast/borders/rtl-border-02-expected.txt:
  • platform/ios/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/ios/fast/css/rtl-ordering-expected.txt:
  • platform/ios/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/ios/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/ios/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/ios/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/ios/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/ios/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/ios/fast/css/textCapitalizeEdgeCases-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-center-mixed-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-justify-mixed-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-left-mixed-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/ios/fast/css/vertical-text-overflow-ellipsis-text-align-right-mixed-expected.txt:
  • platform/ios/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/ios/fast/forms/select-visual-hebrew-expected.txt:
  • platform/ios/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/ios/fast/inline/inline-borders-with-bidi-override-expected.txt:
  • platform/ios/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/ios/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
  • platform/ios/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/ios/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/ios/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/ios/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
  • platform/ios/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/ios/fast/text/international/bidi-european-terminators-expected.txt:
  • platform/ios/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/ios/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/ios/fast/text/international/bidi-override-expected.txt:
  • platform/ios/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/ios/fast/text/shaping/shaping-script-order-expected.txt:
  • platform/ios/fast/text/shaping/shaping-selection-rect-expected.txt:
  • platform/ios/fast/text/text-letter-spacing-expected.txt:
  • platform/ios/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt:
  • platform/ios/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt:
  • platform/ios/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt:
  • platform/ios/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/ios/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
  • platform/ios/svg/custom/glyph-selection-bidi-mirror-expected.txt:
  • platform/ios/svg/text/bidi-embedded-direction-expected.txt:
  • platform/mac-catalina/fast/css/rtl-ordering-expected.txt:
  • platform/mac-catalina/fast/forms/select-visual-hebrew-expected.txt:
  • platform/mac-catalina/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/mac-catalina/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/mac-mojave/fast/css/rtl-ordering-expected.txt:
  • platform/mac-mojave/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/mac/fast/block/positioning/absolute-in-inline-rtl-2-expected.txt:
  • platform/mac/fast/block/positioning/absolute-in-inline-rtl-3-expected.txt:
  • platform/mac/fast/block/positioning/absolute-in-inline-rtl-expected.txt:
  • platform/mac/fast/block/positioning/absolute-in-inline-short-rtl-expected.txt:
  • platform/mac/fast/borders/bidi-002-expected.txt:
  • platform/mac/fast/borders/bidi-009a-expected.txt:
  • platform/mac/fast/borders/bidi-012-expected.txt:
  • platform/mac/fast/borders/rtl-border-02-expected.txt:
  • platform/mac/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/mac/fast/css/rtl-ordering-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/mac/fast/css/textCapitalizeEdgeCases-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-mixed-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-mixed-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-mixed-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-mixed-expected.txt:
  • platform/mac/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/mac/fast/forms/select-visual-hebrew-expected.txt:
  • platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/mac/fast/inline/inline-borders-with-bidi-override-expected.txt:
  • platform/mac/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/mac/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
  • platform/mac/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/mac/fast/text/international/bidi-european-terminators-expected.txt:
  • platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/mac/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/mac/fast/text/international/bidi-override-expected.txt:
  • platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/mac/fast/text/text-letter-spacing-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/text-intro-02-b-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/text-intro-09-b-manual-expected.txt:
  • platform/mac/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt:
  • platform/mac/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt:
  • platform/mac/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
  • platform/mac/svg/batik/text/textBiDi-expected.txt:
  • platform/mac/svg/custom/glyph-selection-bidi-mirror-expected.txt:
  • platform/mac/svg/text/bidi-embedded-direction-expected.txt:
  • platform/mac/svg/text/bidi-text-anchor-direction-expected.txt:
  • platform/mac/svg/text/bidi-text-query-expected.txt:
  • platform/win-7sp0/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt:
  • platform/win-7sp0/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt:
  • platform/win-7sp0/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/win-7sp0/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/win-7sp0/svg/text/bidi-text-query-expected.txt:
  • platform/win/fast/block/positioning/absolute-in-inline-rtl-2-expected.txt:
  • platform/win/fast/block/positioning/absolute-in-inline-rtl-3-expected.txt:
  • platform/win/fast/block/positioning/absolute-in-inline-rtl-expected.txt:
  • platform/win/fast/block/positioning/absolute-in-inline-short-rtl-expected.txt:
  • platform/win/fast/borders/bidi-002-expected.txt:
  • platform/win/fast/borders/bidi-009a-expected.txt:
  • platform/win/fast/borders/bidi-012-expected.txt:
  • platform/win/fast/borders/rtl-border-02-expected.txt:
  • platform/win/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/win/fast/css/rtl-ordering-expected.txt:
  • platform/win/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/win/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/win/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/win/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/win/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/win/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/win/fast/css/textCapitalizeEdgeCases-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-center-mixed-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-justify-mixed-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-left-mixed-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-right-mixed-expected.txt:
  • platform/win/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/win/fast/forms/select-visual-hebrew-expected.txt:
  • platform/win/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/win/fast/inline/inline-borders-with-bidi-override-expected.txt:
  • platform/win/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/win/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
  • platform/win/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/win/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/win/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/win/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
  • platform/win/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/win/fast/text/international/bidi-european-terminators-expected.txt:
  • platform/win/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/win/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/win/fast/text/international/bidi-override-expected.txt:
  • platform/win/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/win/fast/text/shaping/shaping-script-order-expected.txt:
  • platform/win/fast/text/shaping/shaping-selection-rect-expected.txt:
  • platform/win/fast/text/text-letter-spacing-expected.txt:
  • platform/win/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt:
  • platform/win/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt:
  • platform/win/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt:
  • platform/win/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/win/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
  • platform/win/svg/custom/glyph-selection-bidi-mirror-expected.txt:
  • platform/win/svg/custom/glyph-selection-non-bmp-expected.txt:
  • platform/win/svg/text/bidi-embedded-direction-expected.txt:
  • platform/win/svg/text/bidi-text-anchor-direction-expected.txt:
  • platform/win/svg/text/bidi-text-query-expected.txt:
  • platform/wincairo/fast/block/positioning/absolute-in-inline-rtl-2-expected.txt:
  • platform/wincairo/fast/block/positioning/absolute-in-inline-rtl-3-expected.txt:
  • platform/wincairo/fast/block/positioning/absolute-in-inline-rtl-expected.txt:
  • platform/wincairo/fast/block/positioning/absolute-in-inline-short-rtl-expected.txt:
  • platform/wincairo/fast/borders/bidi-002-expected.txt:
  • platform/wincairo/fast/borders/bidi-009a-expected.txt:
  • platform/wincairo/fast/borders/bidi-012-expected.txt:
  • platform/wincairo/fast/borders/rtl-border-02-expected.txt:
  • platform/wincairo/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/wincairo/fast/css/rtl-ordering-expected.txt:
  • platform/wincairo/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/wincairo/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/wincairo/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/wincairo/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/wincairo/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/wincairo/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/wincairo/fast/css/textCapitalizeEdgeCases-expected.txt:
  • platform/wincairo/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/wincairo/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/wincairo/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/wincairo/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/wincairo/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/wincairo/fast/forms/select-visual-hebrew-expected.txt:
  • platform/wincairo/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/wincairo/fast/inline/inline-borders-with-bidi-override-expected.txt:
  • platform/wincairo/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/wincairo/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
  • platform/wincairo/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/wincairo/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/wincairo/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/wincairo/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
  • platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/wincairo/fast/text/international/bidi-european-terminators-expected.txt:
  • platform/wincairo/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/wincairo/fast/text/international/bidi-override-expected.txt:
  • platform/wincairo/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/wincairo/fast/text/shaping/shaping-script-order-expected.txt:
  • platform/wincairo/fast/text/shaping/shaping-selection-rect-expected.txt:
  • platform/wincairo/fast/text/text-letter-spacing-expected.txt:
  • platform/wincairo/svg/custom/glyph-selection-bidi-mirror-expected.txt:
  • platform/wpe/fast/block/positioning/absolute-in-inline-rtl-2-expected.txt:
  • platform/wpe/fast/block/positioning/absolute-in-inline-rtl-3-expected.txt:
  • platform/wpe/fast/block/positioning/absolute-in-inline-rtl-expected.txt:
  • platform/wpe/fast/block/positioning/absolute-in-inline-short-rtl-expected.txt:
  • platform/wpe/fast/borders/bidi-002-expected.txt:
  • platform/wpe/fast/borders/bidi-009a-expected.txt:
  • platform/wpe/fast/borders/bidi-012-expected.txt:
  • platform/wpe/fast/borders/rtl-border-02-expected.txt:
  • platform/wpe/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/wpe/fast/css/rtl-ordering-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/wpe/fast/css/textCapitalizeEdgeCases-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-center-mixed-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-justify-mixed-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-left-mixed-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-right-mixed-expected.txt:
  • platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/wpe/fast/inline/inline-borders-with-bidi-override-expected.txt:
  • platform/wpe/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/wpe/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
  • platform/wpe/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/wpe/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/wpe/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/wpe/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
  • platform/wpe/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/wpe/fast/text/international/bidi-european-terminators-expected.txt:
  • platform/wpe/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/wpe/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/wpe/fast/text/international/bidi-override-expected.txt:
  • platform/wpe/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/wpe/fast/text/text-letter-spacing-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-02-b-manual-expected.txt:
  • platform/wpe/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt:
  • platform/wpe/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt:
  • platform/wpe/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt:
  • platform/wpe/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
  • platform/wpe/svg/text/bidi-text-anchor-direction-expected.txt:
9:53 AM Changeset in webkit [286112] by Antti Koivisto
  • 9 edits
    2 adds in trunk/Source/WebCore

Factor child change invalidation into class
https://bugs.webkit.org/show_bug.cgi?id=233311

Reviewed by Alan Bujtas.

Use similar pattern as ClassChangeInvalidation and others where we create a stack object scoped
over a DOM mutation. This will allow more sophisticated ruleset based invalidation in
future.

This patch moves the invalidation code from childrenChanged() to the new ChildChangeInvalidation class.
ChildChangeInvalidation is instantiated in ContainerNode and CharacterData mutation functions
that call childrenChanged(). It uses the same ChildChange argument type as childrenChanged().

There are no changes to invalidation functionality in this patch.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/CharacterData.cpp:

(WebCore::makeChildChange):
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore::CharacterData::notifyParentAfterChange):

  • dom/CharacterData.h:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
(WebCore::makeChildChangeForRemoval):
(WebCore::ContainerNode::removeNodeWithScriptAssertion):
(WebCore::makeChildChangeForInsertion):
(WebCore::executeNodeInsertionWithScriptAssertion):
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::replaceAll):
(WebCore::ContainerNode::appendChildWithoutPreInsertionValidityCheck):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::affectsElements):

  • dom/Element.cpp:

(WebCore::invalidateForSiblingCombinators):
(WebCore::Element::childTypeAllowed const):
(WebCore::Element::childrenChanged):
(WebCore::Element::finishParsingChildren):
(WebCore::checkForEmptyStyleChange): Deleted.
(WebCore::invalidateForForwardPositionalRules): Deleted.
(WebCore::invalidateForBackwardPositionalRules): Deleted.
(WebCore::checkForSiblingStyleChanges): Deleted.

  • dom/Element.h:
  • style/ChildChangeInvalidation.cpp: Added.

(WebCore::Style::ChildChangeInvalidation::ChildChangeInvalidation):
(WebCore::Style::ChildChangeInvalidation::~ChildChangeInvalidation):
(WebCore::Style::ChildChangeInvalidation::invalidateAfterChange):
(WebCore::Style::ChildChangeInvalidation::checkForEmptyStyleChange):
(WebCore::Style::invalidateForForwardPositionalRules):
(WebCore::Style::invalidateForBackwardPositionalRules):
(WebCore::Style::ChildChangeInvalidation::checkForSiblingStyleChanges):

  • style/ChildChangeInvalidation.h: Added.

(WebCore::Style::ChildChangeInvalidation::parentElement):

  • style/StyleAdjuster.h:
4:14 AM Changeset in webkit [286111] by commit-queue@webkit.org
  • 21 edits
    1 add
    1 delete in trunk

[JSC] Make sharing of unlinked baseline code possible on JSVALUE32_64
https://bugs.webkit.org/show_bug.cgi?id=232624

Patch by Geza Lore <Geza Lore> on 2021-11-22
Reviewed by Yusuke Suzuki.

PerformanceTests/SunSpider:

Add extra SunSpider run on 32-bit platforms exerciseing baseline JIT
code sharing.

  • with-baseline-code-sharing.yaml: Added.

Source/JavaScriptCore:

This patch contains a few different changes, which taken together make
it possible to share the unlinked baseline JIT code between different
CodeBlocks on JSVALUE32_64 platforms. Note that by default, code
sharing is disabled on JSVALUE32_64 due to the increased executable
memory usage it may cause. The reson the executable memory usage might
increase is that the UnlinkedCodeBlock has a longer lifetime than the
corresponding linked CodeBlocks (due to the CodeCache I'm told), and
when using code sharing, it holds a reference to the JITed code. This
then prevents recycling of executable memory while the
UnlinkedCodeBlock is live, while without sharing we could have
reclaimed some of the executable memory earlier.

The high level changes in this pach are:

  1. A lot of baseline implementations of the opcodes that needed

changing for the unlinked baseline are now unified between the
JSVALUE64 and JSVALUE32_64 platforms. Note that while this required
adding some abstraction, the code generated by the baseline JIT on
JSVALUE64 should be identical using this abstraction compared to
before.

  1. I added a JSRInfo class which defines standard names for certain

JSValueReg instances. This enables a lot of the unification in the
point above to be expressed in a very simple manner, with very little
transformation of the existing code. Again, this should have no impact
on the generated code on JSVALUE64, apart from some register
substitutions.

  1. The sizes of the resolve_scope and get_from_scope ops increased

significantly with the unlinked baseline. This can cause issues on
some JSVALUE32_64 targets where memory is more precious, so for these
two ops I swapped in the implementations under EXTRA_CTI_THUNKS, which
implement these using shared stubs. These stubs work on all platforms
that support ENABLE(JIT), so they are now the only implementation and
I have removed the basic bloated versions.

  1. Removed some unused code and fields I discovered while working on

this, strictly speaking this is not necessary for the functional
change.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::isNull):
(JSC::AssemblyHelpers::isNotNull):
(JSC::AssemblyHelpers::emitTurnUndefinedIntoNull):
(JSC::AssemblyHelpers::noOverlap):
(JSC::AssemblyHelpers::noOverlapImpl):
(JSC::AssemblyHelpers::noOverlapImplRegMask):

  • jit/GPRInfo.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::compileAndLinkWithoutFinalizing):
(JSC::JIT::link):
(JSC::JIT::privateCompileExceptionHandlers):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_compareAndJumpImpl):
(JSC::JIT::emit_compareUnsignedAndJumpImpl):
(JSC::JIT::emit_compareUnsignedImpl):
(JSC::JIT::emit_op_mod):
(JSC::JIT::emit_compareAndJump):
(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsigned):
(JSC::JIT::emit_compareAndJumpSlow):
(JSC::JIT::emitBinaryDoubleOp):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emit_op_inc):
(JSC::JIT::emit_op_dec):

  • jit/JITCall.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::compileSetupFrame):
(JSC::JIT::compileOpCall):
(JSC::JIT::emit_op_iterator_open):
(JSC::JIT::emit_op_iterator_next):

  • jit/JITInlines.h:

(JSC::JIT::getConstantOperand):
(JSC::JIT::appendCallWithExceptionCheckSetJSValueResult):
(JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile):
(JSC::JIT::emitValueProfilingSiteIfProfiledOpcode):
(JSC::JIT::emitValueProfilingSite):
(JSC::JIT::emitGetVirtualRegister):
(JSC::JIT::emitPutVirtualRegister):
(JSC::JIT::emitGetVirtualRegisterPayload):
(JSC::JIT::emitGetVirtualRegisterTag):
(JSC::JIT::emitLoadDouble):
(JSC::loadAddrOfCodeBlockConstantBuffer):
(JSC::JIT::loadCodeBlockConstant):
(JSC::JIT::loadCodeBlockConstantPayload):
(JSC::JIT::loadCodeBlockConstantTag):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_mov):
(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_typeof_is_undefined):
(JSC::JIT::emit_op_is_undefined_or_null):
(JSC::JIT::emit_op_set_function_name):
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::valueIsFalseyGenerator):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_jeq_ptr):
(JSC::JIT::emit_op_jneq_ptr):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emit_op_jeq):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::valueIsTruthyGenerator):
(JSC::JIT::emit_op_neq):
(JSC::JIT::emit_op_jneq):
(JSC::JIT::emit_op_throw):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::compileOpStrictEqJump):
(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_switch_char):
(JSC::JIT::emit_op_switch_string):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emit_op_instanceof_custom):
(JSC::JIT::emitSlow_op_instanceof_custom):
(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitNewFuncCommon):
(JSC::JIT::emitNewFuncExprCommon):
(JSC::JIT::emit_op_new_array_with_size):
(JSC::JIT::emit_op_profile_type):
(JSC::JIT::emit_op_log_shadow_chicken_prologue):
(JSC::JIT::emit_op_log_shadow_chicken_tail):
(JSC::JIT::emit_op_get_argument):
(JSC::JIT::emit_op_get_prototype_of):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
(JSC::JIT::emit_op_is_empty):
(JSC::JIT::emit_op_is_boolean):
(JSC::JIT::emit_op_is_number):
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_to_property_key):
(JSC::JIT::emit_op_not):
(JSC::JIT::emit_op_jundefined_or_null):
(JSC::JIT::emit_op_jnundefined_or_null):
(JSC::JIT::emit_op_jeq_ptr):
(JSC::JIT::emit_op_jneq_ptr):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emit_op_jeq):
(JSC::JIT::compileOpEqJumpSlow):
(JSC::JIT::emit_op_neq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::emit_op_jneq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::compileOpStrictEqJump):
(JSC::JIT::emitSlow_op_jstricteq):
(JSC::JIT::emitSlow_op_jnstricteq):
(JSC::JIT::emit_op_to_number):
(JSC::JIT::emit_op_to_numeric):
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emit_op_to_object):
(JSC::JIT::emit_op_get_parent_scope):
(JSC::JIT::emit_op_enter):
(JSC::JIT::emit_op_check_tdz):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter_by_id):
(JSC::JIT::emit_op_put_getter_by_val):
(JSC::JIT::emit_op_put_setter_by_val):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::generateOpResolveScopeThunk):
(JSC::JIT::slow_op_resolve_scopeGenerator):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::slow_op_get_from_scopeGenerator):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emit_op_get_from_arguments):
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emit_op_get_internal_field):
(JSC::JIT::emit_op_put_internal_field):
(JSC::JIT::emit_op_get_property_enumerator):
(JSC::JIT::emit_op_enumerator_next):
(JSC::JIT::emit_op_enumerator_get_by_val):
(JSC::JIT::emitSlow_op_enumerator_get_by_val):
(JSC::JIT::emit_op_enumerator_in_by_val):
(JSC::JIT::emit_op_enumerator_has_own_property):
(JSC::JIT::emitWriteBarrier):

  • jit/JITPropertyAccess32_64.cpp: Removed.
  • jit/JSInterfaceJIT.h:
  • jit/ThunkGenerators.cpp:

(JSC::popThunkStackPreservesAndHandleExceptionGenerator):

  • jit/ThunkGenerators.h:
  • runtime/OptionsList.h:

Tools:

Add extra SunSpider run on 32-bit platforms exerciseing baseline JIT
code sharing.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

12:48 AM Changeset in webkit [286110] by youenn@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Remove h264_bitstream_parser spurious logging
https://bugs.webkit.org/show_bug.cgi?id=233361

Reviewed by Eric Carlson.

  • Source/webrtc/common_video/h264/h264_bitstream_parser.cc:
12:46 AM Changeset in webkit [286109] by Angelos Oikonomopoulos
  • 9 edits
    3 adds in trunk/Tools

Move detection of flaky JSC tests to run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=232529

Reviewed by Jonathan Bedard.

Currently, flaky detection happens by
ReRunJavaScriptCoreTests. Unfortunately, this means that we end up
rerunning all JSC tests when there's even a single failure. Even
worse, when the tree is broken (as sometimes happens on ARM32 and
MIPS) we end up

  1. running the tests once (they fail)
  2. running all tests again
  3. running all tests again without the patch

This means the queue slows down a lot, since it runs all JSC
stress tests 3 times.

This patch attempts to eliminate step 2, while also being more
reliable about handling flaky tests. Since we no longer need to
rerun the whole test suite, we can spend more CPU time on
identifying tests that might be flaky. The user can pass in
--treat-failing-as-flaky=passPercentage,maxTries,maxFailing. If
less than maxFailing tests failed, we run them again (up to
maxTries) until we can tell whether they pass more than
passPercentage of the time. This should result in less false
positives compared to ReRunJavaScriptCoreTests, as we'll no longer
declare a flaky test a failure if it happens to fail two times in
a row. In order to remove ReRunJavaScriptCoreTests, the patch
unconditionally enables --treat-failing-as-flaky by default in the
JSC EWS queues.

Implementation-wise, the patch generalizes the existing retry loop in
run-jsc-stress-tests (for dealing with flaky remote hosts) to (a) work
with any runner and (b) also retry flaky tests. As flaky handling is
impractical to test manually, it also abstracts-out the retry logic so
that we can test with predetermined results. This means we need to
e.g. pass the runlist around instead of treating it as a global,
capturing the main logic in classes and having a subclass provide
methods to be called back and so on. The patch does not shy away from
refactoring code when it makes sense but also doesn't go out of its
way to refactor (e.g. there's still a lot of duplication between the
default and ruby writers).

Downsides: we can no longer detect flakiness in the binary tests
(testair, testb3, ...). However, I'm not aware of any instance of
flakiness in those tests. The retry loop is now being used for all
runners, which means the results analysis path for e.g. the make
runner is now a bit more complicated. Detecting flaky tests needs
code somewhere, but this moves the detection code before the
result reporting, so is a bit riskier. The self tests should
counterbalance this.

  • CISupport/ews-build/steps.py:

Kill ReRunJavaScriptCoreTests and enable --treat-failing-as-flaky.
Defaults to 60% pass percentage, 10 maxTries and a limit of 200
failing tests.
(RunJavaScriptCoreTests):
(RunJavaScriptCoreTests.init):
(RunJavaScriptCoreTests.start):
(RunJavaScriptCoreTests.evaluateCommand):
(RunJavaScriptCoreTests.commandComplete):
(RunJavaScriptCoreTests.getResultSummary):
(RunJavaScriptCoreTests._addToLog):
(AnalyzeJSCTestsResults.start):
(ReRunJavaScriptCoreTests): Deleted.
(ReRunJavaScriptCoreTests.evaluateCommand): Deleted.

  • CISupport/ews-build/steps_unittest.py:

Update to match the changes in steps.py. Some testcases no longer
apply.

  • Scripts/jsc-stress-test-helpers/shell-runner.sh:

Don't deduce the test list manually, expect it as an argument instead.

  • Scripts/run-javascriptcore-tests:

Propagate info on test flakiness.
(runJSCStressTests):

  • Scripts/run-jsc-stress-tests:

Refactor the execution logic to use the abstracted-out code in
executor.rb. Use the retry loop on every runner.

  • Scripts/webkitruby/jsc-stress-test-writer-default.rb:

Update the test-writer files for the changes to run-jsc-stress-tests.
Move prepareFooRunner and testRunnerCommand to a class so that we can
keep state (for the new argument to the shell runner).

  • Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
  • Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
  • Scripts/webkitruby/jsc-stress-test/executor.rb: Added.

Implement a generic retry loop and define an array of virtual
tests (using predefined test results for each iteration).

  • Scripts/webkitruby/jsc-stress-test/test-result-evaluator.rb: Added.

Encapsulate the logic on whether a test has passed or not
(Did we get any results? Were those results enough to declare a
flaky/non-flaky test a pass?) and add a number of tests.

Note: See TracTimeline for information about the timeline view.