Changeset 283394 in webkit
- Timestamp:
- Oct 1, 2021, 1:32:42 PM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 11 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/PAL/ChangeLog (modified) (1 diff)
-
WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h (modified) (1 diff)
-
WebCore/platform/audio/AudioSession.h (modified) (1 diff)
-
WebCore/platform/audio/ios/AudioSessionIOS.h (modified) (1 diff)
-
WebCore/platform/audio/ios/AudioSessionIOS.mm (modified) (2 diffs)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/GPUProcess/GPUConnectionToWebProcess.cpp (modified) (1 diff)
-
WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp (modified) (1 diff)
-
WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.h (modified) (1 diff)
-
WebKit/Scripts/process-entitlements.sh (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r283393 r283394 1 2021-10-01 Kate Cheney <katherine_cheney@apple.com> 2 3 GPU Process microphone attribution SPI adoption 4 https://bugs.webkit.org/show_bug.cgi?id=231034 5 <rdar://problem/83732537> 6 7 Reviewed by Youenn Fablet. 8 9 No new tests. Tested manually by inspecting APR JSON files. 10 11 * platform/audio/AudioSession.h: 12 * platform/audio/ios/AudioSessionIOS.h: 13 * platform/audio/ios/AudioSessionIOS.mm: 14 (WebCore::AudioSessionIOS::setHostProcessAttribution): 15 1 16 2021-10-01 Simon Fraser <simon.fraser@apple.com> 2 17 -
trunk/Source/WebCore/PAL/ChangeLog
r283339 r283394 1 2021-10-01 Kate Cheney <katherine_cheney@apple.com> 2 3 GPU Process microphone attribution SPI adoption 4 https://bugs.webkit.org/show_bug.cgi?id=231034 5 <rdar://problem/83732537> 6 7 Reviewed by Youenn Fablet. 8 9 * pal/spi/cocoa/LaunchServicesSPI.h: 10 1 11 2021-09-30 Devin Rousso <drousso@apple.com> 2 12 -
trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h
r282842 r283394 56 56 57 57 @interface LSBundleProxy : LSResourceProxy <NSSecureCoding> 58 + (LSBundleProxy *)bundleProxyWithAuditToken:(audit_token_t)auditToken error:(NSError **)outError; 59 @property (nonatomic, readonly) NSString *bundleIdentifier; 58 60 @end 59 61 -
trunk/Source/WebCore/platform/audio/AudioSession.h
r281597 r283394 131 131 static void setShouldManageAudioSessionCategory(bool flag) { s_shouldManageAudioSessionCategory = flag; } 132 132 133 virtual void setHostProcessAttribution(audit_token_t) { }; 134 133 135 protected: 134 136 friend class NeverDestroyed<AudioSession>; -
trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.h
r281597 r283394 43 43 virtual ~AudioSessionIOS(); 44 44 45 void setHostProcessAttribution(audit_token_t) final; 46 45 47 private: 46 48 // AudioSession -
trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm
r281597 r283394 33 33 #import <objc/runtime.h> 34 34 #import <pal/spi/cocoa/AVFoundationSPI.h> 35 #import <pal/spi/cocoa/LaunchServicesSPI.h> 35 36 #import <wtf/BlockObjCExceptions.h> 36 37 #import <wtf/RetainPtr.h> … … 136 137 [m_interruptionObserverHelper clearCallback]; 137 138 } 139 140 void AudioSessionIOS::setHostProcessAttribution(audit_token_t auditToken) 141 { 142 #if ENABLE(APP_PRIVACY_REPORT) 143 NSError *error = nil; 144 auto bundleProxy = [LSBundleProxy bundleProxyWithAuditToken:auditToken error:&error]; 145 if (error) { 146 RELEASE_LOG_ERROR(WebRTC, "Failed to get attribution bundleID from audit token with error: %@.", error.localizedDescription); 147 return; 148 } 149 150 [[PAL::getAVAudioSessionClass() sharedInstance] setHostProcessAttribution:@[ bundleProxy.bundleIdentifier ] error:&error]; 151 if (error) 152 RELEASE_LOG_ERROR(WebRTC, "Failed to set attribution bundleID with error: %@.", error.localizedDescription); 153 #else 154 UNUSED_PARAM(auditToken); 155 #endif 156 }; 157 138 158 139 159 void AudioSessionIOS::setCategory(CategoryType newCategory, RouteSharingPolicy policy) -
trunk/Source/WebKit/ChangeLog
r283386 r283394 1 2021-10-01 Kate Cheney <katherine_cheney@apple.com> 2 3 GPU Process microphone attribution SPI adoption 4 https://bugs.webkit.org/show_bug.cgi?id=231034 5 <rdar://problem/83732537> 6 7 Reviewed by Youenn Fablet. 8 9 Adopt SPI for App Privacy Report that attributes mic capture to the 10 host app. 11 12 * GPUProcess/GPUConnectionToWebProcess.cpp: 13 (WebKit::GPUConnectionToWebProcess::audioSessionProxy): 14 * GPUProcess/media/RemoteAudioSessionProxyManager.cpp: 15 (WebKit::RemoteAudioSessionProxyManager::addProxy): 16 * GPUProcess/media/RemoteAudioSessionProxyManager.h: 17 * Scripts/process-entitlements.sh: 18 1 19 2021-10-01 Brent Fulgham <bfulgham@apple.com> 2 20 -
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
r283369 r283394 457 457 if (!m_audioSessionProxy) { 458 458 m_audioSessionProxy = RemoteAudioSessionProxy::create(*this).moveToUniquePtr(); 459 gpuProcess().audioSessionManager().addProxy(*m_audioSessionProxy); 459 460 auto auditToken = gpuProcess().parentProcessConnection()->getAuditToken(); 461 gpuProcess().audioSessionManager().addProxy(*m_audioSessionProxy, auditToken); 460 462 } 461 463 return *m_audioSessionProxy; -
trunk/Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp
r280698 r283394 56 56 } 57 57 58 void RemoteAudioSessionProxyManager::addProxy(RemoteAudioSessionProxy& proxy )58 void RemoteAudioSessionProxyManager::addProxy(RemoteAudioSessionProxy& proxy, std::optional<audit_token_t> auditToken) 59 59 { 60 60 ASSERT(!m_proxies.contains(proxy)); 61 61 m_proxies.add(proxy); 62 62 updateCategory(); 63 64 if (auditToken) 65 AudioSession::sharedSession().setHostProcessAttribution(*auditToken); 63 66 } 64 67 -
trunk/Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.h
r280698 r283394 45 45 ~RemoteAudioSessionProxyManager(); 46 46 47 void addProxy(RemoteAudioSessionProxy& );47 void addProxy(RemoteAudioSessionProxy&, std::optional<audit_token_t>); 48 48 void removeProxy(RemoteAudioSessionProxy&); 49 49 -
trunk/Source/WebKit/Scripts/process-entitlements.sh
r283156 r283394 183 183 plistbuddy Add :com.apple.private.security.message-filter bool YES 184 184 plistbuddy Add :com.apple.UIKit.view-service-wants-custom-idiom-and-scale bool YES 185 plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES185 plistbuddy Add :com.apple.QuartzCore.webkit-limited-types bool YES 186 186 fi 187 187 … … 207 207 plistbuddy Add :com.apple.QuartzCore.webkit-end-points bool YES 208 208 plistbuddy Add :com.apple.private.memory.ownership_transfer bool YES 209 plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES209 plistbuddy Add :com.apple.QuartzCore.webkit-limited-types bool YES 210 210 211 211 if [[ "${WK_USE_RESTRICTED_ENTITLEMENTS}" == YES ]] … … 321 321 plistbuddy Add :com.apple.security.exception.mach-lookup.global-name array 322 322 plistbuddy Add :com.apple.security.exception.mach-lookup.global-name:0 string com.apple.systemstatus.activityattribution 323 plistbuddy Add :com.apple.private.attribution.explicitly-assumed-identities array 324 plistbuddy Add :com.apple.private.attribution.explicitly-assumed-identities:0:type string wildcard 323 325 } 324 326
Note:
See TracChangeset
for help on using the changeset viewer.