[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