Commit 49b30bf
[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: WebPlatformForEmbedded#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 <Ievgen_Mutavchi@comcast.com>
* 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@main1 parent 0fa881b commit 49b30bf
File tree
1 file changed
+1
-1
lines changed- Source/WebCore/platform/graphics/gstreamer
1 file changed
+1
-1
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
375 | | - | |
| 375 | + | |
376 | 376 | | |
377 | 377 | | |
378 | 378 | | |
| |||
0 commit comments