Branch: refs/heads/webkitglib/2.38 Home: https://github.com/WebKit/WebKit Commit: eda30d1fdf9d7b037d047a576f17c9a17570c464 https://github.com/WebKit/WebKit/commit/eda30d1fdf9d7b037d047a576f17c9a17570c464 Author: Ryan Reno <rr...@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 <nzimmerm...@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@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 <jonca...@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@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 <s...@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@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes