[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