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

Reply via email to