[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