Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9d2c43b4dc9d9c47448c510c87e79ecaf40b60a4
https://github.com/WebKit/WebKit/commit/9d2c43b4dc9d9c47448c510c87e79ecaf40b60a4
Author: Jer Noble <[email protected]>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/MediaStreamingActivitySuspended.mm
Log Message:
-----------
[iOS] Networking can get pinned in a MediaStreaming state if the WebContent
process is suspended with MediaStreaming active
rdar://179497684
https://bugs.webkit.org/show_bug.cgi?id=318235
Reviewed by Eric Carlson.
ManagedMediaSource uses a timer to ensure it releases its MediaStreaming state
after a timeout, should the
page not adequately buffer during the streaming period. If the process is
suspended while this timer is active
the timer will never fire, and networking will be pinned in the MediaStreaming
state.
Add a condition to WebProcessProxy::updateMediaStreamingActivity() which will
release the MediaStreaming state
when the WebContent process is suspended.
Test:
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/MediaStreamingActivitySuspended.mm
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::isSuspended const):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didChangeThrottleState):
(WebKit::WebProcessProxy::updateMediaStreamingActivity):
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
*
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/MediaStreamingActivitySuspended.mm:
Added.
(TestWebKitAPI::TEST(WebKit,
ManagedMSEMediaStreamingActivityClearedOnProcessSuspend)):
(TestWebKitAPI::TEST(WebKit,
ManagedMSEMediaStreamingActivityClearedOnProcessCrash)):
Canonical link: https://commits.webkit.org/316279@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications