[webkit-changes] [WebKit/WebKit] 3b0ed3: Notify networking stack that download is media rel...
Jean-Yves Avenard
noreply at github.com
Wed Dec 21 19:41:21 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3b0ed39e4c4b90ad8d625560562dec5709c72cbd
https://github.com/WebKit/WebKit/commit/3b0ed39e4c4b90ad8d625560562dec5709c72cbd
Author: Jean-Yves Avenard <jya at apple.com>
Date: 2022-12-21 (Wed, 21 Dec 2022)
Changed paths:
M Source/WebCore/Modules/mediasource/MediaSource.cpp
M Source/WebCore/Modules/mediasource/MediaSource.h
M Source/WebCore/html/HTMLMediaElement.cpp
M Source/WebCore/html/HTMLMediaElement.h
M Source/WebCore/page/MediaProducer.h
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/UIProcess/WebProcessPool.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Tools/TestWebKitAPI/SourcesCocoa.txt
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/Tests/WebKit/file-with-mse.html
A Tools/TestWebKitAPI/Tests/WebKitCocoa/WKPageHasMediaStreamingActivity.mm
Log Message:
-----------
Notify networking stack that download is media related
https://bugs.webkit.org/show_bug.cgi?id=249569
rdar://103046339
Reviewed by Youenn Fablet.
Send a system notification when a networking operation is likely
going to be related to media playback.
For now the heuristic is rather primitive: if we have an active source buffer
linked to a media element we assume that all further networking operation in the
page is media related.
The notification is produced by the UI process whenever a content process
has an active source buffers, and when all have been deleted.
* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::removeSourceBuffer):
(WebCore::MediaSource::regenerateActiveSourceBuffers):
(WebCore::MediaSource::notifyElementUpdateMediaState const):
* Source/WebCore/Modules/mediasource/MediaSource.h:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateMediaState):
(WebCore::HTMLMediaElement::mediaState const):
* Source/WebCore/html/HTMLMediaElement.h:
* Source/WebCore/page/MediaProducer.h:
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::notifyMediaNetworkingActivity):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updatePlayingMediaDidChange):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::m_webProcessWithMediaNetworkingCounter):
(WebKit::WebProcessPool::webProcessWithMediaNetworkingToken const):
(WebKit::WebProcessPool::updateMediaNetworkingActivity):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::updateMediaNetworkingActivity):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKPageHasMediaNetworkingActivity.mm: Added.
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKit/file-with-mse.html:
Canonical link: https://commits.webkit.org/258232@main
More information about the webkit-changes
mailing list