[webkit-changes] [WebKit/WebKit] 03fd0f: Cherry-pick 257555 at main (e4eb5ae5478a). https://bu...

Lauro Moura noreply at github.com
Wed Jan 25 06:32:41 PST 2023


  Branch: refs/heads/webkitglib/2.38
  Home:   https://github.com/WebKit/WebKit
  Commit: 03fd0fbeebe556cddef3e3a38822a24d05c3e2d5
      https://github.com/WebKit/WebKit/commit/03fd0fbeebe556cddef3e3a38822a24d05c3e2d5
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp

  Log Message:
  -----------
  Cherry-pick 257555 at main (e4eb5ae5478a). https://bugs.webkit.org/show_bug.cgi?id=248739

    [GStreamer] Don't perform position queries on video sink when the player is for audio only
    https://bugs.webkit.org/show_bug.cgi?id=248739

    Reviewed by Xabier Rodriguez-Calvar.

    When the player is for an `<audio>` element the underlying video sink is a fake sink, so position
    queries on that one will be useless.

    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::gstreamerPositionFromSinks const):

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


  Commit: 054bc8d95d2ca1bc29f282f014da6de57ccbe2ce
      https://github.com/WebKit/WebKit/commit/054bc8d95d2ca1bc29f282f014da6de57ccbe2ce
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    A LayoutTests/fast/frames/frame-depth-limit-expected.txt
    A LayoutTests/fast/frames/frame-depth-limit.html
    A LayoutTests/fast/frames/resources/self-referential-iframe.html
    M Source/WebCore/loader/SubframeLoader.cpp
    M Source/WebCore/page/FrameTree.cpp
    M Source/WebCore/page/FrameTree.h
    M Source/WebCore/page/Page.h

  Log Message:
  -----------
  Cherry-pick 257550 at main (65071a674a05). https://bugs.webkit.org/show_bug.cgi?id=67940

    Add iframe depth limit
    https://bugs.webkit.org/show_bug.cgi?id=67940
    rdar://101560112

    Reviewed by Darin Adler and Alex Christensen.

    * LayoutTests/fast/frames/frame-depth-limit-expected.txt: Added.
    * LayoutTests/fast/frames/frame-depth-limit.html: Added.
    * LayoutTests/fast/frames/resources/self-referential-iframe.html: Added.
    * Source/WebCore/loader/SubframeLoader.cpp:
    (WebCore::FrameLoader::SubframeLoader::loadSubframe):
    * Source/WebCore/page/FrameTree.cpp:
    (WebCore::FrameTree::depth const):
    * Source/WebCore/page/FrameTree.h:
    * Source/WebCore/page/Page.h:

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


  Commit: 1a24f1146d791b8b48a899bda968b304d400260b
      https://github.com/WebKit/WebKit/commit/1a24f1146d791b8b48a899bda968b304d400260b
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp

  Log Message:
  -----------
  Cherry-pick 257614 at main (c4612e041741). https://bugs.webkit.org/show_bug.cgi?id=248950

    [GStreamer] Support for custom framerate in video encoder
    https://bugs.webkit.org/show_bug.cgi?id=248950

    Reviewed by Xabier Rodriguez-Calvar.

    Custom destination framerate can now be negotiated with output caps format. This is not a strict
    requirement for WebRTC but it will be useful for the upcoming WebCodecs GStreamer backend.

    * Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp:
    (webrtcVideoEncoderSetEncoder):

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


  Commit: 8ab81076f69e9c424227ed835b0063c838ce6822
      https://github.com/WebKit/WebKit/commit/8ab81076f69e9c424227ed835b0063c838ce6822
  Author: Carlos Alberto Lopez Perez <clopez at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/Modules/mediarecorder/MediaRecorderProvider.cpp

  Log Message:
  -----------
  Cherry-pick 257623 at main (62a1022e05c6). https://bugs.webkit.org/show_bug.cgi?id=248996

    [WPE] Non-unified build fix at MediaRecorderProvider
    https://bugs.webkit.org/show_bug.cgi?id=248996

    Reviewed by Xabier Rodriguez-Calvar.

    Add missing include to avoid incomplete type build error.

    * Source/WebCore/Modules/mediarecorder/MediaRecorderProvider.cpp:

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


  Commit: 281d15d37effcdd060b14b92fffe361b7b89505f
      https://github.com/WebKit/WebKit/commit/281d15d37effcdd060b14b92fffe361b7b89505f
  Author: David Kilzer <ddkilzer at apple.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp

  Log Message:
  -----------
  Cherry-pick 257685 at main (c8239ff245f1). https://bugs.webkit.org/show_bug.cgi?id=249057

    Fix use-after-move in WebCore::RealtimeMediaSource::supportsSizeAndFrameRate()
    https://bugs.webkit.org/show_bug.cgi?id=249057
    <rdar://103201164>

    Reviewed by Wenson Hsieh.

    WTFMove() was being called on `width` and `height` variables
    twice in a certain code path, resulting in a use-after-move.
    Fix the bug by removing the penultimate WTFMove() calls.

    * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:
    (WebCore::RealtimeMediaSource::supportsSizeAndFrameRate):

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


  Commit: d8884ca4998c87188d4a62a2edb65c9855f040a4
      https://github.com/WebKit/WebKit/commit/d8884ca4998c87188d4a62a2edb65c9855f040a4
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp

  Log Message:
  -----------
  Cherry-pick 257719 at main (a4ddc34d0b3f). https://bugs.webkit.org/show_bug.cgi?id=249093

    [GStreamer][WebRTC] Report video encoder bitrate in outgoing RTP stats
    https://bugs.webkit.org/show_bug.cgi?id=249093

    Reviewed by Xabier Rodriguez-Calvar.

    The bitrate in kbps is queried on the encoder and passed to the stats as a bps value.

    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:
    (WebCore::fillOutboundRTPStreamStats):
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::updateStats):

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


  Commit: e36650f218cc4bb4ab407d871a6dae3c79637e24
      https://github.com/WebKit/WebKit/commit/e36650f218cc4bb4ab407d871a6dae3c79637e24
  Author: Žan Doberšek <zdobersek at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/css/CSSCustomPropertyValue.h

  Log Message:
  -----------
  Cherry-pick 257727 at main (1cca7e6637ff). https://bugs.webkit.org/show_bug.cgi?id=249136

    Unreviewed clang/libstdc++ build fix in CSSCustomPropertyValue
    https://bugs.webkit.org/show_bug.cgi?id=249136

    Unreviewed build fix for the Clang and libstdc++ combination.

    257701 at main added the RefPtr<StyleImage> type to the CSSCustomPropertyValue's
    SyntaxValue variant which ended tripping up construction of the VariantValue
    variant with either CSSVariableReferenceValue or CSSVariableData Refs. This
    seems to be specific to the libstdc++ std::variant<> implementation when used
    alongside Clang. Workaround is to avoid the simplest conversion constructor of
    the variant and instead use std::in_place_type<T> to explictly state the
    intended type that's to be constructed and contained in the variant object.

    * Source/WebCore/css/CSSCustomPropertyValue.h:

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


  Commit: 83dbb630982aabbcc5267efef2a1890f24790b52
      https://github.com/WebKit/WebKit/commit/83dbb630982aabbcc5267efef2a1890f24790b52
  Author: David Kilzer <ddkilzer at apple.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/workers/WorkerScriptLoader.cpp

  Log Message:
  -----------
  Cherry-pick 257748 at main (3a91df74661a). https://bugs.webkit.org/show_bug.cgi?id=249062

    Fix use-after-move in WebCore::WorkerScriptLoader::loadAsynchronously()
    https://bugs.webkit.org/show_bug.cgi?id=249062
    <rdar://problem/103203412>

    Reviewed by Youenn Fablet.

    Fix the use-after-move by using `m_url` instead of
    `scriptRequest.url()` after `request` was created using
    `WTFMove(scriptRequest)`.

    * Source/WebCore/workers/WorkerScriptLoader.cpp:
    (WebCore::WorkerScriptLoader::loadAsynchronously):

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


  Commit: e3c0ccc7cae1f7fe17414201f6c584edea49f7c3
      https://github.com/WebKit/WebKit/commit/e3c0ccc7cae1f7fe17414201f6c584edea49f7c3
  Author: Žan Doberšek <zdobersek at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebKit/Platform/IPC/ArgumentCoders.h

  Log Message:
  -----------
  Cherry-pick 257725 at main (0c0b2027ab6b). https://bugs.webkit.org/show_bug.cgi?id=249077

    [WK2] Decoding in ArgumentCoder<Vector<T>> should reserve initial capacity, avoid shrink-to-fit
    https://bugs.webkit.org/show_bug.cgi?id=249077

    Reviewed by Kimmo Kinnunen.

    When decoding a Vector of non-trivial elements, use the decoded size to
    reserve initial capacity and then perform unchecked appends of each
    decoded element. This replaces the incremental grow-as-you-go appending
    and the final shrink-to-fit operation which possibly ends up moving over
    all the elements into the newly-allocated smaller buffer.

    The decoding-moves-counter test is updated, with the only remaining and
    unavoidable move of each element contained in the Vector happening when
    that element is moved into the resulting Vector.

    * Source/WebKit/Platform/IPC/ArgumentCoders.h:
    * Tools/TestWebKitAPI/Tests/IPC/ArgumentCoderTests.cpp:
    (TestWebKitAPI::TEST_F):

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


  Commit: 936e5b78a26f81d9c823c9d79b720548fc6fc74b
      https://github.com/WebKit/WebKit/commit/936e5b78a26f81d9c823c9d79b720548fc6fc74b
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp
    M Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
    M Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
    M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h

  Log Message:
  -----------
  Cherry-pick 257788 at main (57191c0bb3ee). https://bugs.webkit.org/show_bug.cgi?id=248813

    [GStreamer] Handle latency messages
    https://bugs.webkit.org/show_bug.cgi?id=248813

    Reviewed by Xabier Rodriguez-Calvar.

    When a latency message is received on the bus the application should recalculate and distribute a
    new latency. Also included in this patch is a drive-by improvement in state-change message handling
    in the audio file reader, where we process only the notification from the top-level pipeline.

    * Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
    (WebCore::AudioDestinationGStreamer::handleMessage):
    * Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
    (WebCore::AudioFileReader::handleMessage):
    * Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
    (WebCore::AudioSourceProviderGStreamer::AudioSourceProviderGStreamer):
    * Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
    (WebCore::connectSimpleBusMessageCallback):
    * Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
    (WebCore::ImageDecoderGStreamer::InnerDecoder::handleMessage):

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


  Commit: 2bfbd7a54d5cd3f87c138996b6d40286acb10627
      https://github.com/WebKit/WebKit/commit/2bfbd7a54d5cd3f87c138996b6d40286acb10627
  Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    A LayoutTests/editing/execCommand/insert-ordered-list-crash2-expected.txt
    A LayoutTests/editing/execCommand/insert-ordered-list-crash2.html
    M Source/WebCore/editing/InsertListCommand.cpp

  Log Message:
  -----------
  Cherry-pick 257811 at main (5da6fc9173aa). https://bugs.webkit.org/show_bug.cgi?id=249039

    Potential Crash fix by making InsertListCommand check endingSelection() editabilitybuild fix

    Potential Crash fix by making InsertListCommand check endingSelection() editability
    https://bugs.webkit.org/show_bug.cgi?id=249039

    Reviewed by Ryosuke Niwa.

    Merge - https://src.chromium.org/viewvc/blink?revision=200709&view=revision

    This patch is to add early return condition to endOfSelection whether it has
    rootEditableElement since L177 does not take assumption about this via endingSelection() in endOfSelection.

    * Source/WebCore/editing/InsertListCommand.cpp:
    (InsertListCommand::doApply): Add early return about "rootEditableElement"
    * LayoutTests/editing/execCommand/insert-ordered-list-crash2.html: Add Test Case
    * LayoutTests/editing/execCommand/insert-ordered-list-crash2-expected.txt: Add Test Case Expectation

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


  Commit: 46cbc2ce2881340687b5e48c336e3ee67cf444ce
      https://github.com/WebKit/WebKit/commit/46cbc2ce2881340687b5e48c336e3ee67cf444ce
  Author: David Kilzer <ddkilzer at apple.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/xml/XSLTUnicodeSort.cpp

  Log Message:
  -----------
  Cherry-pick 257866 at main (d62c575193bd). https://bugs.webkit.org/show_bug.cgi?id=249321

    REGRESSION (256459 at main): data-type="number" is broken in libxslt
    https://bugs.webkit.org/show_bug.cgi?id=249321
    <rdar://103360797>

    Unreviewed revert of 256459 at main.

    * Source/WebCore/xml/XSLTUnicodeSort.cpp:
    (WebCore::xsltUnicodeSortFunction):

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


  Commit: efb86b63ce6411ada28d846a2bc3aac166c59e66
      https://github.com/WebKit/WebKit/commit/efb86b63ce6411ada28d846a2bc3aac166c59e66
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp

  Log Message:
  -----------
  Cherry-pick 257936 at main (1df6d7576531). https://bugs.webkit.org/show_bug.cgi?id=249074

    [GStreamer][WebRTC] Google Congestion Control support
    https://bugs.webkit.org/show_bug.cgi?id=249074

    Reviewed by Xabier Rodriguez-Calvar.

    Adapt the video encoder bitrate based on the estimated bitrate reported by the GCC bandwidth
    estimator.

    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
    (WebCore::GStreamerMediaEndpoint::initializePipeline):
    (WebCore::GStreamerMediaEndpoint::requestAuxiliarySender):
    (WebCore::GStreamerMediaEndpoint::onEstimatedBitrateChange):
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp:
    (setBitrateKbitPerSec):
    (setBitrateBitPerSec):
    (webrtcVideoEncoderConstructed):
    * Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
    (WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):

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


  Commit: df6b7b81e3eda83af94cf9773e37ee04fcb536b5
      https://github.com/WebKit/WebKit/commit/df6b7b81e3eda83af94cf9773e37ee04fcb536b5
  Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp

  Log Message:
  -----------
  Cherry-pick 257983 at main (d8823f0e52f5). https://bugs.webkit.org/show_bug.cgi?id=249466

    [GStreamer] Avoid crashes on caps generated from user input
    https://bugs.webkit.org/show_bug.cgi?id=249466

    Reviewed by Philippe Normand.

    When checking if certain mime is supported, we create the caps from it and if caps creation fails because input is
    bogus, we can get a controlled crash later. With this patch, if we can't create the caps, we bail out more gracefully.

    * Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
    (WebCore::GStreamerRegistryScanner::ElementFactories::hasElementForMediaType const):

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


  Commit: 2afbc57f9b0818acd949909ee018bada91165d19
      https://github.com/WebKit/WebKit/commit/2afbc57f9b0818acd949909ee018bada91165d19
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebCore/loader/DocumentLoader.cpp

  Log Message:
  -----------
  Cherry-pick 257986 at main (371162099eb7). https://bugs.webkit.org/show_bug.cgi?id=249389

    Make sure DocumentLoader::interruptedForPolicyChangeError returns a cancellation error in all code paths
    https://bugs.webkit.org/show_bug.cgi?id=249389
    rdar://103398404

    Reviewed by Alex Christensen.

    * Source/WebCore/loader/DocumentLoader.cpp:
    (WebCore::DocumentLoader::interruptedForPolicyChangeError const):

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


  Commit: 65ae701fd3099a953bf932f02b0972710fb2df6b
      https://github.com/WebKit/WebKit/commit/65ae701fd3099a953bf932f02b0972710fb2df6b
  Author: Lauro Moura <lmoura at igalia.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp

  Log Message:
  -----------
  Cherry-pick 257988 at main (7301504e0c22). https://bugs.webkit.org/show_bug.cgi?id=249452

    REGRESSION(257681 at main) [WebDriver] Invalid WebPageProxy references after RefPtr moved into callbacks
    https://bugs.webkit.org/show_bug.cgi?id=249452

    Reviewed by Žan Doberšek.

    Make sure the WebPageProxy are valid through the
    exitFullscreenWindowForPage call.

    * Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
    (WebKit::WebAutomationSession::setWindowFrameOfBrowsingContext):
    (WebKit::WebAutomationSession::maximizeWindowOfBrowsingContext):
    (WebKit::WebAutomationSession::hideWindowOfBrowsingContext):

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


Compare: https://github.com/WebKit/WebKit/compare/bb02c5c926cd...65ae701fd309


More information about the webkit-changes mailing list