Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 011d6a1fc9c65d642a4a8469f630c2d3ed64d0f2
      
https://github.com/WebKit/WebKit/commit/011d6a1fc9c65d642a4a8469f630c2d3ed64d0f2
  Author: Andy Estes <[email protected]>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/html/MediaElementSession.cpp
    M Source/WebCore/html/MediaElementSession.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebKit/Shared/WebPreferencesDefaultValues.cpp
    M Source/WebKit/Shared/WebPreferencesDefaultValues.h
    M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm

  Log Message:
  -----------
  [iOS] Add a restriction that prevents publishing to NowPlaying when a video 
is not in a visible page
https://bugs.webkit.org/show_bug.cgi?id=285542
rdar://139471645

Reviewed by Eric Carlson.

Added a setting and behavior restriction that prevents an HTMLVideoElement from 
being eligible for
Now Playing when it's not in a visible page.

Added an API test.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::initializeMediaSession):
* Source/WebCore/html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager const):
* Source/WebCore/html/MediaElementSession.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::setMediaElementRestrictions):
* Source/WebKit/Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultRequiresPageVisibilityForVideoToBeNowPlaying):
* Source/WebKit/Shared/WebPreferencesDefaultValues.h:
* Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setRequiresPageVisibilityForVideoToBeNowPlayingForTesting:]):
(-[WKPreferences _requiresPageVisibilityForVideoToBeNowPlayingForTesting]):
* Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
(-[NowPlayingTestWebView requestActiveNowPlayingSessionInfo]):
(-[NowPlayingTestWebView expectHasActiveNowPlayingSession:]):
(-[NowPlayingTestWebView expectRegisteredAsNowPlayingApplication:]):
(TestWebKitAPI::TEST(NowPlayingControlsTests, 
NowPlayingApplicationNotRegisteredForBackgroundPage)):
(-[NowPlayingTestWebView hasActiveNowPlayingSession]): Deleted.

Canonical link: https://commits.webkit.org/288616@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to