[webkit-changes] [WebKit/WebKit] eda30d: Cherry-pick 56280cdcbd8a. https://bugs.webkit.org/...

Said Abou-Hallawa noreply at github.com
Thu May 4 06:30:09 PDT 2023


  Branch: refs/heads/webkitglib/2.38
  Home:   https://github.com/WebKit/WebKit
  Commit: eda30d1fdf9d7b037d047a576f17c9a17570c464
      https://github.com/WebKit/WebKit/commit/eda30d1fdf9d7b037d047a576f17c9a17570c464
  Author: Ryan Reno <rreno at apple.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    A LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt
    A LayoutTests/media/media-session/actionHandler-no-document-leak.html
    A LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html
    M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h
    M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl

  Log Message:
  -----------
  Cherry-pick 56280cdcbd8a. https://bugs.webkit.org/show_bug.cgi?id=251835

    The Document object is leaked on some pages using media (like YouTube.com)
    https://bugs.webkit.org/show_bug.cgi?id=251835
    rdar://105112595

    Reviewed by Chris Dumez.

    By default a callback holds a Strong<> reference to the JS Function
    object. This has the effect of making the callback a GC root. Another
    option is to annotate the callback with the IsWeakCallback extended
    attribute which will hold the callback object as a Weak reference and
    keep it alive via the visitJSFunction mechanism instead of making it a
    root.

    In the case of MediaSessionActionHandler the strong reference will
    prevent an HTMLDocument from being garbage collected even after
    navigating away and clearing the caches (after a low memory warning, for
    example). This change adds the IsWeakCallback attribute and the
    necessary virtual function to the MediaSessionActionHandler base class.

    LayoutTests:
        Add a test to check that action handlers installed by the page are
        not leaked. Use an iframe to install and exercise the action
        handlers before the iframe is navigated away and a garbage
        collection is triggered (repeatedly). If after 500 attempts at GC
        the document containing the action handlers still exists we consider
        the document leaked.

    * LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt: Added.
    * LayoutTests/media/media-session/actionHandler-no-document-leak.html: Added.
    * LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html: Added.

    * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h:
    * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl:

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


  Commit: 19d64dc4d12c8f8d671baac6d13c976e823a7c3a
      https://github.com/WebKit/WebKit/commit/19d64dc4d12c8f8d671baac6d13c976e823a7c3a
  Author: Nikolas Zimmermann <nzimmermann at igalia.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M Source/WTF/wtf/glib/Sandbox.cpp
    M Source/WTF/wtf/glib/Sandbox.h
    M Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp

  Log Message:
  -----------
  Cherry-pick 263494 at main (2364ff02346a). https://bugs.webkit.org/show_bug.cgi?id=255975

    [glib] Cog doesn't launch when built/started within podman container
    https://bugs.webkit.org/show_bug.cgi?id=255975

    Reviewed by Adrian Perez de Castro.

    We intent to disable bubblewrap sandboxing when e.g. Cog is launched
    within a container -- however we only handle docker -- extend that to
    all OCI-compatible container execution engines (podman!).

    No new tests -- not testable within our CI/CD environment.

    * Source/WTF/wtf/glib/Sandbox.cpp:
    (WTF::isInsideContainer):
    (WTF::isInsideDocker): Deleted.
    * Source/WTF/wtf/glib/Sandbox.h:
    * Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
    (WebKit::ProcessLauncher::launchProcess):

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


  Commit: 006c027983fe5464a7f266f3f01092ae528b9cf5
      https://github.com/WebKit/WebKit/commit/006c027983fe5464a7f266f3f01092ae528b9cf5
  Author: JC Alvarado <joncarlo at apple.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp

  Log Message:
  -----------
  Cherry-pick 263466 at main (5f072a498756). https://bugs.webkit.org/show_bug.cgi?id=255992

    Use smart pointers for captured variables stored in memory pressure handler
    https://bugs.webkit.org/show_bug.cgi?id=255992
    rdar://problem/108561984

    Reviewed by Ryosuke Niwa.

    Adopt smart pointers for captured variables in GPUProcess::initializeGPUProcess and
    NetworkProcess::initializeNetworkProcess.

    * Source/WebKit/NetworkProcess/NetworkProcess.cpp:
    (WebKit::NetworkProcess::initializeNetworkProcess):

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


  Commit: 4632748a8898b1c05c23e5cd1e02aff804c01f8b
      https://github.com/WebKit/WebKit/commit/4632748a8898b1c05c23e5cd1e02aff804c01f8b
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M Source/WebCore/svg/SVGPathSeg.h
    M Source/WebCore/svg/SVGPathSegImpl.h
    M Source/WebCore/svg/SVGPathSegValue.h

  Log Message:
  -----------
  Cherry-pick 262690 at main (9fc3aff2f387). https://bugs.webkit.org/show_bug.cgi?id=254757

    SVGPathSegValue::clone<>() rename to SVGPathSegValue::cloneInternal<>()
    https://bugs.webkit.org/show_bug.cgi?id=254757
    rdar://107719787

    Reviewed by Michael Catanzaro.

    GCC 13 considers the template function SVGPathSegValue::clone<>() hides the virtual
    function SVGPathSeg::clone<>() so the SVGPathSegValue super-classes can't override it.

    Renaming it will make the classes in SVGPathSegValueImpl.h be complied on GCC 13
    without the need for -Woverloaded-virtual.

    * Source/WebCore/svg/SVGPathSeg.h:
    * Source/WebCore/svg/SVGPathSegImpl.h:
    * Source/WebCore/svg/SVGPathSegValue.h:
    (WebCore::SVGPathSegValue::cloneInternal const):
    (WebCore::SVGPathSegValue::clone const): Deleted.

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


Compare: https://github.com/WebKit/WebKit/compare/406e5713ae61...4632748a8898


More information about the webkit-changes mailing list