Diff
Modified: trunk/Source/WebKit/ChangeLog (285431 => 285432)
--- trunk/Source/WebKit/ChangeLog 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/ChangeLog 2021-11-08 22:28:21 UTC (rev 285432)
@@ -1,3 +1,36 @@
+2021-11-08 Per Arne Vollan <pvol...@apple.com>
+
+ [macOS][GPUP] Remove access in sandbox to com.apple.audio.AudioComponentRegistrar
+ https://bugs.webkit.org/show_bug.cgi?id=231694
+ <rdar://75225923>
+
+ Reviewed by Brent Fulgham.
+
+ After https://trac.webkit.org/changeset/274435/webkit, there is no need to allow access to this service. This patch also implements sending
+ the Audio component registrations to the GPU process, which is a requirement before blocking the service in the GPU process.
+
+ * GPUProcess/GPUProcess.h:
+ * GPUProcess/GPUProcess.messages.in:
+ * GPUProcess/cocoa/GPUProcessCocoa.mm:
+ (WebKit::GPUProcess::consumeAudioComponentRegistrations):
+ * GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
+ * Shared/Cocoa/AudioComponentRegistration.cpp: Added.
+ (WebKit::consumeAudioComponentRegistrations):
+ * Shared/Cocoa/AudioComponentRegistration.h: Added.
+ (WebKit::sendAudioComponentRegistrations):
+ * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
+ (WebKit::WebProcessProxy::sendAudioComponentRegistrations): Deleted.
+ * UIProcess/GPU/GPUProcessProxy.cpp:
+ (WebKit::GPUProcessProxy::didFinishLaunching):
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::initializeNewWebProcess):
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::revokeAudioCaptureExtension):
+ * WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/cocoa/WebProcessCocoa.mm:
+ (WebKit::WebProcess::consumeAudioComponentRegistrations):
+
2021-11-08 Wenson Hsieh <wenson_hs...@apple.com>
WKSyntheticTapGestureRecognizer's action targets should be weak pointers
Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.h (285431 => 285432)
--- trunk/Source/WebKit/GPUProcess/GPUProcess.h 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.h 2021-11-08 22:28:21 UTC (rev 285432)
@@ -28,6 +28,7 @@
#if ENABLE(GPU_PROCESS)
#include "AuxiliaryProcess.h"
+#include "DataReference.h"
#include "SandboxExtension.h"
#include "WebPageProxyIdentifier.h"
#include <WebCore/LibWebRTCEnumTraits.h>
@@ -109,6 +110,10 @@
const String& applicationVisibleName() const { return m_applicationVisibleName; }
+#if PLATFORM(COCOA)
+ void consumeAudioComponentRegistrations(const IPC::DataReference&);
+#endif
+
void webProcessConnectionCountForTesting(CompletionHandler<void(uint64_t)>&&);
private:
Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.messages.in (285431 => 285432)
--- trunk/Source/WebKit/GPUProcess/GPUProcess.messages.in 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.messages.in 2021-11-08 22:28:21 UTC (rev 285432)
@@ -76,6 +76,10 @@
NotifyPreferencesChanged(String domain, String key, std::optional<String> encodedValue)
#endif
+#if PLATFORM(COCOA)
+ ConsumeAudioComponentRegistrations(IPC::SharedBufferDataReference registrationData)
+#endif
+
WebProcessConnectionCountForTesting() -> (uint64_t count) Async
}
Modified: trunk/Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm (285431 => 285432)
--- trunk/Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm 2021-11-08 22:28:21 UTC (rev 285432)
@@ -30,6 +30,7 @@
#if ENABLE(GPU_PROCESS) && PLATFORM(COCOA)
+#import "AudioComponentRegistration.h"
#import "GPUConnectionToWebProcess.h"
#import "RemoteRenderingBackend.h"
#import <wtf/RetainPtr.h>
@@ -75,6 +76,11 @@
#endif // ENABLE(CFPREFS_DIRECT_MODE)
+void GPUProcess::consumeAudioComponentRegistrations(const IPC::DataReference& data)
+{
+ WebKit::consumeAudioComponentRegistrations(data);
+}
+
} // namespace WebKit
#endif // ENABLE(GPU_PROCESS) && PLATFORM(COCOA)
Modified: trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in (285431 => 285432)
--- trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in 2021-11-08 22:28:21 UTC (rev 285432)
@@ -717,8 +717,10 @@
(allow ipc-posix-shm-read* ipc-posix-shm-write-data (with telemetry)
(ipc-posix-name-prefix "AudioIO"))
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 120000
(allow mach-lookup
(global-name "com.apple.audio.AudioComponentRegistrar"))
+#endif
#if !ENABLE(CFPREFS_DIRECT_MODE)
(allow mach-lookup (with telemetry)
Added: trunk/Source/WebKit/Shared/Cocoa/AudioComponentRegistration.cpp (0 => 285432)
--- trunk/Source/WebKit/Shared/Cocoa/AudioComponentRegistration.cpp (rev 0)
+++ trunk/Source/WebKit/Shared/Cocoa/AudioComponentRegistration.cpp 2021-11-08 22:28:21 UTC (rev 285432)
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "AudioComponentRegistration.h"
+
+#include "Logging.h"
+
+namespace WebKit {
+
+void consumeAudioComponentRegistrations(const IPC::DataReference& data)
+{
+ if (!PAL::isAudioToolboxCoreFrameworkAvailable() || !PAL::canLoad_AudioToolboxCore_AudioComponentApplyServerRegistrations())
+ return;
+
+ auto registrations = adoptCF(CFDataCreate(kCFAllocatorDefault, data.data(), data.size()));
+ if (!registrations)
+ return;
+
+ auto err = PAL::AudioComponentApplyServerRegistrations(registrations.get());
+ if (noErr == err)
+ return;
+
+ RELEASE_LOG_ERROR(Process, "Could not apply AudioComponent registrations, err(%ld)", static_cast<long>(err));
+}
+
+} // namespace WebKit
+
Added: trunk/Source/WebKit/Shared/Cocoa/AudioComponentRegistration.h (0 => 285432)
--- trunk/Source/WebKit/Shared/Cocoa/AudioComponentRegistration.h (rev 0)
+++ trunk/Source/WebKit/Shared/Cocoa/AudioComponentRegistration.h 2021-11-08 22:28:21 UTC (rev 285432)
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#import "AuxiliaryProcessProxy.h"
+#import "DataReference.h"
+#import <WebCore/WebMAudioUtilitiesCocoa.h>
+#import <wtf/BlockPtr.h>
+#import <pal/cf/AudioToolboxSoftLink.h>
+
+namespace WebKit {
+
+template<typename T> void sendAudioComponentRegistrations(AuxiliaryProcessProxy& process)
+{
+ if (!PAL::isAudioToolboxCoreFrameworkAvailable() || !PAL::canLoad_AudioToolboxCore_AudioComponentFetchServerRegistrations())
+ return;
+
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), makeBlockPtr([weakThis = WeakPtr { process }] () mutable {
+ CFDataRef registrations { nullptr };
+
+ WebCore::registerOpusDecoderIfNeeded();
+ WebCore::registerVorbisDecoderIfNeeded();
+ if (noErr != PAL::AudioComponentFetchServerRegistrations(®istrations) || !registrations)
+ return;
+
+ RunLoop::main().dispatch([weakThis = WTFMove(weakThis), registrations = adoptCF(registrations)] () mutable {
+ if (!weakThis)
+ return;
+ auto registrationData = WebCore::SharedBuffer::create(registrations.get());
+ weakThis->send(T({ registrationData }), 0);
+ });
+ }).get());
+}
+
+void consumeAudioComponentRegistrations(const IPC::DataReference&);
+
+} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm (285431 => 285432)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm 2021-11-08 22:28:21 UTC (rev 285432)
@@ -39,7 +39,6 @@
#import "WebProcessMessages.h"
#import "WebProcessPool.h"
#import <WebCore/RuntimeApplicationChecks.h>
-#import <WebCore/WebMAudioUtilitiesCocoa.h>
#import <sys/sysctl.h>
#import <wtf/NeverDestroyed.h>
#import <wtf/Scope.h>
@@ -64,8 +63,6 @@
#include "TCCSoftLink.h"
#endif
-#import <pal/cf/AudioToolboxSoftLink.h>
-
namespace WebKit {
static const Seconds unexpectedActivityDuration = 10_s;
@@ -289,31 +286,6 @@
}
#endif
-void WebProcessProxy::sendAudioComponentRegistrations()
-{
- using namespace PAL;
-
- if (!PAL::isAudioToolboxCoreFrameworkAvailable() || !PAL::canLoad_AudioToolboxCore_AudioComponentFetchServerRegistrations())
- return;
-
- dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), [weakThis = WeakPtr { *this }] () mutable {
- CFDataRef registrations { nullptr };
-
- WebCore::registerOpusDecoderIfNeeded();
- WebCore::registerVorbisDecoderIfNeeded();
- if (noErr != AudioComponentFetchServerRegistrations(®istrations) || !registrations)
- return;
-
- RunLoop::main().dispatch([weakThis = WTFMove(weakThis), registrations = adoptCF(registrations)] () mutable {
- if (!weakThis)
- return;
-
- auto registrationData = WebCore::SharedBuffer::create(registrations.get());
- weakThis->send(Messages::WebProcess::ConsumeAudioComponentRegistrations({ registrationData }), 0);
- });
- });
-}
-
bool WebProcessProxy::messageSourceIsValidWebContentProcess()
{
if (!hasConnection()) {
Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp (285431 => 285432)
--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2021-11-08 22:28:21 UTC (rev 285432)
@@ -63,6 +63,10 @@
#include <wtf/FileSystem.h>
#endif
+#if PLATFORM(COCOA)
+#include "AudioComponentRegistration.h"
+#endif
+
#define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, this->connection())
namespace WebKit {
@@ -449,6 +453,8 @@
if (!store)
return;
m_hasSentNetworkProcessXPCEndpoint = store->sendNetworkProcessXPCEndpointToProcess(*this);
+
+ sendAudioComponentRegistrations<Messages::GPUProcess::ConsumeAudioComponentRegistrations>(*this);
#endif
}
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (285431 => 285432)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2021-11-08 22:28:21 UTC (rev 285432)
@@ -130,6 +130,7 @@
#endif
#if PLATFORM(COCOA)
+#include "AudioComponentRegistration.h"
#include "DefaultWebBrowserChecks.h"
#include <WebCore/GameControllerGamepadProvider.h>
#include <WebCore/HIDGamepadProvider.h>
@@ -865,7 +866,7 @@
#endif
#if PLATFORM(COCOA)
- process.sendAudioComponentRegistrations();
+ sendAudioComponentRegistrations<Messages::WebProcess::ConsumeAudioComponentRegistrations>(process);
#endif
#if PLATFORM(MAC)
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (285431 => 285432)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2021-11-08 22:28:21 UTC (rev 285432)
@@ -338,8 +338,6 @@
bool hasAudioCaptureExtension() const { return m_mediaCaptureSandboxExtensions & Audio; }
void grantAudioCaptureExtension() { m_mediaCaptureSandboxExtensions |= Audio; }
void revokeAudioCaptureExtension() { m_mediaCaptureSandboxExtensions &= ~Audio; }
-
- void sendAudioComponentRegistrations();
#endif
#if ENABLE(REMOTE_INSPECTOR) && PLATFORM(COCOA)
Modified: trunk/Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in (285431 => 285432)
--- trunk/Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in 2021-11-08 22:28:21 UTC (rev 285432)
@@ -327,7 +327,6 @@
#if PLATFORM(MAC)
(with report) (with telemetry)
#endif
- (global-name "com.apple.audio.AudioComponentRegistrar")
(global-name "com.apple.awdd")
#if !ENABLE(CFPREFS_DIRECT_MODE)
(global-name "com.apple.cfprefsd.agent")
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (285431 => 285432)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-11-08 22:16:44 UTC (rev 285431)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-11-08 22:28:21 UTC (rev 285432)
@@ -1939,6 +1939,8 @@
E38A1FC023A551BF00D2374F /* UserInterfaceIdiom.mm in Sources */ = {isa = PBXBuildFile; fileRef = E38A1FBF23A551BF00D2374F /* UserInterfaceIdiom.mm */; };
E39628DD23960CC600658ECD /* WebDeviceOrientationUpdateProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = E39628DB23960CC500658ECD /* WebDeviceOrientationUpdateProvider.h */; };
E39628DE23960CC600658ECD /* WebDeviceOrientationUpdateProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E39628DC23960CC600658ECD /* WebDeviceOrientationUpdateProvider.cpp */; };
+ E3C2396D2721C9C200E37537 /* AudioComponentRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E3C2396B2721C9C100E37537 /* AudioComponentRegistration.cpp */; };
+ E3C2396E2721C9C200E37537 /* AudioComponentRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = E3C2396C2721C9C200E37537 /* AudioComponentRegistration.h */; };
E3CAAA442413279900CED2E2 /* AccessibilitySupportSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E3CAAA432413278A00CED2E2 /* AccessibilitySupportSPI.h */; };
E413F59D1AC1ADC400345360 /* NetworkCacheEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = E413F59B1AC1ADB600345360 /* NetworkCacheEntry.h */; };
E42E06101AA7523B00B11699 /* NetworkCacheIOChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = E42E060B1AA7440D00B11699 /* NetworkCacheIOChannel.h */; };
@@ -5856,6 +5858,8 @@
E3A86FBC26958E330059264D /* WebCaptionPreferencesDelegate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebCaptionPreferencesDelegate.cpp; sourceTree = "<group>"; };
E3BCE877267252120011D8DB /* AccessibilityPreferences.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityPreferences.cpp; sourceTree = "<group>"; };
E3BCE878267252120011D8DB /* AccessibilityPreferences.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessibilityPreferences.h; sourceTree = "<group>"; };
+ E3C2396B2721C9C100E37537 /* AudioComponentRegistration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioComponentRegistration.cpp; sourceTree = "<group>"; };
+ E3C2396C2721C9C200E37537 /* AudioComponentRegistration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioComponentRegistration.h; sourceTree = "<group>"; };
E3CAAA432413278A00CED2E2 /* AccessibilitySupportSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilitySupportSPI.h; sourceTree = "<group>"; };
E3EFB02C2550617C003C2F96 /* WebSystemSoundDelegate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebSystemSoundDelegate.cpp; sourceTree = "<group>"; };
E3EFB02D2550617C003C2F96 /* WebSystemSoundDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebSystemSoundDelegate.h; sourceTree = "<group>"; };
@@ -8144,6 +8148,8 @@
378E1A3B181ED6FF0031007A /* APIObject.mm */,
A175C44921AA3170000037D0 /* ArgumentCodersCocoa.h */,
A175C44B21AA331B000037D0 /* ArgumentCodersCocoa.mm */,
+ E3C2396B2721C9C100E37537 /* AudioComponentRegistration.cpp */,
+ E3C2396C2721C9C200E37537 /* AudioComponentRegistration.h */,
1A698F171E4910220064E881 /* AuxiliaryProcessCocoa.mm */,
CE11AD511CBC482F00681EE5 /* CodeSigning.h */,
CE11AD4F1CBC47F800681EE5 /* CodeSigning.mm */,
@@ -11868,6 +11874,7 @@
7B1DB26625668CE1000E26BC /* ArrayReference.h in Headers */,
AAFA634F234F7C6400FFA864 /* AsyncRevalidation.h in Headers */,
BCEE966D112FAF57006BCC24 /* Attachment.h in Headers */,
+ E3C2396E2721C9C200E37537 /* AudioComponentRegistration.h in Headers */,
512F589712A8838800629530 /* AuthenticationChallengeProxy.h in Headers */,
512F589912A8838800629530 /* AuthenticationDecisionListener.h in Headers */,
518E8EF916B2091C00E91429 /* AuthenticationManager.h in Headers */,
@@ -14118,6 +14125,7 @@
2D92A77B212B6A7100F493FD /* ArgumentCoders.cpp in Sources */,
2DEB1D2E2127473600933906 /* ArgumentCodersCF.cpp in Sources */,
2D92A77C212B6A7100F493FD /* Attachment.cpp in Sources */,
+ E3C2396D2721C9C200E37537 /* AudioComponentRegistration.cpp in Sources */,
CD4570D424411D0F00A3DCEB /* AudioSessionRoutingArbitrator.cpp in Sources */,
CD4570D3244113B500A3DCEB /* AudioSessionRoutingArbitratorProxyMessageReceiver.cpp in Sources */,
512F58A212A883AD00629530 /* AuthenticationManagerMessageReceiver.cpp in Sources */,