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

Reply via email to