Skip to content

Commit

Permalink
Silence warning about missing runningboard entitlement for the UIProcess
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=270214
rdar://123740093

Reviewed by Andy Estes.

Silence warning about missing runningboard entitlement for the UIProcess. Only
try and take the MediaPlayback process assertion on the UIProcess if it has the
proper entitlement.

* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::updateAudibleMediaAssertions):
* Source/WebKit/UIProcess/WebProcessPool.h:

Canonical link: https://commits.webkit.org/275451@main
  • Loading branch information
cdumez committed Feb 28, 2024
1 parent b521ef5 commit 956d3e4
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
8 changes: 7 additions & 1 deletion Source/WebKit/UIProcess/WebProcessPool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@
#include <WebCore/HIDGamepadProvider.h>
#include <WebCore/MultiGamepadProvider.h>
#include <WebCore/PowerSourceNotifier.h>
#include <wtf/cocoa/Entitlements.h>
#include <wtf/cocoa/RuntimeApplicationChecksCocoa.h>
#endif

Expand Down Expand Up @@ -2317,8 +2318,13 @@ void WebProcessPool::updateAudibleMediaAssertions()
return;

WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "updateAudibleMediaAssertions: The number of processes playing audible media is now greater than zero. Taking UI process assertion.");
#if PLATFORM(COCOA)
bool shouldTakeUIProcessAssertion = WTF::processHasEntitlement("com.apple.runningboard.assertions.webkit"_s);
#else
bool shouldTakeUIProcessAssertion = true;
#endif
m_audibleMediaActivity = AudibleMediaActivity {
ProcessAssertion::create(getCurrentProcessID(), "WebKit Media Playback"_s, ProcessAssertionType::MediaPlayback)
shouldTakeUIProcessAssertion ? RefPtr<ProcessAssertion> { ProcessAssertion::create(getCurrentProcessID(), "WebKit Media Playback"_s, ProcessAssertionType::MediaPlayback) } : nullptr
#if ENABLE(GPU_PROCESS)
, gpuProcess() ? RefPtr<ProcessAssertion> { ProcessAssertion::create(*gpuProcess(), "WebKit Media Playback"_s, ProcessAssertionType::MediaPlayback) } : nullptr
#endif
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit/UIProcess/WebProcessPool.h
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ class WebProcessPool final
WebProcessWithAudibleMediaCounter m_webProcessWithAudibleMediaCounter;

struct AudibleMediaActivity {
Ref<ProcessAssertion> uiProcessMediaPlaybackAssertion;
RefPtr<ProcessAssertion> uiProcessMediaPlaybackAssertion;
#if ENABLE(GPU_PROCESS)
RefPtr<ProcessAssertion> gpuProcessMediaPlaybackAssertion;
#endif
Expand Down

0 comments on commit 956d3e4

Please sign in to comment.