Branch: refs/heads/webkitglib/2.38
  Home:   https://github.com/WebKit/WebKit
  Commit: f387c2f168e6902617dd1de91f2d4bc75ac4ccb6
      
https://github.com/WebKit/WebKit/commit/f387c2f168e6902617dd1de91f2d4bc75ac4ccb6
  Author: Charlie Wolfe <charl...@apple.com>
  Date:   2023-03-05 (Sun, 05 Mar 2023)

  Changed paths:
    A 
LayoutTests/http/tests/navigation/cross-origin-iframe-location-hash-reexecute-onload-expected.txt
    A 
LayoutTests/http/tests/navigation/cross-origin-iframe-location-hash-reexecute-onload.html
    A 
LayoutTests/http/tests/navigation/resources/change-location-hash-onload.html
    M Source/WebCore/loader/FrameLoader.cpp

  Log Message:
  -----------
  Cherry-pick 260860@main (e9dd88dee673). 
https://bugs.webkit.org/show_bug.cgi?id=252931

    window.onload is repeatedly re-executed when changing URL fragment during 
onload
    https://bugs.webkit.org/show_bug.cgi?id=252931
    rdar://105158419

    Reviewed by Chris Dumez.

    When a cross-origin iframe changes its fragment identifier while its load 
event is being processed,
    we end up in a state where we will continually re-fire window.onload. We 
should fix this by only
    firing the load event on the frame's owner element. This still addresses 
the concern the original
    change fixed (259384@main), but without needing to always re-fire the 
window load event.

    * 
LayoutTests/http/tests/navigation/cross-origin-iframe-location-hash-reexecute-onload-expected.txt:
 Added.
    * 
LayoutTests/http/tests/navigation/cross-origin-iframe-location-hash-reexecute-onload.html:
 Added.
    * 
LayoutTests/http/tests/navigation/resources/change-location-hash-onload.html: 
Added.
    * Source/WebCore/loader/FrameLoader.cpp:
    (WebCore::FrameLoader::loadInSameDocument):

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


  Commit: b30ff7c04c38edddf1a838b6933c926a2c466cc3
      
https://github.com/WebKit/WebKit/commit/b30ff7c04c38edddf1a838b6933c926a2c466cc3
  Author: Žan Doberšek <zdober...@igalia.com>
  Date:   2023-03-05 (Sun, 05 Mar 2023)

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

  Log Message:
  -----------
  Cherry-pick 261072@main (5c473b4124bf). 
https://bugs.webkit.org/show_bug.cgi?id=253244

    [GStreamer] Establish locking when mapping gbm_bo objects for 
software-decoded data upload
    https://bugs.webkit.org/show_bug.cgi?id=253244

    Reviewed by Philippe Normand.

    When separate GStreamer pipelines are established for different video 
elements,
    mapping the gbm_bo objects in parallel across different threads can lead to
    crashes and GPU memory corruption.

    The different gbm_bo objects originate from a single gbm_device, which is 
fine.
    Spawning gbm_bo objects and retrieving different attributes from them isn't
    showing as problematic, but libgbm thread safety guarantees still need 
research.

    Mapping gbm_bo objects in parallel is proving as problematic, and the 
length of
    the upload of software-decoded data into the mapped memory regions takes 
long
    enough for these problems to inhibit stability. To avoid that, a global 
lock is
    provided on the gbm_bo-mapping Destination class inside the
    MediaPlayerPrivateGStreamer::pushDMABufToCompositor() method. This lock is
    activated whenever data for a given plane is moved over from the 
GStreamer-based
    software decoder into the gbm_bo object.

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

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


  Commit: f832b533ef178df4e2055f394118ca162a59170c
      
https://github.com/WebKit/WebKit/commit/f832b533ef178df4e2055f394118ca162a59170c
  Author: Žan Doberšek <zdober...@igalia.com>
  Date:   2023-03-05 (Sun, 05 Mar 2023)

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

  Log Message:
  -----------
  Cherry-pick 261077@main (9b1c8b87c0a4). 
https://bugs.webkit.org/show_bug.cgi?id=253245

    [GStreamer] Improve GBM swapchain buffer handling
    https://bugs.webkit.org/show_bug.cgi?id=253245

    Reviewed by Philippe Normand.

    In MediaPlayerPrivateGStreamer::pushDMABufToCompositor(), when allocating
    buffer objects from the GBMBufferSwapchain to upload the software-decoded
    video data, do a null check on the retrieved buffer. This avoids proceeding 
with
    a null object that would be returned when for whatever perverse reason the
    swapchain is drained of available buffers.

    One such reason is when allocating, retrieving and locking buffers from the
    swapchain under an inactive proxy. In that case, the buffer doesn't end up
    being pushed into the composition, and it's then also never released and 
made
    available for reuse, effectively draining the swapchain.

    This case is avoidable through earlier detection of an inactive proxy. The 
proxy
    lock and is-active check are unified between different codepaths and done 
before
    deciding which codepath is taken.

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

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


  Commit: 1dd62a29b52f009da1813fbe45dfbc9b879481c5
      
https://github.com/WebKit/WebKit/commit/1dd62a29b52f009da1813fbe45dfbc9b879481c5
  Author: Brian Weinstein <bweinst...@apple.com>
  Date:   2023-03-05 (Sun, 05 Mar 2023)

  Changed paths:
    M LayoutTests/http/tests/contentextensions/css-display-none.html
    M LayoutTests/http/tests/contentextensions/css-display-none.html.json
    M Source/WebCore/contentextensions/ContentExtension.cpp
    M Source/WebCore/contentextensions/ContentExtensionParser.cpp
    M Source/WebCore/contentextensions/ContentExtensionParser.h
    M Source/WebCore/contentextensions/ContentExtensionStyleSheet.cpp
    M Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp

  Log Message:
  -----------
  Cherry-pick 259068@main (355ce06ba535). 
https://bugs.webkit.org/show_bug.cgi?id=250609

    Safari Content Blocker doesn't support :has() selector
    https://bugs.webkit.org/show_bug.cgi?id=250609
    rdar://103976010

    Reviewed by Antti Koivisto and Alex Christensen.

    When creating the CSSParsers for content blocker parsing and compilation, 
make sure to opt
    into hasPseudoClassEnabled so selectors like :has work. The places this was 
needed were:
    - ContentExtensionParser (for parsing the rules)
    - ContentExtension (for the global display none rules)
    - ContentExtensionStyleSheet (for the other display none rules)

    Also update the contentextensions css-display-none test to test this 
functionality.

    * Source/WebCore/contentextensions/ContentExtension.cpp:
    
(WebCore::ContentExtensions::ContentExtension::compileGlobalDisplayNoneStyleSheet):
    * Source/WebCore/contentextensions/ContentExtensionParser.cpp:
    (WebCore::ContentExtensions::isValidCSSSelector):

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


  Commit: a334683ab68e4ea4df960843a310979a98a6c63b
      
https://github.com/WebKit/WebKit/commit/a334683ab68e4ea4df960843a310979a98a6c63b
  Author: Brian Weinstein <bweinst...@apple.com>
  Date:   2023-03-05 (Sun, 05 Mar 2023)

  Changed paths:
    M LayoutTests/http/tests/contentextensions/css-display-none.html
    M LayoutTests/http/tests/contentextensions/css-display-none.html.json
    M Source/WebCore/contentextensions/ContentExtensionParser.cpp

  Log Message:
  -----------
  Cherry-pick 260638@main (6f913a33098b). 
https://bugs.webkit.org/show_bug.cgi?id=252677

    Content Blocker API ignores some CSS Selectors with uppercase letters.
    https://bugs.webkit.org/show_bug.cgi?id=252677
    rdar://105648971

    Reviewed by Antti Koivisto.

    The fix for https://bugs.webkit.org/show_bug.cgi?id=250609 caused us to use 
Quirks mode when both
    parsing content blocker rules and applying them.

    That caused this regression, since rules like .SomeCLass stopped working in 
Quirks mode.

    To fix this, make us use Quirks mode when actually parsing the rules, but 
standard mode when
    applying them, to match how the behavior was before 
https://bugs.webkit.org/show_bug.cgi?id=250609.

    * LayoutTests/http/tests/contentextensions/css-display-none.html:
    * LayoutTests/http/tests/contentextensions/css-display-none.html.json:
    * Source/WebCore/contentextensions/ContentExtensionParser.cpp:
    (WebCore::ContentExtensions::isValidCSSSelector):
    (WebCore::ContentExtensions::contentExtensionCSSParserContext):

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


  Commit: 53eccce198cbcef6fdc29316456356d3323db2d8
      
https://github.com/WebKit/WebKit/commit/53eccce198cbcef6fdc29316456356d3323db2d8
  Author: Patrick Griffis <pgrif...@igalia.com>
  Date:   2023-03-05 (Sun, 05 Mar 2023)

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

  Log Message:
  -----------
  Cherry-pick 260580@main (70ed120ac0ba). 
https://bugs.webkit.org/show_bug.cgi?id=252601

    [GStreamer] GST_WEBRTC_DATA_CHANNEL_STATE_NEW was removed in 1.21.1
    https://bugs.webkit.org/show_bug.cgi?id=252601

    Reviewed by Philippe Normand.

    * 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp:
    (WebCore::GStreamerDataChannelHandler::checkState):

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


Compare: https://github.com/WebKit/WebKit/compare/f0479f9c7c45...53eccce198cb
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to