[webkit-changes] [WebKit/WebKit] 0cf319: [iOS] presentingApplicationBundleIdentifier is wro...
aestes
noreply at github.com
Tue Feb 4 13:19:48 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0cf319253661cb3069aaf52386cb55389eb1fcb6
https://github.com/WebKit/WebKit/commit/0cf319253661cb3069aaf52386cb55389eb1fcb6
Author: Andy Estes <aestes at apple.com>
Date: 2025-02-04 (Tue, 04 Feb 2025)
Changed paths:
M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h
M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm
M Source/WebCore/html/MediaElementSession.cpp
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
M Source/WebCore/page/PageConfiguration.h
M Source/WebCore/page/cocoa/PageCocoa.mm
M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
M Source/WebKit/Shared/WebPageCreationParameters.h
M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
M Source/WebKit/Shared/WebProcessCreationParameters.h
M Source/WebKit/Shared/WebProcessCreationParameters.serialization.in
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Log Message:
-----------
[iOS] presentingApplicationBundleIdentifier is wrong in new web processes created after presentingApplicationAuditToken changes
https://bugs.webkit.org/show_bug.cgi?id=286993
rdar://142576989
Reviewed by Eric Carlson.
WebProcessCreationParameters::presentingApplicationBundleIdentifier was calculated based on the
APIProcessPoolConfiguration's audit token, but this audit token may be invalid if the presenting
process' PID changed. This results in the web process being created with the UI process' bundle
identifier rather than the presenting process'.
Resolved this by calculating presentingApplicationBundleIdentifier based on the WebPageProxy's
presentingApplicationAuditToken, which always represents the current instance of the presenting
application. Since presentingApplicationBundleIdentifier is now per-Page, removed the global
WTF::presentingApplicationBundleIdentifier.
Since Now Playing suppression is based on the presentingApplicationBundleIdentifier, called
PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary when the value changes.
* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm:
(WTF::presentingApplicationBundleIdentifierStorage): Deleted.
(WTF::setPresentingApplicationBundleIdentifier): Deleted.
(WTF::presentingApplicationBundleIdentifier): Deleted.
* Source/WebCore/html/MediaElementSession.cpp:
(WebCore::MediaElementSession::computeNowPlayingInfo const):
* Source/WebCore/page/Page.cpp:
(WebCore::m_presentingApplicationBundleIdentifier):
(WebCore::m_presentingApplicationAuditToken): Deleted.
* Source/WebCore/page/Page.h:
* Source/WebCore/page/PageConfiguration.h:
* Source/WebCore/page/cocoa/PageCocoa.mm:
(WebCore::Page::presentingApplicationBundleIdentifier const):
(WebCore::Page::setPresentingApplicationBundleIdentifier):
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/Shared/WebProcessCreationParameters.h:
* Source/WebKit/Shared/WebProcessCreationParameters.serialization.in:
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::presentingApplicationBundleIdentifier const):
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setPresentingApplicationAuditToken):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_textAnimationController):
(WebKit::WebPage::setPresentingApplicationAuditTokenAndBundleIdentifier):
(WebKit::WebPage::setPresentingApplicationAuditToken): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/289822@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list