[webkit-changes] [WebKit/WebKit] f0f4ce: [iOS] Stop using AVSystemController and AVAudioSes...

aestes noreply at github.com
Thu Jan 4 22:57:11 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f0f4cefe29251ca4eb156cb45345c4e6a11525d0
      https://github.com/WebKit/WebKit/commit/f0f4cefe29251ca4eb156cb45345c4e6a11525d0
  Author: Andy Estes <aestes at apple.com>
  Date:   2024-01-04 (Thu, 04 Jan 2024)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
    M Source/WebCore/platform/audio/PlatformMediaSessionManager.h
    M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/GPUProcess/GPUProcessPreferences.cpp
    M Source/WebKit/GPUProcess/GPUProcessPreferences.h
    M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp
    M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h

  Log Message:
  -----------
  [iOS] Stop using AVSystemController and AVAudioSession SPIs when media capability grants are enabled
https://bugs.webkit.org/show_bug.cgi?id=266975
rdar://115750175

Reviewed by Per Arne Vollan.

When media capability grants are enabled, setting the
AVSystemController_PIDToInheritApplicationStateFrom attribute on AVSystemController and calling
-[AVAudioSession setAuditTokensForProcessAssertion:error:] are no longer necessary. Plumbed the
MediaCapabilityGrantsEnabled web preference to the GPU process and avoided calling these SPIs when
the preference is activated. Added a WKPreferences SPI to deactivate the preference for use by
clients that are not yet ready to adopt media capability grants.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::mediaCapabilityGrantsEnabled):
(WebCore::PlatformMediaSessionManager::setMediaCapabilityGrantsEnabled):
* Source/WebCore/platform/audio/PlatformMediaSessionManager.h:
* Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm:
(MediaSessionHelperIOS::providePresentingApplicationPID):
* Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::updateGPUProcessPreferences):
* Source/WebKit/GPUProcess/GPUProcessPreferences.cpp:
(WebKit::GPUProcessPreferences::copyEnabledWebPreferences):
* Source/WebKit/GPUProcess/GPUProcessPreferences.h:
* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::updatePresentingProcesses):
* Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _mediaCapabilityGrantsEnabled]):
(-[WKPreferences _setMediaCapabilityGrantsEnabled:]):
* Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:

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




More information about the webkit-changes mailing list