Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 67cc2de45d6874fc2551b681ddb50daf6de9dc4f
https://github.com/WebKit/WebKit/commit/67cc2de45d6874fc2551b681ddb50daf6de9dc4f
Author: Enrique Ocaña González <[email protected]>
Date: 2026-01-14 (Wed, 14 Jan 2026)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
[GStreamer] change network state to idle when delaying the load
https://bugs.webkit.org/show_bug.cgi?id=305473
Reviewed by Xabier Rodriguez-Calvar.
Sometimes applications create a <video> tag with 'preload="none"' and
then remove the element from the DOM without ever starting playback.
This results in the video element being leaked, because
HTMLMediaElement::virtualHasPendingActivity() retains the element while
its network state is still "Loading".
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1594
This patch keeps the default behaviour of changing the NetworkState to
"Loading", except in the case of a delayed load (the case triggered by
preload="none"), in which it's set to Idle and therefore allowing the
full destruction of the video element.
Original author: Eugene Mutavchi <[email protected]>
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load): Reset NetworkState to Idle in
case of delayed load. Set to Loading otherwise.
Canonical link: https://commits.webkit.org/305578@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications