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

Timeline



Feb 5, 2022:

4:54 PM Changeset in webkit [289165] by Chris Dumez
  • 19 edits
    2 copies
    4 moves
    7 adds
    16 deletes in trunk/LayoutTests

Resync web-platform-tests/dom from upstream
https://bugs.webkit.org/show_bug.cgi?id=236147

Reviewed by Darin Adler.

Resync web-platform-tests/dom from upstream 893e71aa9c0a97d259ff.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/dom/eventPathRemoved-expected.txt: Added.
  • web-platform-tests/dom/eventPathRemoved.html: Added.
  • web-platform-tests/dom/events/AddEventListenerOptions-once-expected.txt: Removed.
  • web-platform-tests/dom/events/AddEventListenerOptions-passive-expected.txt: Removed.
  • web-platform-tests/dom/events/Event-constructors-expected.txt: Removed.
  • web-platform-tests/dom/events/EventTarget-add-remove-listener-expected.txt: Removed.
  • web-platform-tests/dom/events/EventTarget-addEventListener-expected.txt: Removed.
  • web-platform-tests/dom/events/EventTarget-removeEventListener-expected.txt: Removed.
  • web-platform-tests/dom/events/ProgressEvent-expected.txt: Removed.
  • web-platform-tests/dom/events/ProgressEvent.html: Removed.
  • web-platform-tests/dom/events/document-level-touchmove-event-listener-passive-by-default.tentative-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/document-level-touchmove-event-listener-passive-by-default-expected.txt.
  • web-platform-tests/dom/events/document-level-wheel-event-listener-passive-by-default-expected.txt: Removed.
  • web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any-expected.txt: Removed.
  • web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.worker-expected.txt: Removed.
  • web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window-expected.txt: Added.
  • web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window.html: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html.
  • web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.js.
  • web-platform-tests/dom/events/focus-event-document-move-expected.txt: Removed.
  • web-platform-tests/dom/events/resources/w3c-import.log:
  • web-platform-tests/dom/events/scrolling/overscroll-deltas-expected.txt: Added.
  • web-platform-tests/dom/events/w3c-import.log:
  • web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt: Added.
  • web-platform-tests/dom/idlharness-shadowrealm.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.worker.html.
  • web-platform-tests/dom/idlharness-shadowrealm.window.js: Added.
  • web-platform-tests/dom/idlharness.any.serviceworker-expected.txt:
  • web-platform-tests/dom/idlharness.any.sharedworker-expected.txt: Added.
  • web-platform-tests/dom/idlharness.any.sharedworker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html.
  • web-platform-tests/dom/idlharness.any.worker-expected.txt:
  • web-platform-tests/dom/idlharness.window-expected.txt:
  • web-platform-tests/dom/nodes/Document-characterSet-normalization-expected.txt: Removed.
  • web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Removed.
  • web-platform-tests/dom/nodes/Node-insertBefore-expected.txt:
  • web-platform-tests/dom/nodes/Node-insertBefore.html:
  • web-platform-tests/dom/nodes/getElementsByClassNameFrame-expected.txt: Removed.
  • web-platform-tests/dom/ranges/Range-mutations-expected.txt: Removed.
  • web-platform-tests/dom/ranges/Range-mutations.html: Removed.
  • web-platform-tests/dom/ranges/Range-test-iframe-expected.txt: Removed.
  • web-platform-tests/dom/traversal/support/w3c-import.log:
  • web-platform-tests/dom/w3c-import.log:
  • web-platform-tests/interfaces/dom.idl:

LayoutTests:

  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
4:14 PM Changeset in webkit [289164] by Alexey Shvayka
  • 3 edits
    1 add in trunk

Attempting to Set JSArray's read-only "length" should throw even with current Value
https://bugs.webkit.org/show_bug.cgi?id=221177

Reviewed by Saam Barati.

JSTests:

  • stress/array-prototype-methods-set-length.js: Added.

Source/JavaScriptCore:

As per OrdinarySet algorithm [1]. To achieve that, while ensuring no error is thrown
if read-only "length" isn't actually changed via DefineOwnProperty [2], this patch
moves newLength == oldLength check to JSArray::defineOwnProperty().

That is guaranteed to be correct because:

a) it's the only caller of setLengthWithArrayStorage() that performs DefineOwnProperty,

while others implement Set;

b) there can't possibly be array indices that JSArray::defineOwnProperty() has to remove,

and even the spec a shortcut here [3].

All code paths in pop() / shift() / push() / unshift() are covered by the newly added test,
as well as JSArray's DefineOwnProperty, while slice() / splice() / etc were vetted to
Set "length" according to the spec.

Aligns JSC with SpiderMonkey and partly with V8, which is correct for Object.freeze()
but not for Object.defineProperty(array, "length", { writable: false }).

[1]: https://tc39.es/ecma262/#sec-ordinarysetwithowndescriptor (step 2.a)
[2]: https://tc39.es/ecma262/#sec-validateandapplypropertydescriptor (step 5 and 7)
[3]: https://tc39.es/ecma262/#sec-arraysetlength (step 11)

  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::setLengthWithArrayStorage):

3:42 PM Changeset in webkit [289163] by Nikolas Zimmermann
  • 2 edits in trunk/Source/WebCore

[LBSE] Handle RenderSVGShape in SVGRenderSupport::applyStrokeStyleToContext()
https://bugs.webkit.org/show_bug.cgi?id=236077

Reviewed by Darin Adler.

Activate path length calculation for RenderSVGShape -- this bit
was missing when the layer-aware RenderSVGShape implementation was
upstreamed in r287832.

Currently the functionality is not observable, as we don't create
LBSE renderers yet.

Covered by existing tests, no change in behaviour.

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::applyStrokeStyleToContext):

3:39 PM Changeset in webkit [289162] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

[WTF] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings in CompletionHandler.h
<https://webkit.org/b/236181>
<rdar://problem/88529996>

Reviewed by Chris Dumez.

  • wtf/CompletionHandler.h:

(WTF::CompletionHandler<Out):
(WTF::CompletionHandlerWithFinalizer<Out):

  • Replace WTFMove() with std::forward<>().
1:25 PM Changeset in webkit [289161] by graouts@webkit.org
  • 4 edits in trunk

[CSS transition] can't use CSS logical properties in transition syntax
https://bugs.webkit.org/show_bug.cgi?id=232361
<rdar://problem/84958347>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark some WPT progressions. The new FAIL result isn't a real regression, that test
simply passed by virtue of not ever starting a transition for a logical property.

  • web-platform-tests/css/css-logical/animation-004-expected.txt:

Source/WebCore:

Resolve logical properties when considering properties that should trigger a transition.
To do so, we must pass the newly-set style to some methods such that they may be able to
reolve logical properties as well.

  • style/Styleable.cpp:

(WebCore::keyframeEffectForElementAndProperty):
(WebCore::transitionMatchesProperty):
(WebCore::updateCSSTransitionsForStyleableAndProperty):

11:44 AM Changeset in webkit [289160] by Simon Fraser
  • 5 edits in trunk/Source/WebKit

Refactor RemoteLayerBackingStoreCollection to have a single backing store traversal function
https://bugs.webkit.org/show_bug.cgi?id=236040

Reviewed by Tim Horton.

Instead of traversing m_liveBackingStore and m_unparentedBackingStore in two places (from the volatilityTimerFired()
and from tryMarkAllBackingStoreVolatile()), factor into a single function with two behavior flags.

Also make VolatilityMarkingFlags an OptionSet<> and add an option to consider last display time.

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

(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):

  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:

(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):

  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately): Deleted.

10:06 AM Changeset in webkit [289159] by ysuzuki@apple.com
  • 21 edits
    2 copies in trunk

Thread suspend and resume should take a global lock to avoid deadlock
https://bugs.webkit.org/show_bug.cgi?id=236159

Reviewed by Geoffrey Garen.

Source/bmalloc:

Introduce pas_thread_suspend_lock and take it when suspending and resuming threads.

  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • libpas/src/libpas/pas_scavenger.c:

(scavenger_thread_main):
(pas_scavenger_clear_all_caches):

  • libpas/src/libpas/pas_thread_local_cache.c:

(pas_thread_local_cache_for_all):

  • libpas/src/libpas/pas_thread_local_cache.h:
  • libpas/src/libpas/pas_thread_suspend_lock.c: Copied from Source/WTF/wtf/ThreadMessage.cpp.
  • libpas/src/libpas/pas_thread_suspend_lock.h: Copied from Source/WTF/wtf/ThreadMessage.cpp.

Source/JavaScriptCore:

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):

  • heap/MachineStackMarker.h:
  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::takeSample):

  • runtime/VMTraps.cpp:
  • wasm/WasmMachineThreads.cpp:

(JSC::Wasm::resetInstructionCacheOnAllThreads):

Source/WTF:

This patch introduces a global lock which should be taken while suspending and resuming a thread.
It is possible that two different threads suspend and resume threads. And if threads suspend
each other without critical section, it can cause a dead lock.

To avoid this problem, we introduce a global lock which should be taken when suspending and resuming
threads. Since libpas is also using thread suspension, we expose a global pas_thread_suspend_lock
when libpas is used, and we use this lock in WTF's Thread suspension code.

  • wtf/ThreadMessage.cpp:

(WTF::sendMessageScoped):

  • wtf/ThreadMessage.h:

(WTF::sendMessage):

  • wtf/Threading.cpp:

(WTF::ThreadSuspendLocker::ThreadSuspendLocker):
(WTF::ThreadSuspendLocker::~ThreadSuspendLocker):

  • wtf/Threading.h:
  • wtf/posix/ThreadingPOSIX.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

  • wtf/win/ThreadingWin.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

Tools:

  • TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:

(runThreadMessageTest):

9:51 AM Changeset in webkit [289158] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Address KeyframeEffect::isAboutToRunAccelerated() FIXME
https://bugs.webkit.org/show_bug.cgi?id=236178

Reviewed by Dean Jackson.

The canBeAccelerated() function catches all the cases to determine whether an effect
can be accelerated prior to being committed to a GraphicsLayerCA animation.

  • animation/KeyframeEffect.h:

(WebCore::KeyframeEffect::isAboutToRunAccelerated const):

8:37 AM Changeset in webkit [289157] by Alan Bujtas
  • 6 edits
    4 adds in trunk

[RenderTreeBuilder] Clean up column spanners when style change affects containing block
https://bugs.webkit.org/show_bug.cgi?id=236042
<rdar://83975391>

Reviewed by Antti Koivisto.

Source/WebCore:

In addition to removing the leftover spanners after style change, this patch also expands on the type of style changes that may affect
subtree state inside a multicolumn flow.

Tests: fast/multicol/leftover-spanner-on-style-change-crash.html

fast/multicol/leftover-spanner-on-style-change-crash2.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):

  • rendering/RenderElement.h:
  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):

LayoutTests:

  • fast/multicol/leftover-spanner-on-style-change-crash-expected.txt: Added.
  • fast/multicol/leftover-spanner-on-style-change-crash.html: Added.
  • fast/multicol/leftover-spanner-on-style-change-crash2-expected.txt: Added.
  • fast/multicol/leftover-spanner-on-style-change-crash2.html: Added.
8:35 AM Changeset in webkit [289156] by graouts@webkit.org
  • 6 edits in trunk/Source/WebCore

[Web Animations] DocumentTimeline::getAnimatedStyle() should be on Styleable
https://bugs.webkit.org/show_bug.cgi?id=236176

Reviewed by Dean Jackson.

There is no need to go through the DocumentTimeline to compute the animated
style for a renderer. Styleable is a more appropriate place for this.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::animatedStyleForRenderer): Deleted.

  • animation/DocumentTimeline.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::animatedStyle):

  • style/Styleable.cpp:

(WebCore::Styleable::computeAnimatedStyle const):

  • style/Styleable.h:
8:28 AM Changeset in webkit [289155] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Move all the line box vertical alignment logic to LineBoxVerticalAligner
https://bugs.webkit.org/show_bug.cgi?id=236171

Reviewed by Antti Koivisto.

This patch is in preparation for adding ideographic baseline support (vertical writing mode).

LineBoxBuilder::constructAndAlignInlineLevelBoxes has grown large and it's time to move some
code out of this function (the "align" part). Now all the vertical alignment logic, including
the check for simplified vertical alignment is part of the LineBoxVerticalAligner class.
While in this patch we initiate an extra loop on LineBox::nonRootInlineLevelBoxes(), it may very well be a
perf win for the most common cases where the root inline box has no child inline boxes at all
(as previously we called updateCanUseSimplifiedAlignment() on every text run by passing in the parent inline box).

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes): Deleted.

  • layout/formattingContexts/inline/InlineLineBoxBuilder.h:
  • layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:

(WebCore::Layout::LineBoxVerticalAligner::LineBoxVerticalAligner):
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
(WebCore::Layout::LineBoxVerticalAligner::canUseSimplifiedAlignmentForInlineLevelBox): Deleted.

  • layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:

(WebCore::Layout::LineBoxVerticalAligner::formattingContext const):
(WebCore::Layout::LineBoxVerticalAligner::layoutState const):

3:24 AM WebKitGTK/2.34.x edited by Adrian Perez de Castro
(diff)
1:25 AM Changeset in webkit [289154] by commit-queue@webkit.org
  • 16 edits
    3 deletes in trunk

[Flatpak SDK] Update to FDO 21.08.10 and GStreamer 1.20 releases
https://bugs.webkit.org/show_bug.cgi?id=236136

Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-05
Reviewed by Adrian Perez de Castro.

Source/WebCore:

Switch GStreamer 1.19 version checks to 1.20 now that it is officially released. Also
include a couple fixes that are needed with GStreamer 1.20 and one that is useful whatever
the GStreamer version:

  • GStreamer 1.20 ships a vp8alphadecodebin element able to handle video/x-vp8 caps, so our libwebrtc decoder factory needs to account for its presence, in addition to vp8dec.
  • With GStreamer 1.20 media/media-source/media-source-seek-back.html started racy crashing in the VideoTrackPrivateGStreamer configuration update, where the track was disconnected (hence its stream was cleared) and then a GObject notification was emitted by decodebin3. We should actually disconnect the GObject signal handlers before clearing the stream, to prevent potential null pointer access.
  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::handleNewDeinterleavePad):

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:

(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::disconnect):

  • platform/graphics/gstreamer/GStreamerCommon.h:
  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):

  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:

(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::disconnect):

  • platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:

(WebCore::VP8Decoder::Create):

Tools/buildstream:

Update from GStreamer 1.18.5 to 1.20.0, along with the FDO SDK 21.08.10 release, allowing us
to remove 3 vendored patches, all upstreamed.

  • elements/freedesktop-sdk.bst:
  • elements/sdk/gst-libav.bst:
  • elements/sdk/gst-plugins-bad.bst:
  • elements/sdk/gst-plugins-base.bst:
  • elements/sdk/gst-plugins-good.bst:
  • elements/sdk/gst-plugins-ugly.bst:
  • elements/sdk/gstreamer.bst:
  • patches/0001-binutils-import-upstream-patches-for-thin-archive-su.patch: Removed.
  • patches/gst-plugins-bad-0001-debugutils-Add-fakeaudiosink-element.patch: Removed.
  • patches/gstreamer-0001-devicemonitor-Stop-only-the-already-started-provider.patch: Removed.
12:10 AM Changeset in webkit [289153] by beidson@apple.com
  • 18 edits in trunk/Source

Notification refactoring
https://bugs.webkit.org/show_bug.cgi?id=236169

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (No behavior change)

Some "no behavior change" refactors broken out from an upcoming larger patch, including:

  • Make Notification objects reliant on ScriptExecutionContext instead of Document
  • Give them a direct path to a NotificationClient instead of having to go through a Page's NotificationController
  • Give ScriptExecutionContext's a sessionID() accessor for future use
  • Some Notification object threading hardening
  • Modules/notifications/Notification.cpp:

(WebCore::Notification::create):
(WebCore::Notification::Notification):
(WebCore::Notification::show):
(WebCore::Notification::close):
(WebCore::Notification::clientFromContext):
(WebCore::Notification::stop):
(WebCore::Notification::dispatchErrorEvent):
(WebCore::Notification::permission):
(WebCore::Notification::requestPermission):
(WebCore::Notification::data const):
(WebCore::Notification::document const): Deleted.

  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationClient.h:
  • Modules/notifications/NotificationData.h:

(WebCore::NotificationData::encode const):
(WebCore::NotificationData::decode):

  • dom/Document.cpp:

(WebCore::Document::notificationClient):
(WebCore::Document::sessionID const):

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:

(WebCore::ScriptExecutionContext::isServiceWorkerGlobalScope const):
(WebCore::ScriptExecutionContext::notificationClient):
(WebCore::ScriptExecutionContext::sessionID const):

  • workers/WorkerThread.h:
  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::create):
(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):

  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::generateWorkerParameters):
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::m_notificationClient):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):

  • workers/service/context/ServiceWorkerThread.h:
  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):

  • workers/service/context/ServiceWorkerThreadProxy.h:

Source/WebKit:

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::installServiceWorker):

Feb 4, 2022:

11:26 PM Changeset in webkit [289152] by ysuzuki@apple.com
  • 9 edits in trunk

WeakRef deref can return null instead of undefined
https://bugs.webkit.org/show_bug.cgi?id=235880

Reviewed by Sam Weinig and Alexey Shvayka.

JSTests:

  • stress/v8-finalizationregistry-and-weakref.js:

(setTimeout):

Source/JavaScriptCore:

WeakRef#deref should return undefined[1] when a wrapped object is collected.

[1]: https://tc39.es/ecma262/#sec-weakrefderef

  • runtime/WeakObjectRefPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

LayoutTests:

  • js/script-tests/weakref-async-is-collected.js:

(async test):

  • js/script-tests/weakref-eventually-collects-values.js:

(let.weakRefs.async test):

  • js/script-tests/weakref-finalizationregistry.js:

(async test):

  • js/script-tests/weakref-microtasks-dont-collect.js:

(async test):

10:38 PM Changeset in webkit [289151] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

ch unit fallback size doesn't match the spec
https://bugs.webkit.org/show_bug.cgi?id=236073
<rdar://problem/88513297>

Reviewed by Cameron McCormack.

Source/WebCore:

The spec (https://drafts.csswg.org/css-values-4/#ch) says:

In the cases where it is impossible or impractical to determine the measure of the “0” glyph, it must be assumed to be 0.5em wide

Test: fast/text/ch-unit-without-zero-glyph.html

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeUnzoomedNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):

  • platform/graphics/Font.cpp:

(WebCore::Font::platformGlyphInit):

  • platform/graphics/FontMetrics.h:

(WebCore::FontMetrics::zeroWidth const):
(WebCore::FontMetrics::reset):

LayoutTests:

This can't be a WPT test because it uses an SVG font which we're the only browser to support.

  • fast/text/ch-unit-without-zero-glyph-expected.html: Added.
  • fast/text/ch-unit-without-zero-glyph.html: Added.
10:11 PM Changeset in webkit [289150] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Don't use adattributiond on iOS
https://bugs.webkit.org/show_bug.cgi?id=236157

Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-04
Reviewed by John Wilander.

It is still having configuration issues such as rdar://88334217

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):

9:32 PM Changeset in webkit [289149] by eric.carlson@apple.com
  • 9 edits in trunk/Source/WebCore

Update MediaStreamTrack understanding of source type
https://bugs.webkit.org/show_bug.cgi?id=236165
<rdar://problem/88513632>

Reviewed by Jer Noble.

Before bug 235838, RealtimeMediaSource::Type was either Audio or Video. That bug
added new types for screen, window, and system audio capture, but MediaStreamTrack
wasn't updated to account for them. Instead of checking a source's type, use the new
hasAudio and 'hasVideo` methods.

No new tests, covered by existing tests.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::getAudioTracks const):
(WebCore::MediaStream::getVideoTracks const):
(WebCore::MediaStream::filteredTracks const):
(WebCore::MediaStream::trackVectorForType const): Deleted.

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
(WebCore::MediaStreamTrack::kind const):
(WebCore::MediaStreamTrack::setContentHint):
(WebCore::MediaStreamTrack::trackEnded):
(WebCore::MediaStreamTrack::isCapturingAudio const):

  • Modules/mediastream/MediaStreamTrack.h:

(WebCore::MediaStreamTrack::hasVideo const):
(WebCore::MediaStreamTrack::hasAudio const):

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::setType):

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:

(WebCore::sourceTypeForDevice):
(WebCore::DisplayCaptureSourceCocoa::DisplayCaptureSourceCocoa): Set the correct
source type.

8:04 PM Changeset in webkit [289148] by weinig@apple.com
  • 2 edits in trunk/Source/WTF

Make isNaNConstExpr actually constexpr
https://bugs.webkit.org/show_bug.cgi?id=236162

Reviewed by Darin Adler.

  • wtf/MathExtras.h:

(WTF::isNaNConstExpr): Add missing constexpr.

7:30 PM Changeset in webkit [289147] by pvollan@apple.com
  • 7 edits in trunk/Source/WebKit

[AX] Stop creating sandbox extensions for preference services
https://bugs.webkit.org/show_bug.cgi?id=232956
<rdar://problem/85260698>

Reviewed by Geoffrey Garen.

Stop creating sandbox extensions for preference services when AX is enabled. There have been many code changes
related to updating AX preferences in the WebContent process, which is why we think this is not needed anymore.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/com.apple.WebProcess.sb.in:
6:54 PM Changeset in webkit [289146] by Simon Fraser
  • 9 edits in trunk/Source/WebKit

Lay the groundwork for markLayersVolatileImmediatelyIfPossible() being an asynchronous operation
https://bugs.webkit.org/show_bug.cgi?id=236034

Reviewed by Tim Horton.

With DOM rendering in the GPU Process, markLayersVolatileImmediatelyIfPossible() will need
to do IPC to mark surfaces volatile, and we want that to be async IPC. So change the plumbing from
WebPage to RemoteLayerBackingStoreCollection to be callback-based, with a completion handler.

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

(WebKit::RemoteLayerBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileImmediatelyIfPossible): Deleted.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::tryMarkLayersVolatile):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::markLayersVolatileImmediatelyIfPossible): Deleted.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::tryMarkLayersVolatile):
(WebKit::RemoteLayerTreeDrawingArea::markLayersVolatileImmediatelyIfPossible): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::tryMarkLayersVolatile):
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::markLayersVolatileOrRetry):
(WebKit::WebPage::tryMarkLayersVolatileCompletionHandler):
(WebKit::WebPage::markLayersVolatileImmediatelyIfPossible): Deleted.

  • WebProcess/WebPage/WebPage.h:
5:55 PM Changeset in webkit [289145] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

[libpas] Use os_unfair_lock instead of spinlock
https://bugs.webkit.org/show_bug.cgi?id=236158

Reviewed by Geoffrey Garen.

os_unfair_lock is very fast while it can properly suspend threads.
A/B test result was neutral on Speedometer2 and JetStream2. So, to
reduce unnecessary CPU spins, let's replace spinlock with os_unfair_lock
if it is supported (if OS is Darwin).

  • libpas/src/libpas/pas_config.h:
4:51 PM Changeset in webkit [289144] by ysuzuki@apple.com
  • 4 edits in trunk/Source/bmalloc

[libpas] allocation failure crash should be PAS_NEVER_INLINE
https://bugs.webkit.org/show_bug.cgi?id=236164

Reviewed by Saam Barati.

We introduce pas_allocation_result_crash_on_error function which can leave OOM crash
information in the crash log. To keep this non-inlined, we annotate it PAS_NEVER_INLINE.

  • libpas/src/libpas/pas_allocation_result.h:

(pas_allocation_result_crash_on_error):

  • libpas/src/libpas/pas_utils.c:

(pas_panic_on_out_of_memory_error):

  • libpas/src/libpas/pas_utils.h:
4:48 PM Changeset in webkit [289143] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add test for the fix in https://bugs.webkit.org/show_bug.cgi?id=235928
https://bugs.webkit.org/show_bug.cgi?id=236152

Patch by Matt Gilligan <matthew_gilligan@apple.com> on 2022-02-04
Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:

(TestWebKitAPI::TEST):

4:28 PM Changeset in webkit [289142] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS] ScreenCaptureKitCaptureSource only outputs one frame
https://bugs.webkit.org/show_bug.cgi?id=236161
<rdar://problem/88510634>

Reviewed by Jer Noble.

Don't WTFMove() a lambda-captured variable if the lambda will be called again.

  • platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:

(WebCore::ScreenCaptureKitCaptureSource::frameAvailableHandler):

4:05 PM Changeset in webkit [289141] by jonlee@apple.com
  • 65 edits in trunk/LayoutTests/imported/w3c

Unreviewed, land missing baseline for Shared Worker test.

Patch by Chris Dumez <Chris Dumez> on 2022-02-04

  • web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt: Added.
3:39 PM Changeset in webkit [289140] by commit-queue@webkit.org
  • 19 edits in trunk

REGRESSION(r280077): [GTK] It caused 155 new test failures
https://bugs.webkit.org/show_bug.cgi?id=228153

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-02-04
Reviewed by Michael Catanzaro.

Source/WebKit:

Pass the GTKSettingsState in the WebProcessCreationParameters rather
than the WebPageCreationParameters, to ensure the correct GTK settings
are always applied in a new WebProcess.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • UIProcess/glib/WebProcessPoolGLib.cpp:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::reinitializeWebPage):

  • WebProcess/glib/WebProcessGLib.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

Move initializeGtkSettings() from the InjectedBundle to the test runner,
since GTK settings are automatically propagated from the UI process to
the web processes.

  • WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:

(WTR::activateFonts):
(WTR::initializeGtkSettings): Deleted.

  • WebKitTestRunner/gtk/main.cpp:

(initializeGtkSettings):
(main):

LayoutTests:

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations: Garden tests that no longer fail.
  • platform/gtk/css1/font_properties/font-expected.txt:
  • platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt:
  • platform/wpe/TestExpectations:
3:21 PM Changeset in webkit [289139] by Ben Nham
  • 9 edits
    3 adds in trunk

Add PushDatabase
https://bugs.webkit.org/show_bug.cgi?id=234194

Reviewed by Brady Eidson.

Source/WebCore:

This adds a persistence layer for push subscriptions stored in webpushd. The operations
that we support for now are:

  • inserting a record (used when subscribing)
  • removing a record (used when unsubscribing)
  • retrieving a record (used when receiving a push)
  • enumerating all records by wake state (used to provide the push service the list of all topics that we are subscribed to by wake state)

There are two basic data types in this data model:

  • Subscriptions, which are uniquely identified by (bundleID, serviceWorkerScope). This stores data that is unique to each subscription, e.g. encryption keys and the HTTP endpoint used by the server to send pushes to this subscription.
  • SubscriptionSets, which encompass one or more Subscriptions, and are uniquely identified by (bundleID, securityOrigin). This stores state this common to multiple subscriptions, e.g. whether or not all pushes sent by a particular origin should be non-waking.

For instance, suppose webkit.org in Safari has two service worker registrations scoped to
webkit.org/foo and webkit.org/bar. Each registration has successfully registered for push.
This would result in three rows in the database:

  1. Subscription row identified by (bundleID=safari, scope=webkit.org/foo)
  2. Subscription row identified by (bundleID=safari, scope=webkit.org/bar)
  3. SubscriptionSet row identified by (bundleID=safari, securityOrigin=webkit.org)

Both subscriptions (1) and (2) are part of the subscription set (3).

Covered by new API tests.

  • Headers.cmake:
  • Modules/push-api/PushDatabase.cpp: Added.

(WebCore::PushRecord::isolatedCopy const):
(WebCore::PushRecord::isolatedCopy):
(WebCore::openAndMigrateDatabaseImpl):
(WebCore::openAndMigrateDatabase):
(WebCore::PushDatabase::create):
(WebCore::PushDatabase::PushDatabase):
(WebCore::PushDatabase::~PushDatabase):
(WebCore::PushDatabase::dispatchOnWorkQueue):
(WebCore::PushDatabase::cachedStatementOnQueue):
(WebCore::bindExpirationTime):
(WebCore::expirationTimeFromValue):
(WebCore::completeOnMainQueue):
(WebCore::PushDatabase::insertRecord):
(WebCore::PushDatabase::removeRecordByIdentifier):
(WebCore::makePushRecordFromRow):
(WebCore::PushDatabase::getRecordByTopic):
(WebCore::PushDatabase::getRecordByBundleIdentifierAndScope):
(WebCore::PushDatabase::getIdentifiers):
(WebCore::PushDatabase::getTopicsByWakeState):

  • Modules/push-api/PushDatabase.h: Added.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/Logging.h:
  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::inMemoryPath):
(WebCore::SQLiteDatabase::open):

  • platform/sql/SQLiteDatabase.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/PushDatabase.cpp: Added.

(TestWebKitAPI::getTopicsByWakeStateSync):
(TestWebKitAPI::PushDatabaseTest::insertRecord):
(TestWebKitAPI::PushDatabaseTest::removeRecordByRowIdentifier):
(TestWebKitAPI::PushDatabaseTest::getRecordByTopic):
(TestWebKitAPI::PushDatabaseTest::getRecordByBundleIdentifierAndScope):
(TestWebKitAPI::PushDatabaseTest::getRowIdentifiers):
(TestWebKitAPI::PushDatabaseTest::getTopicsByWakeState):
(TestWebKitAPI::operator==):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::makeTemporaryDatabasePath):
(TestWebKitAPI::TEST):

2:49 PM Changeset in webkit [289138] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r289124.
https://bugs.webkit.org/show_bug.cgi?id=236160

Introduced crash

Reverted changeset:

"[macOS][WP] Add telemetry for syscalls used during launch"
https://bugs.webkit.org/show_bug.cgi?id=235865
https://commits.webkit.org/r289124

2:17 PM Changeset in webkit [289137] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS][WP] Block access to syscalls that are only used during launch
https://bugs.webkit.org/show_bug.cgi?id=236102
<rdar://problem/88454893>

Reviewed by Brent Fulgham.

On iOS, block access to 12 Unix syscalls and 4 Mach syscalls after the WebContent process has finished launching.
These syscalls are only used during launch.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
1:34 PM Changeset in webkit [289136] by Alan Coon
  • 1 copy in tags/Safari-614.1.2

Tag Safari-614.1.2.

1:29 PM Changeset in webkit [289135] by commit-queue@webkit.org
  • 6 edits
    2 deletes in trunk

Unreviewed, reverting r289098.
https://bugs.webkit.org/show_bug.cgi?id=236154

caused some unexpected crashes

Reverted changeset:

"[RenderTreeBuilder] Clean up column spanners when style
change affects containing block"
https://bugs.webkit.org/show_bug.cgi?id=236042
https://commits.webkit.org/r289098

11:50 AM Changeset in webkit [289134] by commit-queue@webkit.org
  • 19 edits in trunk/Source

Remember whether cached main resources used private relay when considering whether to call _setPrivacyProxyFailClosed
https://bugs.webkit.org/show_bug.cgi?id=236125

Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-04
Reviewed by Geoffrey Garen.

Source/WebCore:

Use an unused bit on disk to remember whether the response was originally received over private relay.
Also, instead of remembering on the main frame's DocumentLoader, remember on the WebProcess.
This makes it so if you enter the same URL twice, which loads from the MemoryCache from different WebCore::Pages, it still remembers.
If you load a different domain, it will load in a different WebProcess anyways, at which point you will not be using the same MemoryCache.

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::setMainResourceWasPrivateRelayed): Deleted.
(WebCore::DocumentLoader::mainResourceWasPrivateRelayed const): Deleted.

Source/WebKit:

  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::makeEntry):
(WebKit::NetworkCache::Cache::store):
(WebKit::NetworkCache::Cache::update):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::Entry):
(WebKit::NetworkCache::Entry::encodeAsStorageRecord const):
(WebKit::NetworkCache::Entry::decodeStorageRecord):

  • NetworkProcess/cache/NetworkCacheEntry.h:

(WebKit::NetworkCache::Entry::privateRelayed const):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
  • NetworkProcess/cache/PrefetchCache.cpp:

(WebKit::PrefetchCache::Entry::Entry):
(WebKit::PrefetchCache::store):

  • NetworkProcess/cache/PrefetchCache.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::addParametersShared):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::setHadMainFrameMainResourcePrivateRelayed):
(WebKit::WebProcess::hadMainFrameMainResourcePrivateRelayed const):

11:46 AM Changeset in webkit [289133] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, reverting r289067.
https://bugs.webkit.org/show_bug.cgi?id=236149

Broke WinCairo LayoutTests

Reverted changeset:

"REGRESSION(r288878)
webkitpy.layout_tests.controllers.layout_test_finder_legacy_unittest.LayoutTestFinderTests
tests are failing with Windows Python"
https://bugs.webkit.org/show_bug.cgi?id=236043
https://commits.webkit.org/r289067

11:36 AM Changeset in webkit [289132] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Input geometry to layout (BoxGeometry) should be all logical
https://bugs.webkit.org/show_bug.cgi?id=236120

Reviewed by Antti Koivisto.

Now (after adding support for inline base direction), it's clear that BoxGeometry, as input to inline line layout,
should hold logical values only (this is somewhat of a revert of r269818).
It also fixes ~40 tests under imported/w3c/web-platform-tests/css/css-writing-modes.

(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions): We need logical vs. visual flip based on
in what writing direction the box lives in and not what it establishes for its descendants.

11:19 AM Changeset in webkit [289131] by Andres Gonzalez
  • 4 edits in trunk/Source/WebCore

Cache some expensive AXIsolatedObject properties lazily.
https://bugs.webkit.org/show_bug.cgi?id=236115
<rdar://problem/88467667>

Reviewed by Chris Fleizach.

Some properties can be very expensive to compute for every object, and
may not even be used by the clients. Furthermore
descriptionAttributeValue() and titleAttributeValue() call
textUnderElement() which may crash if it is called in the middle of a
layout. This is the actual cause of
https://bugs.webkit.org/show_bug.cgi?id=220446.
In this patch, we delay the computation and caching of these two
properties until they are first requested. This solves both the wasteful
computation if these properties are not used, and more importantly the
crash in the above mentioned bug.
This is a follow up change to:
https://bugs.webkit.org/show_bug.cgi?id=236053

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::getOrRetrieveStringPropertyValue):
New method to lazily retrieve and cache any String property.
(WebCore::AXIsolatedObject::innerHTML const): Uses getOrRetrieveStringPropertyValue.
(WebCore::AXIsolatedObject::outerHTML const): Dito.

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

(WebCore::AXIsolatedObject::initializePlatformProperties):
No longer caches the above mentioned properties.
(WebCore::AXIsolatedObject::descriptionAttributeValue const): Uses getOrRetrieveStringPropertyValue.
(WebCore::AXIsolatedObject::titleAttributeValue const): Dito.

10:58 AM Changeset in webkit [289130] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r289069.
https://bugs.webkit.org/show_bug.cgi?id=236146

Introduced sandbox violation

Reverted changeset:

"[iOS][WP] Enable sandbox state rules for Mach messages"
https://bugs.webkit.org/show_bug.cgi?id=236027
https://commits.webkit.org/r289069

10:53 AM Changeset in webkit [289129] by Alexander Mikhaylenko
  • 14 edits in trunk

[GTK] Crash when starting DND on touchscreen
https://bugs.webkit.org/show_bug.cgi?id=235694

Reviewed by Adrian Perez de Castro.

Source/WebCore:

  • page/DragController.cpp:

(WebCore::DragController::startDrag):
Skip drags for touch events on GTK.

  • platform/PlatformMouseEvent.h:

(WebCore::PlatformMouseEvent::isTouchEvent const):

Source/WebKit:

Drag-n-drop on touch has never worked correctly in GTK, and is usually
just disabled. Do the same thing and ignore it for synthesized mouse
events.

  • Shared/NativeWebMouseEvent.h:
  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):

  • Shared/WebMouseEvent.cpp:

(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode const):
(WebKit::WebMouseEvent::decode):

  • Shared/WebMouseEvent.h:

(WebKit::WebMouseEvent::isTouchEvent const):

  • Shared/gtk/NativeWebMouseEventGtk.cpp:

(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseTouchRelease):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchDragEnd):
(webkitWebViewBaseSynthesizeMouseEvent):

  • UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
  • UIProcess/gtk/PointerLockManager.cpp:

(WebKit::PointerLockManager::handleMotion):

Tools:

  • TestWebKitAPI/glib/CMakeLists.txt: Define BUILDING_TestWebKit
10:50 AM Changeset in webkit [289128] by chris.reid@sony.com
  • 6 edits in trunk/Source

Revert some structured binding workarounds with Clang
https://bugs.webkit.org/show_bug.cgi?id=236098

Reviewed by Sam Weinig.

Revert structured bindings workarounds made in r288309, r261572, r249524 now that this is fixed in clang.

Source/WebCore:

  • Modules/indexeddb/server/MemoryObjectStore.cpp:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
  • inspector/agents/InspectorNetworkAgent.cpp:

Source/WebKit:

  • NetworkProcess/storage/StorageAreaBase.cpp:
10:42 AM Changeset in webkit [289127] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r289125.
https://bugs.webkit.org/show_bug.cgi?id=236145

Introduced sandbox violation

Reverted changeset:

"[iOS][WP] Block access to syscalls that are only used during
launch"
https://bugs.webkit.org/show_bug.cgi?id=236102
https://commits.webkit.org/r289125

10:23 AM Changeset in webkit [289126] by ntim@apple.com
  • 1 edit
    5 adds in trunk/Websites/webkit.org

Add <dialog> element demos for blog post
https://bugs.webkit.org/show_bug.cgi?id=236143

Reviewed by Simon Fraser.

  • demos/dialog-element/confirmation-dialog-basic.html: Added.
  • demos/dialog-element/confirmation-dialog-form.html: Added.
  • demos/dialog-element/dark-theme.css: Added.

(body):
(@media (prefers-color-scheme: dark) dialog):

  • demos/dialog-element/styled-dialog.html: Added.
10:21 AM Changeset in webkit [289125] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS][WP] Block access to syscalls that are only used during launch
https://bugs.webkit.org/show_bug.cgi?id=236102
<rdar://problem/88454893>

Reviewed by Brent Fulgham.

On iOS, block access to 12 Unix syscalls and 4 Mach syscalls after the WebContent process has finished launching.
These syscalls are only used during launch.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
10:19 AM Changeset in webkit [289124] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS][WP] Add telemetry for syscalls used during launch
https://bugs.webkit.org/show_bug.cgi?id=235865
<rdar://problem/88228583>

Reviewed by Brent Fulgham.

Add telemetry in the WebContent process' sandbox on macOS to determine which syscalls are used only during launch.

  • WebProcess/com.apple.WebProcess.sb.in:
10:17 AM Changeset in webkit [289123] by pvollan@apple.com
  • 4 edits in trunk/Source/WebKit

[iOS][macOS] Adjust sysctl sandbox access
https://bugs.webkit.org/show_bug.cgi?id=236082
<rdar://problem/88436174>

Reviewed by Brent Fulgham.

Adjust sysctl sandbox access based on telemetry.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
9:26 AM Changeset in webkit [289122] by weinig@apple.com
  • 9 edits
    2 adds in trunk

Gradients don't correctly interpolate missing/none color components correctly
https://bugs.webkit.org/show_bug.cgi?id=236025

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/gradients/gradient-with-missing-components.html

  • platform/graphics/Color.cpp:

(WebCore::Color::anyComponentIsNone const):

  • platform/graphics/Color.h:

Add helper to check if any component is 'none'.

  • platform/graphics/ColorComponents.h:

(WebCore::operator==):
Update operator== for ColorComponents to be none-aware and treat
two components that are both none as equal.

  • platform/graphics/ColorTypes.h:

(WebCore::assertInRange):
(WebCore::constexprIsNaN): Deleted.
Adopt shared version of the constexpr isnan.

  • platform/graphics/cg/GradientRendererCG.cpp:

(WebCore::anyComponentIsNone):
(WebCore::GradientRendererCG::pickStrategy const):
(WebCore::GradientRendererCG::makeShading const):
Use the CGShaderRef strategy if any component of any stop is none, as it
is the only one that currently supports it correctly. Ensure none is preserved
by utilizing the unresolved component values. This can be optimized in the
future by preprocessing the color stops to pre-resolve the none components,
even allowing the CGGradientRef path to be used for supported cases.

Source/WTF:

Move isNaNConstExpr to MathExtras.h from WebCore so it can used in multiple places.

  • wtf/MathExtras.h:

(WTF::isNaNConstExpr):

LayoutTests:

Add tests of gradients with explicit 'none' components in some of the colors.

  • fast/gradients/gradient-with-missing-components-expected.html: Added.
  • fast/gradients/gradient-with-missing-components.html: Added.
9:06 AM Changeset in webkit [289121] by Kate Cheney
  • 5 edits
    5 adds in trunk

Fix App Privacy Report redirect attribution
https://bugs.webkit.org/show_bug.cgi?id=236111

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/app-privacy-report/user-attribution-redirect.html
Test: http/tests/app-privacy-report/app-attribution-redirect.html

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):

LayoutTests:

  • http/tests/app-privacy-report/resources/redirect.js: Added.
  • http/tests/app-privacy-report/app-attribution-redirect-expected.txt: Added.
  • http/tests/app-privacy-report/app-attribution-redirect.html: Added.
  • http/tests/app-privacy-report/user-attribution-redirect-expected.txt: Added.
  • http/tests/app-privacy-report/user-attribution-redirect.html: Added.
9:04 AM Changeset in webkit [289120] by Chris Dumez
  • 1 edit
    1 add in trunk/LayoutTests/imported/w3c

Unreviewed, land missing baseline for Shared Worker test.

  • web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt: Added.
9:02 AM Changeset in webkit [289119] by Chris Dumez
  • 12 edits
    2 adds in trunk/LayoutTests

Unreviewed, unskip more Shared Worker layout tests on WK2.

LayoutTests/imported/w3c:

  • web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-allowed.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-blocked.sub-expected.txt: Added.
  • web-platform-tests/eventsource/shared-worker/eventsource-close-expected.txt:
  • web-platform-tests/eventsource/shared-worker/eventsource-constructor-non-same-origin-expected.txt:
  • web-platform-tests/eventsource/shared-worker/eventsource-eventtarget-expected.txt:
  • web-platform-tests/eventsource/shared-worker/eventsource-onmessage-expected.txt:
  • web-platform-tests/eventsource/shared-worker/eventsource-onopen-expected.txt:
  • web-platform-tests/eventsource/shared-worker/eventsource-prototype-expected.txt:
  • web-platform-tests/eventsource/shared-worker/eventsource-url-expected.txt:

LayoutTests:

  • TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
8:50 AM Changeset in webkit [289118] by commit-queue@webkit.org
  • 3 edits in trunk/Tools/buildstream

[Flatpak SDK] Extension points for the Flatpak Sparkle-CDM extension
https://bugs.webkit.org/show_bug.cgi?id=235490

Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-04
Reviewed by Adrian Perez de Castro.

Allow Sparkle-CDM extension in Sdk/Platform runtimes. A follow-up patch will add support for
the extension installation.

  • elements/flatpak/platform.bst:
  • elements/flatpak/sdk.bst:
8:41 AM Changeset in webkit [289117] by Alexey Shvayka
  • 145 edits in trunk/Source/WebCore

[WebIDL] Rename Document / ScriptExecutionContext / GlobalObject values of [*CallWith] to include "Current"
https://bugs.webkit.org/show_bug.cgi?id=236137

Reviewed by Chris Dumez.

Before this change, _current_ realm was kinda an implicit default, which didn't
match all newer standards that use _relevant_ per recommendation for spec authors [1].

Making _relevant_ a default isn't feasible either: there are plenty usages of
[CallWith=GlobalObject] for converting JS values to WebIDL, which are correct,
and some older specs like IndexedDB require it.

Since there is no way for static operations / attributes to acquire a _relevant_
realm, this patch asserts that Relevant* values aren't used with them.

That could probably be expanded for constructors, given their "prototype"s are
unforgeable, yet before doing that we should investigate how other vendors are
handling cross-realm NewTarget.

[1] https://html.spec.whatwg.org/multipage/webappapis.html#realms-settings-objects-global-objects:concept-relevant-everything-2

No new tests, no behavior change.

  • Modules/WebGPU/GPUAdapter.idl:
  • Modules/applepay/ApplePaySession.idl:
  • Modules/applepay/ApplePaySetup.idl:
  • Modules/beacon/Navigator+Beacon.idl:
  • Modules/cache/WindowOrWorkerGlobalScope+Caches.idl:
  • Modules/encryptedmedia/MediaKeyStatusMap.idl:
  • Modules/encryptedmedia/MediaKeySystemAccess.idl:
  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/encryptedmedia/Navigator+EME.idl:
  • Modules/encryptedmedia/legacy/WebKitMediaKeys.idl:
  • Modules/entriesapi/DOMFileSystem.idl:
  • Modules/entriesapi/FileSystemDirectoryEntry.idl:
  • Modules/entriesapi/FileSystemDirectoryReader.idl:
  • Modules/entriesapi/FileSystemEntry.idl:
  • Modules/entriesapi/FileSystemFileEntry.idl:
  • Modules/entriesapi/HTMLInputElement+EntriesAPI.idl:
  • Modules/fetch/FetchBody.idl:
  • Modules/fetch/FetchRequest.idl:
  • Modules/fetch/FetchResponse.idl:
  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/mediacapabilities/MediaCapabilities.idl:
  • Modules/mediarecorder/MediaRecorder.idl:
  • Modules/mediasession/MediaMetadata.idl:
  • Modules/mediasession/MediaSessionPlaylistMixin.idl:
  • Modules/mediasource/DOMURL+MediaSource.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediastream/MediaStream.idl:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCRtpReceiver.idl:
  • Modules/mediastream/RTCRtpSFrameTransform.idl:
  • Modules/mediastream/RTCRtpScriptTransform.idl:
  • Modules/mediastream/RTCRtpScriptTransformer.idl:
  • Modules/mediastream/RTCRtpSender.idl:
  • Modules/notifications/Notification.idl:
  • Modules/paymentrequest/MerchantValidationEvent.idl:
  • Modules/paymentrequest/PaymentRequest.idl:
  • Modules/paymentrequest/PaymentResponse.idl:
  • Modules/push-api/PushManager.idl:
  • Modules/push-api/PushMessageData.idl:
  • Modules/push-api/PushSubscription.idl:
  • Modules/speech/SpeechRecognition.idl:
  • Modules/speech/SpeechSynthesisUtterance.idl:
  • Modules/streams/WritableStream.idl:
  • Modules/streams/WritableStreamSink.idl:
  • Modules/webaudio/AudioBuffer.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioWorkletNode.idl:
  • Modules/webaudio/AudioWorkletProcessor.idl:
  • Modules/webaudio/BaseAudioContext.idl:
  • Modules/webaudio/IIRFilterNode.idl:
  • Modules/webaudio/OfflineAudioContext.idl:
  • Modules/webauthn/PublicKeyCredential.idl:
  • Modules/websockets/WebSocket.idl:
  • Modules/webxr/WebXRFrame.idl:
  • Modules/webxr/WebXRSystem.idl:
  • animation/Animatable.idl:
  • animation/DocumentTimeline.idl:
  • animation/KeyframeEffect.idl:
  • bindings/scripts/CodeGenerator.pm:

(ExtendedAttributeContains):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GenerateCallWith):
(GenerateParametersCheck):

  • bindings/scripts/IDLAttributes.json:
  • bindings/scripts/test/JS/*: Updated.
  • bindings/scripts/test/TestInterface.idl:
  • bindings/scripts/test/TestLegacyFactoryFunction.idl:
  • bindings/scripts/test/TestMixinInterface.idl:
  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestPromiseRejectionEvent.idl:
  • bindings/scripts/test/TestSupplemental.idl:
  • crypto/SubtleCrypto.idl:
  • css/DOMCSSNamespace+CSSPainting.idl:
  • css/DOMCSSNamespace+CSSPropertiesandValues.idl:
  • css/DOMCSSNamespace.idl:
  • css/DOMMatrix.idl:
  • css/DOMMatrixReadOnly.idl:
  • css/FontFace.idl:
  • css/FontFaceSet.idl:
  • dom/AbortController.idl:
  • dom/AbortSignal.idl:
  • dom/BroadcastChannel.idl:
  • dom/Comment.idl:
  • dom/DataTransfer.idl:
  • dom/DataTransferItem.idl:
  • dom/DeviceMotionEvent.idl:
  • dom/DeviceOrientationEvent.idl:
  • dom/Document.idl:
  • dom/DocumentFragment.idl:
  • dom/Element.idl:
  • dom/ErrorEvent.idl:
  • dom/EventTarget.idl:
  • dom/MessageChannel.idl:
  • dom/MessagePort.idl:
  • dom/MouseEvent.idl:
  • dom/Range.idl:
  • dom/Text.idl:
  • fileapi/Blob.idl:
  • fileapi/File.idl:
  • fileapi/FileReader.idl:
  • fileapi/FileReaderSync.idl:
  • html/DOMURL.idl:
  • html/HTMLAudioElement.idl:
  • html/HTMLCanvasElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLImageElement.idl:
  • html/HTMLOptionElement.idl:
  • html/HTMLOutputElement.idl:
  • html/MediaController.idl:
  • html/OffscreenCanvas.idl:
  • html/track/DataCue.idl:
  • html/track/TextTrackCue.idl:
  • html/track/VTTCue.idl:
  • html/track/VTTRegion.idl:
  • inspector/CommandLineAPIHost.idl:
  • inspector/InspectorAuditAccessibilityObject.idl:
  • inspector/InspectorAuditResourcesObject.idl:
  • page/DOMWindow.idl:
  • page/EventSource.idl:
  • page/IntersectionObserver.idl:
  • page/NavigatorServiceWorker.idl:
  • page/NavigatorShare.idl:
  • page/Performance+UserTiming.idl:
  • page/PerformanceMark.idl:
  • page/PerformanceMeasure.idl:
  • page/PerformanceObserver.idl:
  • page/RemoteDOMWindow.idl:
  • page/ResizeObserver.idl:
  • page/WindowOrWorkerGlobalScope.idl:
  • testing/Internals.idl:
  • testing/ServiceWorkerInternals.idl:
  • testing/WebXRTest.idl:
  • workers/DedicatedWorkerGlobalScope.idl:
  • workers/Worker.idl:
  • workers/service/FetchEvent.idl:
  • workers/service/ServiceWorker.idl:
  • workers/service/ServiceWorkerClient.idl:
  • workers/service/ServiceWorkerClients.idl:
  • workers/service/ServiceWorkerRegistration.idl:
  • workers/shared/SharedWorker.idl:
  • worklets/PaintWorkletGlobalScope.idl:
  • xml/DOMParser.idl:
  • xml/XMLHttpRequest.idl:
8:35 AM Changeset in webkit [289116] by Chris Dumez
  • 48 edits
    32 copies
    11 moves
    46 adds
    22 deletes in trunk

Fix WPT test importer and resync web-platform-tests/workers from upstream
https://bugs.webkit.org/show_bug.cgi?id=236101

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Resync web-platform-tests/workers from upstream a9f3552a2b771569201879ef1.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/workers: Updated.

Tools:

Fix WPT test importer because:

  1. It wasn't creating tests with sharedworker.html suffix for .js tests with:
    • META: global=sharedworker
    • META: global=worker
  2. It was wrongly creating tests with a serviceworker.html suffix for .js tests with:
    • META: global=dedicatedworker
    • META without a global (upstream WPT only generates a .html and .worker.html in such case)
  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.init):
(TestImporter.readEnvironmentsForTemplateTest):

LayoutTests:

8:20 AM Changeset in webkit [289115] by Chris Dumez
  • 2 edits
    3 deletes in trunk/LayoutTests

Unreviewed, drop badly imported test due to WPT importer bug getting fixed in Bug 236101.

LayoutTests/imported/w3c:

  • web-platform-tests/css/filter-effects/idlharness.any.serviceworker-expected.txt: Removed.
  • web-platform-tests/css/filter-effects/idlharness.any.serviceworker.html: Removed.

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/css/filter-effects/idlharness.any.serviceworker-expected.txt: Removed.
8:06 AM Changeset in webkit [289114] by Ben Nham
  • 2 edits
    7 adds in trunk/Source/WebKit

Import APSConnection-related SPI
https://bugs.webkit.org/show_bug.cgi?id=235856

Reviewed Youenn Fablet.

This imports the SPI declarations necessary to build against ApplePushService in WebKit. It
also includes a PushServiceConnection interface that can sit in front of APSConnection, and
a fake interface that will be fleshed out for testing purposes.

  • Platform/spi/Cocoa/ApplePushServiceSPI.h: Added.
  • WebKit.xcodeproj/project.pbxproj:
  • webpushd/ApplePushServiceConnection.h: Added.
  • webpushd/ApplePushServiceConnection.mm: Added.

(-[_WKAPSConnectionDelegate initWithConnection:]):
(-[_WKAPSConnectionDelegate connection:didReceivePublicToken:]):
(-[_WKAPSConnectionDelegate connection:didReceiveIncomingMessage:]):
(WebPushD::ApplePushServiceConnection::ApplePushServiceConnection):
(WebPushD::makeTokenInfo):
(WebPushD::ApplePushServiceConnection::subscribe):
(WebPushD::ApplePushServiceConnection::unsubscribe):
(WebPushD::ApplePushServiceConnection::enabledTopics):
(WebPushD::ApplePushServiceConnection::ignoredTopics):
(WebPushD::ApplePushServiceConnection::opportunisticTopics):
(WebPushD::ApplePushServiceConnection::nonWakingTopics):
(WebPushD::ApplePushServiceConnection::setEnabledTopics):
(WebPushD::ApplePushServiceConnection::setIgnoredTopics):
(WebPushD::ApplePushServiceConnection::setOpportunisticTopics):
(WebPushD::ApplePushServiceConnection::setNonWakingTopics):
(WebPushD::ApplePushServiceConnection::setTopicLists):

  • webpushd/MockPushServiceConnection.h: Added.
  • webpushd/MockPushServiceConnection.mm: Added.

(WebPushD::MockPushServiceConnection::MockPushServiceConnection):
(WebPushD::MockPushServiceConnection::subscribe):
(WebPushD::MockPushServiceConnection::unsubscribe):
(WebPushD::MockPushServiceConnection::enabledTopics):
(WebPushD::MockPushServiceConnection::ignoredTopics):
(WebPushD::MockPushServiceConnection::opportunisticTopics):
(WebPushD::MockPushServiceConnection::nonWakingTopics):
(WebPushD::MockPushServiceConnection::setEnabledTopics):
(WebPushD::MockPushServiceConnection::setIgnoredTopics):
(WebPushD::MockPushServiceConnection::setOpportunisticTopics):
(WebPushD::MockPushServiceConnection::setNonWakingTopics):
(WebPushD::MockPushServiceConnection::setTopicLists):

  • webpushd/PushServiceConnection.h: Added.
  • webpushd/PushServiceConnection.mm: Added.

(WebPushD::PushServiceConnection::startListeningForPushMessages):
(WebPushD::PushServiceConnection::didReceivePushMessage):

8:05 AM Changeset in webkit [289113] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[iOS][macOS] Adjust sandbox access to system-fcntl
https://bugs.webkit.org/show_bug.cgi?id=236095
<rdar://problem/88448068>

Reviewed by Brent Fulgham.

Adjust sandbox access in the WebContent process to system-fcntl based on telemetry.
This patch is blocking access to some unused fcntl commands, as well as blocking
access to fcntl commands that are only used when AppCache is enabled. This is
achieved by using sandbox state variables.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
7:47 AM Changeset in webkit [289112] by commit-queue@webkit.org
  • 6 edits
    1 delete in trunk

Unreviewed, reverting r288996.
https://bugs.webkit.org/show_bug.cgi?id=236141

Causing debug asserts

Reverted changeset:

"No breakpoints hit on github.com, and some are invalid"
https://bugs.webkit.org/show_bug.cgi?id=235607
https://commits.webkit.org/r288996

6:56 AM Changeset in webkit [289111] by Jonathan Bedard
  • 3 edits in trunk/Tools

[EWS] Rename CompileJSCWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236104
<rdar://problem/88455463>

Reviewed by Aakash Jain.

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

(CompileWebKit.evaluateCommand):
(AnalyzeCompileWebKitResults.analyzeResults):
(CompileJSCWithoutChange): Renamed from CompileJSCWithoutPatch.
(CompileJSCWithoutPatch): Rename to CompileJSCWithoutChange.

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

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

6:50 AM Changeset in webkit [289110] by Jonathan Bedard
  • 3 edits in trunk/Tools

[EWS] Rename RunWebKitTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236107
<rdar://problem/88459194>

Reviewed by Aakash Jain.

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

(ReRunWebKitTests.evaluateCommand):
(RunWebKitTestsWithoutChange): Renamed from RunWebKitTestsWithoutPatch.
(RunWebKitTestsWithoutPatch): Renamed to RunWebKitTestsWithoutChange.
(RunWebKitTestsWithoutChangeRedTree): Renamed from RunWebKitTestsWithoutPatchRedTree.
(RunWebKitTestsWithoutPatchRedTree): Renamed to RunWebKitTestsWithoutChangeRedTree.

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

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

5:52 AM Changeset in webkit [289109] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[GTK][WPE] Use a Vector when defining the EGLImage attributes in the createImage
https://bugs.webkit.org/show_bug.cgi?id=236133

Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-04
Reviewed by Žan Doberšek.

No new tests, no change in behaviour

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::createImage const): Replace the parameter
of createImage with a Vector, and use map to transform in case we
have to use the extension function.

  • platform/graphics/egl/GLContextEGL.h: Ditto.
  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:

(WebCore::TextureMapperPlatformLayerBuffer::TextureMapperPlatformLayerBuffer):
Fix a warning caused by the order of the parameter initialization.

  • platform/graphics/texmap/TextureMapperPlatformLayerDmabuf.cpp:

(WebCore::TextureMapperPlatformLayerDmabuf::validateTexture):
Replace the C array with a Vector object.

3:58 AM Changeset in webkit [289108] by svillar@igalia.com
  • 6 edits in trunk

HTMLMediaElement should dispatch the resize event asynchronously
https://bugs.webkit.org/show_bug.cgi?id=230895

Reviewed by Darin Adler.

Source/WebCore:

The HTMLMediaElement is currently queueing a task to dispatch the resize event in the post layout phase.
There is no need to run it synchronously and we could move it to another queue were it will be run
asynchronously as it was done for other similar tasks in the past.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::layoutSizeChanged):

LayoutTests:

  • media/modern-media-controls/media-controller/media-controller-resize.html: Remove the event

listener to avoid an extra notification.

  • platform/mac/TestExpectations: Unskipped tests that pass now.
  • platform/wincairo/TestExpectations: Ditto.
12:14 AM Changeset in webkit [289107] by Pablo Saavedra
  • 2 edits in trunk/Source/WebCore

Fix for non-unified builds after r286821 (245056@main)
https://bugs.webkit.org/show_bug.cgi?id=236129

Unreviewed, fixes missing header.

  • workers/shared/SharedWorkerScriptLoader.h:
Note: See TracTimeline for information about the timeline view.