Branch: refs/heads/webkitglib/2.38
Home: https://github.com/WebKit/WebKit
Commit: 8d081746e28affd55e4c57930b754c2c7227099e
https://github.com/WebKit/WebKit/commit/8d081746e28affd55e4c57930b754c2c7227099e
Author: Ahmad Saleem <[email protected]>
Date: 2023-04-10 (Mon, 10 Apr 2023)
Changed paths:
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
Log Message:
-----------
Cherry-pick 260857@main (b5f2eee537a0).
https://bugs.webkit.org/show_bug.cgi?id=251676
RenderLayerScrollableArea::updateResizerStyle should early return if there
is no resizer
https://bugs.webkit.org/show_bug.cgi?id=251676
Reviewed by Simon Fraser.
Merge -
https://chromium.googlesource.com/chromium/blink/+/1add5ffe5081cf282014bc4cfe04b8637244c607
This is potential optimization by adding early return to
"updateResizeStyle" function in case if there is no resizer.
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(RenderLayerScrollableArea::updateResizerStyle): Add early return
Canonical link: https://commits.webkit.org/260857@main
Commit: 3af3d0e3e2a28f3137f69e1846e7511f4504776f
https://github.com/WebKit/WebKit/commit/3af3d0e3e2a28f3137f69e1846e7511f4504776f
Author: Jean-Yves Avenard <[email protected]>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
A
LayoutTests/media/media-source/media-source-appendbuffer-durationchange-expected.txt
A
LayoutTests/media/media-source/media-source-appendbuffer-durationchange.html
M Source/WebCore/Modules/mediasource/SourceBuffer.cpp
M Source/WebCore/Modules/mediasource/SourceBuffer.h
M Source/WebCore/platform/graphics/SourceBufferPrivate.cpp
M Source/WebCore/platform/graphics/SourceBufferPrivate.h
M Source/WebCore/platform/graphics/SourceBufferPrivateClient.h
M
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h
M
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
M Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp
M
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
M
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h
M Source/WebCore/platform/mock/mediasource/MockSourceBufferPrivate.cpp
M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp
M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h
M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp
M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h
M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in
Log Message:
-----------
Cherry-pick 261029@main (04a684748a69).
https://bugs.webkit.org/show_bug.cgi?id=252886
[MSE] Only fire durationchange after parsing media buffer.
https://bugs.webkit.org/show_bug.cgi?id=252886
rdar://105870526
Reviewed by Youenn Fablet and Jer Noble.
Per spec MSE spec and the Coded Frame Processing algorithm [1]
"5. if the media segment contains data beyond the current duration, then
run the duration change algorithm with new duration set to the maximum of
the current duration and the [[group end timestamp]]."
Which occurs once all frames of a media segment added to a source buffer
have been processed.
We were running step 5. after each frame parsed.
Only perform step 5. once we have parsed the entire buffer.
Note: Per spec, we should be firing a durationchange event after parsing
each individual media segment.
However, our data parsing infrastucture doesn't provide such level of
details
and we can only parse the entire buffer (potentially made of multiple media
segments)
at once, so we only fire a single durationchange in all cases.
However, this behaviour is preferable to firing hundreds of events
unnecessarily.
The handling of a `durationchange` must occur before the `updateend` is
fired, so we make the method sourceBufferPrivateDurationChanged asynchronous
and continue the process once the it completes.
[1] https://w3c.github.io/media-source/#sourcebuffer-coded-frame-processing
*
LayoutTests/media/media-source/media-source-appendbuffer-durationchange-expected.txt:
Added.
*
LayoutTests/media/media-source/media-source-appendbuffer-durationchange.html:
Added.
* Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDurationChanged):
* Source/WebCore/Modules/mediasource/SourceBuffer.h:
* Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::appendCompleted): Must be called once all
samples have been processed.
(WebCore::SourceBufferPrivate::didReceiveSample):
* Source/WebCore/platform/graphics/SourceBufferPrivate.h:
* Source/WebCore/platform/graphics/SourceBufferPrivateClient.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):
* Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::consumeAppsinksAvailableSamples):
*
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::durationChanged): Remove handling
of longer needed blockDurationChanges/unblockDurationChanges
(WebCore::MediaPlayerPrivateGStreamerMSE::blockDurationChanges): Deleted.
(WebCore::MediaPlayerPrivateGStreamerMSE::unblockDurationChanges): Deleted.
*
Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
* Source/WebCore/platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockSourceBufferPrivate::append): Call appendCompleted.
* Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDurationChanged):
* Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::sourceBufferPrivateDurationChanged):
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h:
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in:
Canonical link: https://commits.webkit.org/261029@main
Commit: a16681caf0c030d47adbbf1882bddac7bea9bd43
https://github.com/WebKit/WebKit/commit/a16681caf0c030d47adbbf1882bddac7bea9bd43
Author: Mark Lam <[email protected]>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M Source/JavaScriptCore/heap/Heap.cpp
M Source/JavaScriptCore/heap/Heap.h
M Source/JavaScriptCore/heap/HeapInlines.h
M Source/JavaScriptCore/runtime/ArgList.cpp
M Source/JavaScriptCore/runtime/ArgList.h
M Source/WebCore/Modules/webaudio/AudioWorkletProcessor.cpp
M Source/WebCore/Modules/webaudio/AudioWorkletProcessor.h
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
Log Message:
-----------
Cherry-pick [email protected] (1039f0c3235f).
https://bugs.webkit.org/show_bug.cgi?id=254797
Cherry-pick 2c49ff7b0481. rdar://problem/107369977
CloneDeserializer::deserialize() should store cell pointers in a
MarkedVector.
https://bugs.webkit.org/show_bug.cgi?id=254797
rdar://107369977
Reviewed by Justin Michaud.
Previously, CloneDeserializer::deserialize() was storing pointers to
newly created objects
in a few Vectors. This is problematic because the GC is not aware of
Vectors, and cannot
scan them. In this patch, we refactor the MarkedArgumentBuffer class
into a MarkedVector
template class that offer 2 enhancements:
1. It can be configured to store specific types of cell pointer types.
This avoids us
having to constantly cast JSValues into these pointers.
2. It allows us to specify the type of OverflowHandler we want to use.
In this case,
we want to use CrashOnOverflow. The previous MarkedArgumentBuffer
always assumes
RecordOnOverflow. This allows us to avoid having to manually check
for overflows,
or have to use appendWithCrashOnOverflow. For our current needs,
MarkedVector can be
used as a drop in replacement for Vector.
And we fix the CloneDeserializer::deserialize() issue by replacing the
use of Vectors
with MarkedVector instead.
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::addCoreConstraints):
* Source/JavaScriptCore/heap/Heap.h:
* Source/JavaScriptCore/heap/HeapInlines.h:
* Source/JavaScriptCore/runtime/ArgList.cpp:
(JSC::MarkedVectorBase::addMarkSet):
(JSC::MarkedVectorBase::markLists):
(JSC::MarkedVectorBase::slowEnsureCapacity):
(JSC::MarkedVectorBase::expandCapacity):
(JSC::MarkedVectorBase::slowAppend):
(JSC::MarkedArgumentBufferBase::addMarkSet): Deleted.
(JSC::MarkedArgumentBufferBase::markLists): Deleted.
(JSC::MarkedArgumentBufferBase::slowEnsureCapacity): Deleted.
(JSC::MarkedArgumentBufferBase::expandCapacity): Deleted.
(JSC::MarkedArgumentBufferBase::slowAppend): Deleted.
* Source/JavaScriptCore/runtime/ArgList.h:
(JSC::MarkedVectorWithSize::MarkedVectorWithSize):
(JSC::MarkedVectorWithSize::at const):
(JSC::MarkedVectorWithSize::clear):
(JSC::MarkedVectorWithSize::append):
(JSC::MarkedVectorWithSize::appendWithCrashOnOverflow):
(JSC::MarkedVectorWithSize::last const):
(JSC::MarkedVectorWithSize::takeLast):
(JSC::MarkedVectorWithSize::ensureCapacity):
(JSC::MarkedVectorWithSize::hasOverflowed):
(JSC::MarkedVectorWithSize::fill):
(JSC::MarkedArgumentBufferWithSize::MarkedArgumentBufferWithSize):
Deleted.
* Source/WebCore/Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::AudioWorkletProcessor::buildJSArguments):
* Source/WebCore/Modules/webaudio/AudioWorkletProcessor.h:
* Source/WebCore/bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserialize):
Canonical link: https://commits.webkit.org/259548.530@safari-7615-branch
Identifier: [email protected]
Commit: d418e6f5caaf0ef6911e68877e4d9cdfe939486f
https://github.com/WebKit/WebKit/commit/d418e6f5caaf0ef6911e68877e4d9cdfe939486f
Author: Adrian Perez de Castro <[email protected]>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M Source/WebCore/html/ImageData.cpp
Log Message:
-----------
Unreviewed non-unified build fix.
* Source/WebCore/html/ImageData.cpp: Add missing
JavaScriptCore/GenericTypedArrayViewInlines.h header inclusion.
Commit: d0d840bffefbad9260a7351316b9b4b352e9bd8c
https://github.com/WebKit/WebKit/commit/d0d840bffefbad9260a7351316b9b4b352e9bd8c
Author: Maxim Cournoyer <[email protected]>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M Source/cmake/FindJournald.cmake
Log Message:
-----------
Cherry-pick 262163@main (f2566d6ee880).
https://bugs.webkit.org/show_bug.cgi?id=254475
Fallback to elogind when systemd is unavailable at build time
https://bugs.webkit.org/show_bug.cgi?id=254475
Reviewed by Michael Catanzaro.
The build system supports elogind, but it only considers the
'libsystemd' library name for the pkg-config lookup and not
'libelogind'. This change makes the build system fallback to search
for libelogind when libsystemd was not found.
* Source/cmake/FindJournald.cmake [!PC_SYSTEMD_FOUND]: Search for
libelogind.
Canonical link: https://commits.webkit.org/262163@main
Commit: 1133b3d3a727591cd2614ef7029b0170b88f5ad6
https://github.com/WebKit/WebKit/commit/1133b3d3a727591cd2614ef7029b0170b88f5ad6
Author: Xabier Rodriguez-Calvar <[email protected]>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M Source/WebCore/testing/MockCDMFactory.cpp
Log Message:
-----------
Cherry-pick 262819@main (cc44de0d9d44).
https://bugs.webkit.org/show_bug.cgi?id=251550
[EME] media/encrypted-media/mock-MediaKeySession-generateRequest.html is a
flaky crash
https://bugs.webkit.org/show_bug.cgi?id=251550
Reviewed by Jer Noble.
We need to bail out with empty IDs.
* Source/WebCore/testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::hasSessionWithID):
(WebCore::MockCDMFactory::removeSessionWithID):
Canonical link: https://commits.webkit.org/262819@main
Compare: https://github.com/WebKit/WebKit/compare/d77f824d9e1f...1133b3d3a727
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes