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

Timeline



Mar 14, 2022:

9:16 PM Changeset in webkit [291266] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed, gardening crash and timeout
https://bugs.webkit.org/show_bug.cgi?id=237873

  • platform/glib/TestExpectations:
7:28 PM Changeset in webkit [291265] by Russell Epstein
  • 2 edits in branches/safari-614.1.5.9-branch/Source/WebKit

Cherry-pick r290797. rdar://problem/79198381

WKContentView should explicitly request the system pointer in the fallback case
https://bugs.webkit.org/show_bug.cgi?id=237410
<rdar://79198381>

Reviewed by Anders Carlsson.

  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView pointerRegionForPositionInformation:point:]): (-[WKContentView pointerInteraction:styleForRegion:]): Instead of assuming a nil region and nil style will provide the system pointer, provide a region the size of the WKContentView and explicitly request the system pointer shape.

Also, drive-by adopt the API systemPointerStyle instead of the
deprecated SPI version.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290797 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7:13 PM Changeset in webkit [291264] by Russell Epstein
  • 9 edits in branches/safari-614.1.5.9-branch/Source

Versioning.

WebKit-7614.1.5.9.1

7:00 PM Changeset in webkit [291263] by Russell Epstein
  • 1 copy in branches/safari-614.1.5.9-branch

New branch.

6:56 PM Changeset in webkit [291262] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ Mac wk1 ] 8X imported/w3c/web-platform-tests/pointerevents/pointere vent (layout-tests) are flaky text failures (236128)
https://bugs.webkit.org/show_bug.cgi?id=236128

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations: Disabling test that is believed to cause the others to fail as a test.
6:55 PM Changeset in webkit [291261] by Wenson Hsieh
  • 4 edits in trunk

[Mail compose] Allow copied resources with remote (HTTP/HTTPS) URLs to be pasted as attachments
https://bugs.webkit.org/show_bug.cgi?id=237810
rdar://90119983

Reviewed by Devin Rousso.

Source/WebCore:

When creating attachments by pasting subresources with remote URLs, Mail compose in shipping macOS inserts such
subresources as attachments, which are sent as MIME parts alongside the rest of the Mail message. However, when
using the WebKit2 client-side attachment API, we currently leave remote (i.e. HTTP-family) URLs as-is, which
means they don't end up being sent as attachments.

I implemented this current behavior in r226340; back then, we opted to preserve the HTTP/HTTPS URL in pasted
resources over falling back to blob URL conversion. However, in order to match legacy Mail compose behavior, we
should've handled it by propagating the data as attachments to the client layer instead.

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::shouldReplaceSubresourceURL):

Tools:

Add an API test to exercise copying remote images and pasting as attachment-backed images. This API test first
loads a web page (simulating page load via HTTPS, along with multiple image subresources); it then pastes into
an attachment-enabled WKWebView-based editor and verifies that the _WKAttachment UI delegate hooks are invoked
with attachments corresponding to each of the remote images.

  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

(TestWebKitAPI::TEST):

6:48 PM Changeset in webkit [291260] by Oriol Brufau
  • 6 edits
    1 copy
    1 add in trunk

[css-cascade] Fix 'revert' on low-priority properties
https://bugs.webkit.org/show_bug.cgi?id=236272

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Add one test and expect an existing one to pass.

  • web-platform-tests/css/css-cascade/all-prop-revert-layer-noop-expected.txt:
  • web-platform-tests/css/css-cascade/all-prop-revert-noop-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-noop-expected.txt.
  • web-platform-tests/css/css-cascade/all-prop-revert-noop.html: Added.

Source/WebCore:

Some CSS properties are low-priority (a.k.a deferred or applied in parse
order). The logic for the 'revert' keyword was not taking these into
account, so it just behaved as 'unset'.
That made elements like <del>, <ins>, <s> and <u> lose the line-through
or underline thet they get in UA origin, when styled with 'all: revert'
or 'text-decoration: revert'.

This patch takes these properties into account so that 'revert' works.

Tests: imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-noop.html

imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-noop.html

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::setDeferred):

  • style/PropertyCascade.h:

(WebCore::Style::PropertyCascade::hasDeferredProperty const):
(WebCore::Style::PropertyCascade::deferredProperty const):

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyProperty):

6:40 PM Changeset in webkit [291259] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS] Use sRGB colorspace in ScreenCaptureKitCaptureSource
https://bugs.webkit.org/show_bug.cgi?id=237855
<rdar://problem/90273792>

Reviewed by Jer Noble.

  • platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:

(WebCore::ScreenCaptureKitCaptureSource::streamConfiguration): Configure
ScreenCaptureKit to capture in kCGColorSpaceSRGB.

5:45 PM Changeset in webkit [291258] by Robert Jenner
  • 3 edits in trunk/LayoutTests

WindowServer returned not alive with context:,unresponsive work processor(s)
<rdar://86037417>

Uneviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
5:42 PM Changeset in webkit [291257] by Oriol Brufau
  • 15 edits in trunk/Source/WebCore

Rename RenderStyle::textDecoration() to RenderStyle::textDecorationLine()
https://bugs.webkit.org/show_bug.cgi?id=237400

Reviewed by Darin Adler.

Before https://webkit.org/b/237175, the text-decoration-line and
text-decoration properties were 2 longhands that shared a computed
value, accessed via RenderStyle::textDecoration().

But now text-decoration is a proper shorthand of text-decoration-line.
So it doesn't make much sense to continue accessing the line via
textDecoration(), it should be textDecorationLine() instead.

Same for RenderStyle::setTextDecoration(), etc.

No tests since it's just a rename, no change in behavior.

  • accessibility/atspi/AccessibilityObjectTextAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::textAttributes const):

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • rendering/TextDecorationPainter.cpp:

(WebCore::collectStylesForRenderer):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::changeAffectsVisualOverflow const):
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::textDecorationsInEffect const):
(WebCore::RenderStyle::textDecorationLine const):
(WebCore::RenderStyle::addToTextDecorationsInEffect):
(WebCore::RenderStyle::setTextDecorationsInEffect):
(WebCore::RenderStyle::setTextDecorationLine):
(WebCore::RenderStyle::initialTextDecorationLine):
(WebCore::RenderStyle::InheritedFlags::operator== const):
(WebCore::RenderStyle::textDecoration const): Deleted.
(WebCore::RenderStyle::setTextDecoration): Deleted.
(WebCore::RenderStyle::initialTextDecoration): Deleted.

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleVisualData.cpp:

(WebCore::StyleVisualData::StyleVisualData):

  • rendering/style/StyleVisualData.h:

(WebCore::StyleVisualData::operator== const):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::findRendererDefininingTextDecoration):

  • style/InlineTextBoxStyle.cpp:

(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):
(WebCore::enclosingRendererWithTextDecoration):

  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjust const):

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertTextDecorationLine):
(WebCore::Style::BuilderConverter::convertTextDecoration): Deleted.

5:17 PM Changeset in webkit [291256] by gnavamarino@apple.com
  • 2 edits in trunk

Add myself (Gabriel Nava Marino) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=237634

Unreviewed.

  • metadata/contributors.json:
3:39 PM Changeset in webkit [291255] by mark.lam@apple.com
  • 4 edits
    1 add in trunk/Source/WTF

Enhance StackCheck debugging support and bump up the ASAN reserved zone size.
https://bugs.webkit.org/show_bug.cgi?id=237805

Reviewed by Robin Morisset.

  1. Apply the ASAN multiplier to StackBound::DefaultReservedZone instead of just in the StackCheck class. This ensures that all stack checks using this default value gets the necessary bump for ASAN as well.

Also bump the ASAN multipler from 2 to 3. We have evidence that an ASAN Debug
build inflates stack usage more than 2x over a non-ASAN Debug build.

  1. Enhance the StackCheck class to dump some debugging information when VERIFY_STACK_CHECK_RESERVED_ZONE_SIZE is enabled.
  • WTF.xcodeproj/project.pbxproj:
  • wtf/StackBounds.h:
  • wtf/StackCheck.cpp: Added.

(WTF::StackCheck::Scope::reportVerificationFailureAndCrash):

  • wtf/StackCheck.h:

(WTF::StackCheck::Scope::Scope):
(WTF::StackCheck::Scope::~Scope):
(WTF::StackCheck::StackCheck):

3:13 PM Changeset in webkit [291254] by Stephanie Lewis
  • 3 copies
    2 adds in trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans

Update Speedometer plan files.
rdar://89648567 (Use Speedometer 2.1 on perf bots)

Reviewed by NOBODY (OOPS!).

Create speedometer plan files for each version of speedometer.
Symlink shortcuts speedometer and speedometer2 to point at speedometer2.1

  • Scripts/webkitpy/benchmark_runner/data/plans/speedometer1.0.plan: Copied from Tools/Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan.
  • Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.0.plan: Copied from Tools/Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.plan.
  • Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.1.plan: Copied from Tools/Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.plan.

T Tools/Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan: T Tools/Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.plan

3:02 PM Changeset in webkit [291253] by Wenson Hsieh
  • 6 edits
    1 add in trunk

[Mail Compose] Spelling and grammar context menu items need custom identifiers
https://bugs.webkit.org/show_bug.cgi?id=237804
rdar://90124049

Reviewed by Aditya Keerthi.

Source/WebKit:

Introduce several new context menu item identifier strings that correspond to the default spelling and grammar
menu items that appear when showing the context menu for editable content, such that Mail can replace or
customize behaviors around these items in compose, via WKUIDelegate.

Test: ContextMenuTests.ProposedMenuContainsSpellingMenu

  • UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::menuItemIdentifier):

Tools:

Add a new API test to exercise the new identifiers.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/ContextMenuTests.mm: Added.

(-[NSMenu itemWithIdentifier:]):
(TestWebKitAPI::TEST):

2:59 PM Changeset in webkit [291252] by Jonathan Bedard
  • 3 edits in trunk/Tools

[EWS] Clean up PR branches and remotes
https://bugs.webkit.org/show_bug.cgi?id=237714
<rdar://problem/88771970>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(ShellMixin.shell_command): Use sh on Windows.
(CleanGitRepo.run): Delete all non-origin remote and all unused branches.

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/248404@main

2:14 PM Changeset in webkit [291251] by Elliott Williams
  • 2 edits in trunk/Source/bmalloc

bmalloc.xcodeproj: Remove duplicate file reference
https://bugs.webkit.org/show_bug.cgi?id=237845

Reviewed by Simon Fraser.

pas_thread_local_cache_layout_node_kind.h was listed twice in the same group, probably due
to a merge conflict resolution typo. Dedupe it.

  • bmalloc.xcodeproj/project.pbxproj:
1:44 PM Changeset in webkit [291250] by Russell Epstein
  • 1 copy in tags/Safari-614.1.5.11

Tag Safari-614.1.5.11.

1:23 PM Changeset in webkit [291249] by Elliott Williams
  • 4 edits
    1 delete in trunk/Source/ThirdParty/libwebrtc

Unreviewed, reverting r291239.

Some builds failing with "fatal error:
'absl/utility/utility.h' file not found"

Reverted changeset:

"Reland "[XCBuild] libwebrtc's headers are copied via rsync
and do not emit task outputs""
https://bugs.webkit.org/show_bug.cgi?id=237112
https://commits.webkit.org/r291239

1:22 PM Changeset in webkit [291248] by Russell Epstein
  • 9 edits in branches/safari-614.1.5-branch/Source

Versioning.

WebKit-7614.1.5.11

1:15 PM Changeset in webkit [291247] by Russell Epstein
  • 1 copy in branches/safari-614.1.6-branch

New branch.

1:14 PM Changeset in webkit [291246] by Russell Epstein
  • 9 edits in trunk/Source

Versioning.

WebKit-7614.1.7

12:36 PM Changeset in webkit [291245] by graouts@webkit.org
  • 12 edits in trunk

[model] <model interactive> doesn't allow model to be rotated on iOS
https://bugs.webkit.org/show_bug.cgi?id=237831
rdar://89698247

Reviewed by Simon Fraser.

Source/WebCore:

A <model> element is *not* interactive by default and the "interactive" HTML attribute
must be set explicitly. We used to mirror this initial disabled state by explicitly
setting "userInteractionEnabled" to NO on WKModelView during its creation, and we would
update that property when HTMLModelElement::isInteractive() would change value.

However, in the case where the attribute was originally set, we would completely
disregard that value.

We now account for it when we create the GraphicsLayer for the <model> element, letting the
existing GraphicsLayer machinery to set the matching "userInteractionEnabled" property on
the WKModelView.

  • Modules/model-element/HTMLModelElement.h:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setContentsToModel):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setContentsToModel):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateConfiguration):

Source/WebKit:

Remove the call to set userInteractionEnabled on the WKModelView when created. This property
is now set via the layer tree application code from the GraphicsLayer::userInteractionEnabled()
value.

  • UIProcess/ios/WKModelView.mm:

(-[WKModelView initWithModel:]):

LayoutTests:

Add a test where the <model> element is added to the DOM with the "interactive"
HTML attribute already set.

  • model-element/model-element-interactive-dragging-expected.txt:
  • model-element/model-element-interactive-dragging.html:
  • model-element/resources/model-utils.js:

(const.makeModel):
(const.readyModel.async test):

12:18 PM Changeset in webkit [291244] by Oriol Brufau
  • 18 edits in trunk

[css] Implement 'text-decoration' as a shorthand.
https://bugs.webkit.org/show_bug.cgi?id=237175

Reviewed by Darin Adler.

Source/WebCore:

The 'text-decoration' property was considered to be a longhand, sharing
a computed value with 'text-decoration-line'.

This patch switches 'text-decoration' to be shorthand instead.
According to the CSS Text Decoration spec, the longhands should be
'text-decoration-line', 'text-decoration-thickness',
'text-decoration-style' and 'text-decoration-color'.
I tried that in https://commits.webkit.org/r290756, but it got reverted
because of a performance regression. So as a first step, here I'm making
'text-decoration-line' be the only longhand.

There is a bunch of editing code that was getting/setting/removing
'text-decoration' as a longhand, so I'm switching that to instead
use 'text-decoration-line'.

Tests: fast/css/getComputedStyle/computed-style.html

fast/css/getComputedStyle/computed-style-without-renderer.html
fast/css/getComputedStyle/getComputedStyle-text-decoration.html
fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-shorthand.html
imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html
imported/w3c/web-platform-tests/css/css-variables/variable-presentation-attribute.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html
svg/css/getComputedStyle-basic.xhtml

  • css/CSSProperties.json:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::asText const):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):

  • editing/EditingStyle.cpp:

(WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent):
(WebCore::EditingStyle::init):
(WebCore::EditingStyle::styleWithResolvedTextDecorations const):
(WebCore::EditingStyle::collapseTextDecorationProperties):
(WebCore::textDecorationValueList):
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement const):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode const):
(WebCore::EditingStyle::mergeStyle):
(WebCore::reconcileTextDecorationProperties):
(WebCore::StyleChange::StyleChange):
(WebCore::StyleChange::extractTextStyles):
(WebCore::extractPropertiesNotIn):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverterCaches::propertyValueForNode):
(HTMLConverter::computedAttributesForElement):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::removeUnchangeableStyles):

  • editing/markup.cpp:

(WebCore::serializePreservingVisualAppearanceInternal):

  • style/PropertyAllowlist.cpp:

(WebCore::Style::isValidCueStyleProperty):

LayoutTests:

Update tests to take into account that 'text-decoration' is a shorthand.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-text-decoration-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-text-decoration.html:
  • fast/css/getComputedStyle/resources/property-names.js:
  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-shorthand-expected.txt:
  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-shorthand.html:
  • svg/css/getComputedStyle-basic-expected.txt:
12:11 PM Changeset in webkit [291243] by Simon Fraser
  • 13 edits
    1 add in trunk/Source/WebKit

Do a single IPC for MarkSurfaceNonVolatile and SwapToValidFrontBuffer
https://bugs.webkit.org/show_bug.cgi?id=237814

Reviewed by Tim Horton.

Now that we know how to group the calls to markSurfaceNonVolatile() followed by
swapToValidFrontBuffer(), we can do them with a single sync IPC to the GPU process, passing
supportsPartialRepaint and hasEmptyDirtyRegion.

RemoteLayerWithRemoteRenderingBackingStoreCollection::prepareBackingStoreBuffers() takes
care to avoid IPCs for layers which don't need display, which is important for performance.

Introduce the SwapBuffersDisplayRequirement enum which is returned, and used to know if
we have to do a full repaint.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::prepareBuffersForDisplay):
(WebKit::RemoteRenderingBackend::markSurfaceNonVolatile): Deleted.
(WebKit::RemoteRenderingBackend::swapToValidFrontBuffer): Deleted.

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::hasEmptyDirtyRegion const):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::operator<<):
(WebKit::RemoteLayerBackingStore::prepareToDisplay):
(WebKit::RemoteLayerBackingStore::prepareBuffers):

  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::prepareBackingStoreBuffers):
(WebKit::RemoteLayerBackingStoreCollection::makeFrontBufferNonVolatile): Deleted.
(WebKit::RemoteLayerBackingStoreCollection::swapToValidFrontBuffer): Deleted.

  • Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
  • Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:

(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::prepareBackingStoreBuffers):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::makeFrontBufferNonVolatile): Deleted.
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::swapToValidFrontBuffer): Deleted.

  • Shared/RemoteLayerTree/SwapBuffersDisplayRequirement.h: Added.
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::prepareBuffersForDisplay):
(WebKit::RemoteRenderingBackendProxy::swapToValidFrontBuffer): Deleted.
(WebKit::RemoteRenderingBackendProxy::markSurfaceNonVolatile): Deleted.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
11:48 AM Changeset in webkit [291242] by Jonathan Bedard
  • 7 edits in trunk/Tools

[git-webkit] Handle comparing User and Contributor to None
https://bugs.webkit.org/show_bug.cgi?id=237622
<rdar://problem/89992772>

Reviewed by Dewei Zhu.

  • Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/user_unittest.py:

(TestUser.test_compare):

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/user.py:

(User.cmp): Handle 'None' case.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:

(Contributor.cmp): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:

(TestContributor.test_comparison):

Canonical link: https://commits.webkit.org/248397@main

11:44 AM Changeset in webkit [291241] by ntim@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION(r289850): Bundle size has increased
https://bugs.webkit.org/show_bug.cgi?id=237844

Unreviewed, fully revert r289850.

  • Makefile:
  • WebCore.xcodeproj/project.pbxproj:
11:25 AM Changeset in webkit [291240] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[Flatpack SDK] Api tests scripts have conflicting parameters with the flatpak scripts
https://bugs.webkit.org/show_bug.cgi?id=237778

Patch by Alejandro G. Castro <alex@igalia.com> on 2022-03-14
Reviewed by Philippe Normand.

run-gtk-tests and run-wpe-tests have arguments that cause
conflicts with the flatpak sdk, we have to rewrite and consume
some of them to avoid problems because we do not know what the
user is requesting. This patch gives priority to the api tests
parameters, the flatpak ones for the conflictive situations need
to be passed with the long format, namely regenerate-toolchains
and sccache-token.

  • Scripts/run-gtk-tests:
  • Scripts/run-wpe-tests:
  • glib/api_test_runner.py:

(add_options):
(get_runner_args):

11:14 AM Changeset in webkit [291239] by Elliott Williams
  • 4 edits
    1 add in trunk/Source/ThirdParty/libwebrtc

Reland "[XCBuild] libwebrtc's headers are copied via rsync and do not emit task outputs"
https://bugs.webkit.org/show_bug.cgi?id=237112

Reviewed by Alexey Proskuryakov.

r290966 had a bad xcconfig setting in libabsl.xcconfig, which prevented absl's headers from
being copied to the right location, causing build failures. Fix this setting and reland.

  • Configurations/Base.xcconfig:
  • Configurations/libabsl.xcconfig: s/PREFIX/PATH/g to fix settings.
  • Configurations/libwebrtc.xcconfig:
  • libwebrtc.xcodeproj/project.pbxproj:
10:57 AM Changeset in webkit [291238] by gnavamarino@apple.com
  • 2 edits in trunk/Source/WebCore

Don't create a scroll corner without renderer
https://bugs.webkit.org/show_bug.cgi?id=237837

Reviewed by Simon Fraser.

Don't create a scroll corner without renderer, as renderer document is needed to create one.
Also destroy the scroll corner early when RenderView is available.

  • page/FrameView.cpp:

(WebCore::FrameView::willBeDestroyed):
(WebCore::FrameView::updateScrollCorner):

10:34 AM Changeset in webkit [291237] by Tyler Wilcock
  • 5 edits in trunk/Source/WebCore

AX: Move addChildren, addChild, insertChild, canHaveChildren, setNeedsToUpdateChildren, setNeedsToUpdateSubtree, clearChildren, and needsToUpdateChildren out of AXCoreObject interface
https://bugs.webkit.org/show_bug.cgi?id=237801

Reviewed by Andres Gonzalez.

All of these virtual methods are ASSERT_NOT_REACHED no-ops for AXIsolatedObjects,
so this patch moves them to AccessibilityObject.h instead.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::addChildren):
(WebCore::AccessibilityObject::canHaveChildren const):
(WebCore::AccessibilityObject::setNeedsToUpdateChildren):
(WebCore::AccessibilityObject::setNeedsToUpdateSubtree):
(WebCore::AccessibilityObject::needsToUpdateChildren const):

  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::addChildren): Deleted.
(WebCore::AXIsolatedObject::addChild): Deleted.
(WebCore::AXIsolatedObject::insertChild): Deleted.
(WebCore::AXIsolatedObject::canHaveChildren const): Deleted.
(WebCore::AXIsolatedObject::setNeedsToUpdateChildren): Deleted.
(WebCore::AXIsolatedObject::setNeedsToUpdateSubtree): Deleted.
(WebCore::AXIsolatedObject::clearChildren): Deleted.
(WebCore::AXIsolatedObject::needsToUpdateChildren const): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.h:
9:52 AM Changeset in webkit [291236] by graouts@webkit.org
  • 2 edits in trunk/LayoutTests

[model] model-element/model-element-camera.html fails due to promise_rejects being undefined
https://bugs.webkit.org/show_bug.cgi?id=237833
rdar://88982597

Unreviewed test fix after testharness.js was updated in bug 235398 but neglected to update this
test to use promise_rejects_dom.

  • model-element/model-element-camera.html:
9:50 AM Changeset in webkit [291235] by Jonathan Bedard
  • 4 edits in trunk/Tools

[webkitcorepy] Do not fetch key without username
https://bugs.webkit.org/show_bug.cgi?id=237830
<rdar://problem/90248939>

Unreviewed git-webkit fix.

  • Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:

(credentials): Only attempt to fetch key if username is defined.

9:42 AM Changeset in webkit [291234] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

Revert r290659
https://bugs.webkit.org/show_bug.cgi?id=237296

It caused a performance regression.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::createWebSocketTask):

9:40 AM Changeset in webkit [291233] by Matteo Flores
  • 1 edit in trunk/LayoutTests/ChangeLog

[GTK][WPE] EXIF orientation tests are failing since added in r249364 - "EXIF orientation should be respected when rendering images"
https://bugs.webkit.org/show_bug.cgi?id=201982

Unreviewed test gardening.

  • platform/ios/TestExpectations:
9:37 AM Changeset in webkit [291232] by Matteo Flores
  • 2 edits in trunk/LayoutTests

[GTK][WPE] EXIF orientation tests are failing since added in r249364 - "EXIF orientation should be respected when rendering images"
Nhttps://bugs.webkit.org/show_bug.cgi?id=201982

Unreviewed test gardening.

  • platform/ios/TestExpectations:
8:47 AM Changeset in webkit [291231] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r291206.
https://bugs.webkit.org/show_bug.cgi?id=237829

Introduced perf regression

Reverted changeset:

"Adjust when
_setPrivacyProxyFailClosedForUnreachableNonMainHosts is
called"
https://bugs.webkit.org/show_bug.cgi?id=237735
https://commits.webkit.org/r291206

8:46 AM Changeset in webkit [291230] by Matteo Flores
  • 2 edits in trunk/LayoutTests

[ iOS iPhone 12 ] fast/hidpi & fast/layers/hidpi tests are flaky text/image failing
https://bugs.webkit.org/show_bug.cgi?id=232384

Unreviewed test gardening.

  • platform/ios/TestExpectations:
8:42 AM Changeset in webkit [291229] by Adrian Perez de Castro
  • 6 edits in trunk

[GLib] Expose typed arrays in the public API
https://bugs.webkit.org/show_bug.cgi?id=197535

Reviewed by Carlos Garcia Campos.

This adds a set of new functions to operate on JSCValue objects which refer to typed
arrays in the JavaScript side of the world. Typed array values can be created with an
existing ArrayBuffer to hold the contents, in which case custom allocations are possible;
or letting JSC handle allocation. Operating on typed arrays is expected to be done on an
element-by-element basis, and in general it is recommended to use the functions dealing
with the "length" (number of elements) of typed arrays; nevertheless it is also possible
to retrieve their "size" and "offset" over the underlying ArrayBuffer, and/or retrieving
said ArrayBuffer.

Source/JavaScriptCore:

  • API/glib/JSCValue.cpp:

(toTypedArrayType):
(toJSCTypedArrayType):
(jsc_value_new_typed_array):
(jsc_value_new_typed_array_with_buffer):
(jsc_value_is_typed_array):
(jsc_value_typed_array_get_buffer):
(jsc_value_typed_array_get_data):
(jsc_value_typed_array_get_length):
(jsc_value_typed_array_get_offset):
(jsc_value_typed_array_get_size):
(jsc_value_typed_array_get_type):

  • API/glib/JSCValue.h:
  • API/glib/docs/jsc-glib-4.0-sections.txt:

Tools:

  • TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added test for typed arrays.

(elementSize):
(testJSCTypedArray):
(main):

7:03 AM Changeset in webkit [291228] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] marker-start should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237826

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Test failures are due to SVGURIReference::fragmentIdentifierFromIRIString() rejecting the values used in the
test which do not contain a "#". While this is not the greatest test values for this property, this is indeed
a bug that we reject the value during parsing instead of storing it.

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:54 AM Changeset in webkit [291227] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] marker-mid should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237825

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Test failures are due to SVGURIReference::fragmentIdentifierFromIRIString() rejecting the values used in the
test which do not contain a "#". While this is not the greatest test values for this property, this is indeed
a bug that we reject the value during parsing instead of storing it.

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:49 AM Changeset in webkit [291226] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] marker-end should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237824

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Test failures are due to SVGURIReference::fragmentIdentifierFromIRIString() rejecting the values used in the
test which do not contain a "#". While this is not the greatest test values for this property, this is indeed
a bug that we reject the value during parsing instead of storing it.

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:21 AM Changeset in webkit [291225] by eocanha@igalia.com
  • 3 edits
    2 adds in trunk

[MSE][SourceBuffer] Fix removal of paddings from buffered range
https://bugs.webkit.org/show_bug.cgi?id=237780

Reviewed by Jer Noble.

Source/WebCore:

When removing a range ending up in a sample S2 which overlaps slightly with a
previous one S1 but still extends beyond the removal range, the buffered range
computing algorithm can become confused removing the range paddings and
completely skip the S2 sample (instead of accounting it as part of the still
buffered ranges). The sample S2 is leaked and becomes unnoticed in the buffered
ranges.

This patch changes the way in which buffered ranges boundaries are computed in
such cases.

This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/797#discussion_r818973424

Test: media/media-source/media-source-remove-overlapped.html

  • platform/graphics/SourceBufferPrivate.cpp: End the additionalErasedRanges iterator in removeSamplesFromTrackBuffer() in a sample starting after erasedStart, instead of starting on or after erasedEnd.

LayoutTests:

This tests that overlapped samples in the boundaries of removal ranges aren't leaked.

This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/797

  • media/media-source/media-source-remove-overlapped-expected.txt: Added.
  • media/media-source/media-source-remove-overlapped.html: Added.
5:45 AM Changeset in webkit [291224] by commit-queue@webkit.org
  • 15 edits in trunk

WebGL context should use discrete gpu if the context is created when the window is on external monitor, ANGLE Metal backend
https://bugs.webkit.org/show_bug.cgi?id=236487

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-14
Reviewed by Kenneth Russell.

Source/WebCore:

Add GraphicsContextGLAttributes::windowGPUID which describes the GPU ID
for the window that the context is on.
Create the ANGLE Metal context based on this, unless high-performance GPU
is requested.

Changes the behavior so that new WebGL contexts will use dgpu is always when user has
external display plugged in. The system changes all the windows to the dgpu, so
this is consistent with the system expectation.

Notable difference due to the above is that we get different layout tests for a developer
that has a external monitor than before.

Tested by new unit tests.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):

  • page/Chrome.cpp:

(WebCore::Chrome::createGraphicsContextGL const):

  • page/ChromeClient.cpp:

(WebCore::ChromeClient::createGraphicsContextGL const):

  • page/ChromeClient.h:
  • platform/PlatformScreen.h:
  • platform/ScreenProperties.h:

(WebCore::ScreenData::decode):

  • platform/graphics/GraphicsContextGLAttributes.h:

(WebCore::GraphicsContextGLAttributes::encode const):
(WebCore::GraphicsContextGLAttributes::decode):

  • platform/graphics/cocoa/GraphicsContextGLCocoa.mm:

(WebCore::initializeEGLDisplay):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::collectScreenProperties):
(WebCore::primaryGPUID):
(WebCore::gpuIDForDisplay):
(WebCore::gpuIDForDisplayMask):

Source/WebKit:

Before, the ChromeClient passed PlatformDisplayID to the createGraphicsContextGL. This was ignored.
After, pass the PlatformGPUID as part of GraphicsContextGLAttributes.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createGraphicsContextGL const):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

Add tests to test that the windowGPUID affects the contexts being created.
Avoid ifdefs by always compiling the tests and move the "platform can have
multiple gpus / there is no multiple gpus in the platform" ifdef aspects
to helper functions.

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

(TestWebKitAPI::allDevices):
(TestWebKitAPI::lowPowerDevice):
(TestWebKitAPI::highPerformanceDevice):
(TestWebKitAPI::hasMultipleGPUs):
(TestWebKitAPI::TEST_F):

5:04 AM Changeset in webkit [291223] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

[ MacOS ] imported/w3c/web-platform-tests/webrtc-extensions/transfer-datachannel.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=230116
<rdar://problem/82936812>

Unreviewed.

  • platform/mac/TestExpectations:

Unflake test now that is passing consistently on bots.

4:35 AM Changeset in webkit [291222] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

[BigSur wk2] http/tests/fetch/redirectmode-and-preload.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=230112
<rdar://problem/82932781>

Unreviewed.

  • platform/mac-wk2/TestExpectations:

Unflake test now that is passing consistently on bots.

4:27 AM Changeset in webkit [291221] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

[ BigSur wk2 arm64 ] 4 webrtc/ Layout-tests are consistently timing out
https://bugs.webkit.org/show_bug.cgi?id=223043
<rdar://problem/75280718>

Unreviewed.

  • platform/mac/TestExpectations:

Unflake tests now that are passing consistently on bots.

3:24 AM Changeset in webkit [291220] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, fixing an incomplete-type build error in InlineIteratorLine
https://bugs.webkit.org/show_bug.cgi?id=237822

Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-03-14

  • layout/integration/InlineIteratorLine.h:

Add the missing RenderBlockFlow.h include to avoid incomplete-type
error in InlineIterator::Line::selectionPhysicalRect() that might occur
when unified sources are sorted some other way.

2:20 AM Changeset in webkit [291219] by commit-queue@webkit.org
  • 3 edits
    5 deletes in trunk/Tools/buildstream

[Flatpak SDK] Get rid of Python2
https://bugs.webkit.org/show_bug.cgi?id=221043

Patch by Philippe Normand <pnormand@igalia.com> on 2022-03-14
Reviewed by Michael Catanzaro.

Python2 is no longer needed as the tooling was ported to Python3.

  • elements/freedesktop-sdk.bst: Update junction to 21.08-11 release.
  • elements/sdk-platform.bst:
  • elements/sdk/python2-pycairo.bst: Removed.
  • elements/sdk/python2-pygobject.bst: Removed.
  • elements/sdk/python2-six.bst: Removed.
  • elements/sdk/python2-subprocess32.bst: Removed.
  • elements/sdk/python2.bst: Removed.
1:42 AM Changeset in webkit [291218] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

REGRESSION (iOS 15.4 beta) - WebGL yields incorrect results when using preserveDrawingBuffer on iOS 15.4 Beta
https://bugs.webkit.org/show_bug.cgi?id=237113

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-14
Reviewed by Myles C. Maxfield.

Cherry-pick without tests conflicting tests.

Cherry-pick ANGLE commit: 74f3270214394c896154e4bf9338e7d75002de61
From: Gregg Tavares <Gregg Tavares>
Date: Thu, 3 Mar 2022 13:13:34 -0800
Subject: [PATCH] Metal: Fix for mulitsampled buffers losing their contents

Fixes tst included as well as WebGL CTS

https://www.khronos.org/registry/webgl/sdk/tests/conformance2/renderbuffers/multisample-draws-between-blits.html

Both fail on M1 without this fix.

Also fixes WebKit bug https://bugs.webkit.org/show_bug.cgi?id=237113

Bug: angleproject:7073

  • src/libANGLE/renderer/metal/FrameBufferMtl.mm:

(rx::FramebufferMtl::setLoadStoreActionOnRenderPassFirstStart):

Mar 12, 2022:

7:34 AM Changeset in webkit [291217] by Angelos Oikonomopoulos
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Use addressTempRegister in loadValue(void *) on 32 bits
https://bugs.webkit.org/show_bug.cgi?id=237773

Reviewed by Žan Doberšek.

Instead of using one of the destination registers as an address
temporary, use addressTempRegister instead. This allows reusing
the value in addressTempRegister (with an appropriate offset) if
possible, which results in a >25% size reduction for DFGOSRExit
(JS2) on ARMv7 (though not a significant size reduction overall).
Technically, this change could be killing some address reuse that
was previously possible because loadValue was not clobbering
addressTempRegister but, if so, this seems to be balanced out for
JS2.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::BoundsNonDoubleWordOffset::within):
(JSC::MacroAssemblerARMv7::BoundsDoubleWordOffset::within):
(JSC::MacroAssemblerARMv7::loadPair32):
(JSC::MacroAssemblerARMv7::setupArmAddress):
(JSC::MacroAssemblerARMv7::absoluteAddressWithinShortOffset):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::loadPair32):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::loadValue):

Note: See TracTimeline for information about the timeline view.