[webkit-changes] [WebKit/WebKit] 0de704: Cherry-pick 260873 at main (f9e2e16a6e8d). https://bu...

Philippe Normand noreply at github.com
Wed Mar 15 17:41:30 PDT 2023


  Branch: refs/heads/webkitglib/2.40
  Home:   https://github.com/WebKit/WebKit
  Commit: 0de7046ec0a2ba84c3c084f5f1e9323d7b38e744
      https://github.com/WebKit/WebKit/commit/0de7046ec0a2ba84c3c084f5f1e9323d7b38e744
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.h

  Log Message:
  -----------
  Cherry-pick 260873 at main (f9e2e16a6e8d). https://bugs.webkit.org/show_bug.cgi?id=252815

    [GStreamer][MediaStream] Unify stream collection handling with MSE
    https://bugs.webkit.org/show_bug.cgi?id=252815

    Reviewed by Xabier Rodriguez-Calvar.

    Both the MSE and mediastream source elements now post their stream collection in a similar fashion.
    The custom mediastream tags handling was removed too, I don't know why that was needed in the first
    place.

    * LayoutTests/platform/glib/TestExpectations:
    * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
    (WebCore::MediaPlayerPrivateGStreamer::handleStreamCollectionMessage):
    (WebCore::MediaPlayerPrivateGStreamer::naturalSize const):
    (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
    (mediaStreamTrackPrivateGetTags):
    (webkitMediaStreamNew):
    (WebKitMediaStreamObserver::didRemoveTrack):
    (webkitMediaStreamSrcChangeState):
    (webkitMediaStreamSrcChain):
    (webkitMediaStreamSrcPostStreamCollection):
    (webkitMediaStreamSrcEnsureStreamCollectionPosted):
    (webkitMediaStreamSrcAddTrack):
    (webkitMediaStreamSrcSetStream):
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.h:

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


  Commit: 9b43988c15a6962e8f5323f1f577f2b71b39180f
      https://github.com/WebKit/WebKit/commit/9b43988c15a6962e8f5323f1f577f2b71b39180f
  Author: Alicia Boya Garcia <aboya at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M Source/WebCore/Modules/mediasource/SourceBuffer.cpp
    M Source/WebCore/Modules/mediasource/SourceBuffer.h

  Log Message:
  -----------
  Cherry-pick 260876 at main (2c65a39b4fd6). https://bugs.webkit.org/show_bug.cgi?id=252894

    [MSE] Make input argument to canPlayThroughRange() const
    https://bugs.webkit.org/show_bug.cgi?id=252894
    Reviewed by Xabier Rodriguez-Calvar.

    Arguments passed by reference without const are generally
    assumed to be output arguments. This is not the case here.

    This patch fixes it.

    * Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
    (WebCore::SourceBuffer::canPlayThroughRange):
    * Source/WebCore/Modules/mediasource/SourceBuffer.h:

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


  Commit: 269b070b51448d51f388b14ff340c806d22ccbf6
      https://github.com/WebKit/WebKit/commit/269b070b51448d51f388b14ff340c806d22ccbf6
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M Source/JavaScriptCore/b3/air/AirArg.h
    M Source/JavaScriptCore/wasm/WasmOpcodeOrigin.h
    M Source/WTF/wtf/PlatformCPU.h
    M Source/bmalloc/bmalloc/BPlatform.h
    M Source/cmake/OptionsCommon.cmake

  Log Message:
  -----------
  Cherry-pick 260921 at main (7dd18bda3626). https://bugs.webkit.org/show_bug.cgi?id=234034

    [JSC][32bit] Fix JIT being disabled when compiling JSC on linux with clang
    https://bugs.webkit.org/show_bug.cgi?id=234034

    Reviewed by Justin Michaud.

    JIT was always disabled when building JSC with clang on linux 32 bits
    because CMake checked if the compiler defined __thumb2__ and while
    gcc does define it by default, clang doesn't.

    This patch adds extra compilation flags when compiling JSC with clang
    for arm (except on Darwin), so the expected __thumb2__ define is defined
    and JIT is enabled.

    Also some minor changes:
    (1) this patch also adds __ARM_ARCH_8__ and __ARM_ARCH_8A__
    to the list that sets BTHUMB_ARCH_VERSION and WTF_THUMB_ARCH_VERSION to
    4. These two seem to be used mostly for sanity check.
    (2) a small fix in AirArg where clang complains about a missing
    typename. gcc seems to accept either.

    * Source/JavaScriptCore/b3/air/AirArg.h:
    (JSC::B3::Air::Arg::isValidAddrForm):
    * Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
    (JSC::Wasm::parseAndCompileAirImpl):
    * Source/WTF/wtf/PlatformCPU.h:
    * Source/bmalloc/bmalloc/BPlatform.h:
    * Source/cmake/OptionsCommon.cmake:

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


  Commit: 4276182c5837e26f38465fe474e031b239060bfb
      https://github.com/WebKit/WebKit/commit/4276182c5837e26f38465fe474e031b239060bfb
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp

  Log Message:
  -----------
  Cherry-pick 260930 at main (b8d0c8eb86b0). https://bugs.webkit.org/show_bug.cgi?id=252980

    [GStreamer][WebRTC] Support for the new add-ice-candidate-full webrtcbin signal
    https://bugs.webkit.org/show_bug.cgi?id=252980

    Reviewed by Xabier Rodriguez-Calvar.

    By using this new signal we can avoid duplicate parsing of the ICE candidate string and potential
    racy behaviors when reporting errors back to the PeerConnectionBackend.

    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
    (WebCore::GStreamerMediaEndpoint::addIceCandidate):
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp:
    (WebCore::parseIceCandidateSDP):

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


  Commit: 8b4721f1303ca421941267c2ff075e6ed1f224e2
      https://github.com/WebKit/WebKit/commit/8b4721f1303ca421941267c2ff075e6ed1f224e2
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    A LayoutTests/fast/screen-orientation/natural-orientation-expected.txt
    A LayoutTests/fast/screen-orientation/natural-orientation.html
    M LayoutTests/imported/w3c/web-platform-tests/screen-orientation/orientation-reading-expected.txt
    A LayoutTests/platform/ios/fast/screen-orientation/natural-orientation-expected.txt
    M Source/WebCore/page/ScreenOrientation.cpp
    M Source/WebCore/page/ScreenOrientationType.h
    M Source/WebCore/platform/ScreenOrientationProvider.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebScreenOrientationManager.cpp

  Log Message:
  -----------
  Cherry-pick 260944 at main (541ca5a79560). https://bugs.webkit.org/show_bug.cgi?id=253026

    Regression(255659 at main) Unable to log into twitch.tv
    https://bugs.webkit.org/show_bug.cgi?id=253026
    rdar://105891522

    Reviewed by Wenson Hsieh and Darin Adler.

    The Twitch.tv login was failing because `screen.orientation` was returning
    "portrait-primary" on macOS. The natural/default orientation on desktop should
    be "landscape-primary" so this was confusing Twitch.

    Also update our `screen.angle` logic to take into account the natural
    orientation based on:
    - https://w3c.github.io/screen-orientation/#dfn-screen-orientation-values-table

    I have verified that Chrome on macOS returns "landscape-primary" for the type
    and 0 for the angle. Our behavior is now aligned.

    * LayoutTests/fast/screen-orientation/natural-orientation-expected.txt: Added.
    * LayoutTests/fast/screen-orientation/natural-orientation.html: Added.
    * LayoutTests/platform/ios/screen-orientation/natural-orientation-expected.txt: Added.
    * Source/WebCore/page/ScreenOrientation.cpp:
    (WebCore::ScreenOrientation::lock):
    * Source/WebCore/page/ScreenOrientationType.h:
    (WebCore::naturalScreenOrientationType):
    * Source/WebCore/platform/ScreenOrientationProvider.cpp:
    (WebCore::ScreenOrientationProvider::currentOrientation):
    * Source/WebKit/WebProcess/WebCoreSupport/WebScreenOrientationManager.cpp:
    (WebKit::WebScreenOrientationManager::currentOrientation):

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


  Commit: 11895f1369ecb6a684a43f375def25bcfa9375e3
      https://github.com/WebKit/WebKit/commit/11895f1369ecb6a684a43f375def25bcfa9375e3
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element.html
    M Source/WebCore/dom/FullscreenManager.cpp

  Log Message:
  -----------
  Cherry-pick 260985 at main (d8b353380562). https://bugs.webkit.org/show_bug.cgi?id=253121

    REGRESSION(257542 at main): Video is misaligned on YouTube site's PiP player after transitioning from full screen
    https://bugs.webkit.org/show_bug.cgi?id=253121
    rdar://105713729

    Reviewed by Ryosuke Niwa.

    There is a bug with the fullscreen spec that leaves a dangling fullscreen flag when moving elements: https://github.com/whatwg/fullscreen/issues/217
    This causes fullscreen styles to unintentionally apply on the YouTube site even though the player element which has moved in the DOM tree, has exited
    fullscreen.

    To fix this, we follow Chromium's pattern of running an extra "unfullscreen element" step in the synchronous exit fullscreen steps when the element to
    be exited is disconnected.

    * LayoutTests/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element.html: Added.
    * Source/WebCore/dom/FullscreenManager.cpp:
    (WebCore::FullscreenManager::exitFullscreen):

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


  Commit: caf42ac47bf4f84e554a25f5a64de6f7ce6add09
      https://github.com/WebKit/WebKit/commit/caf42ac47bf4f84e554a25f5a64de6f7ce6add09
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp

  Log Message:
  -----------
  Cherry-pick 260996 at main (d6668df3100e). https://bugs.webkit.org/show_bug.cgi?id=251146

    [GStreamer][1.22] webrtc/receiver-track-should-stay-live-even-if-receiver-is-inactive.html crashing
    https://bugs.webkit.org/show_bug.cgi?id=251146

    Reviewed by Xabier Rodriguez-Calvar.

    The crash was due to webrtcbin detecting an invalid SDP message, containing 2 RTP direction
    attributes instead of one. So we now remove attributes unrelated with codec preferences, potentially
    leading to internal webrtcbin confusions such as duplicated RTP direction attributes for instance.

    * LayoutTests/platform/glib/TestExpectations:
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp:
    (WebCore::GStreamerRtpTransceiverBackend::setDirection):
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp:
    (WebCore::capsFromSDPMedia):

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


Compare: https://github.com/WebKit/WebKit/compare/2e05d94353bd...caf42ac47bf4


More information about the webkit-changes mailing list