Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0cf319253661cb3069aaf52386cb55389eb1fcb6
      
https://github.com/WebKit/WebKit/commit/0cf319253661cb3069aaf52386cb55389eb1fcb6
  Author: Andy Estes <aes...@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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to