Diff
Modified: trunk/Source/WebCore/ChangeLog (210104 => 210105)
--- trunk/Source/WebCore/ChangeLog 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/ChangeLog 2016-12-22 20:31:55 UTC (rev 210105)
@@ -1,5 +1,26 @@
2016-12-22 Jer Noble <[email protected]>
+ Only include those parts of AVFoundation.framework which are strictly needed.
+ https://bugs.webkit.org/show_bug.cgi?id=166423
+
+ Reviewed by Eric Carlson.
+
+ * Modules/plugins/QuickTimePluginReplacement.mm:
+ * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
+ * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
+ * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
+ * platform/mac/SerializedPlatformRepresentationMac.mm:
+ * platform/mac/WebPlaybackSessionInterfaceMac.mm:
+ * platform/mac/WebVideoFullscreenController.mm:
+ * platform/mediastream/mac/AVAudioCaptureSource.mm:
+ * platform/mediastream/mac/AVCaptureDeviceManager.mm:
+ * platform/mediastream/mac/AVMediaCaptureSource.mm:
+ * platform/mediastream/mac/AVVideoCaptureSource.mm:
+
+2016-12-22 Jer Noble <[email protected]>
+
NULL-deref CRASH in WebCore::PlatformMediaSession::mediaType
https://bugs.webkit.org/show_bug.cgi?id=166407
Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm (210104 => 210105)
--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -45,11 +45,11 @@
#import "ScriptSourceCode.h"
#import "Settings.h"
#import "UserAgentScripts.h"
-#import <objc/runtime.h>
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVMetadataItem.h>
#import <Foundation/NSString.h>
+#import <_javascript_Core/APICast.h>
#import <_javascript_Core/_javascript_Core.h>
-#import <_javascript_Core/APICast.h>
+#import <objc/runtime.h>
#import <wtf/text/Base64.h>
#import "CoreMediaSoftLink.h"
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -35,7 +35,8 @@
#import "SoftLinking.h"
#import "UUID.h"
#import "WebCoreNSErrorExtras.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVAsset.h>
+#import <AVFoundation/AVAssetResourceLoader.h>
#import <objc/objc-runtime.h>
#import <wtf/MainThread.h>
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -34,7 +34,11 @@
#import "InbandTextTrackPrivateAVF.h"
#import "Logging.h"
#import "SoftLinking.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVMediaSelectionGroup.h>
+#import <AVFoundation/AVMetadataItem.h>
+#import <AVFoundation/AVPlayer.h>
+#import <AVFoundation/AVPlayerItem.h>
+#import <AVFoundation/AVPlayerItemOutput.h>
#import <objc/runtime.h>
SOFT_LINK_FRAMEWORK_OPTIONAL(AVFoundation)
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -33,7 +33,6 @@
#import "Logging.h"
#import "MediaPlayerPrivateAVFoundationObjC.h"
#import "SoftLinking.h"
-#import <AVFoundation/AVFoundation.h>
#import <objc/runtime.h>
SOFT_LINK_FRAMEWORK_OPTIONAL(AVFoundation)
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -88,7 +88,16 @@
#include "TextTrack.h"
#endif
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVAssetImageGenerator.h>
+#import <AVFoundation/AVAssetTrack.h>
+#import <AVFoundation/AVMediaSelectionGroup.h>
+#import <AVFoundation/AVMetadataItem.h>
+#import <AVFoundation/AVPlayer.h>
+#import <AVFoundation/AVPlayerItem.h>
+#import <AVFoundation/AVPlayerItemOutput.h>
+#import <AVFoundation/AVPlayerItemTrack.h>
+#import <AVFoundation/AVPlayerLayer.h>
+#import <AVFoundation/AVTime.h>
#if PLATFORM(IOS) || (PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE))
#import "VideoFullscreenLayerManager.h"
Modified: trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -44,7 +44,8 @@
#import "WebLayer.h"
#import "WebSystemBackdropLayer.h"
#import "WebTiledBackingLayer.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVPlayer.h>
+#import <AVFoundation/AVPlayerLayer.h>
#import <QuartzCore/QuartzCore.h>
#import <objc/runtime.h>
#import <wtf/BlockObjCExceptions.h>
Modified: trunk/Source/WebCore/platform/mac/SerializedPlatformRepresentationMac.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/mac/SerializedPlatformRepresentationMac.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/mac/SerializedPlatformRepresentationMac.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -30,15 +30,15 @@
#import "JSDOMBinding.h"
#import "SoftLinking.h"
-#import <objc/runtime.h>
-#import <runtime/ArrayBuffer.h>
-#import <runtime/JSArrayBuffer.h>
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVMetadataItem.h>
#import <Foundation/NSString.h>
#import <_javascript_Core/APICast.h>
-#import <_javascript_Core/_javascript_Core.h>
#import <_javascript_Core/JSContextRef.h>
#import <_javascript_Core/JSObjectRef.h>
+#import <_javascript_Core/_javascript_Core.h>
+#import <objc/runtime.h>
+#import <runtime/ArrayBuffer.h>
+#import <runtime/JSArrayBuffer.h>
#import <wtf/text/Base64.h>
typedef AVMetadataItem AVMetadataItemType;
Modified: trunk/Source/WebCore/platform/mac/WebPlaybackSessionInterfaceMac.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/mac/WebPlaybackSessionInterfaceMac.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/mac/WebPlaybackSessionInterfaceMac.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -34,7 +34,7 @@
#import "TimeRanges.h"
#import "WebPlaybackControlsManager.h"
#import "WebPlaybackSessionModel.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVTime.h>
#import "CoreMediaSoftLink.h"
Modified: trunk/Source/WebCore/platform/mac/WebVideoFullscreenController.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/mac/WebVideoFullscreenController.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/mac/WebVideoFullscreenController.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -31,7 +31,7 @@
#import "WebVideoFullscreenHUDWindowController.h"
#import "WebWindowAnimation.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVPlayerLayer.h>
#import <Carbon/Carbon.h>
#import <WebCore/DisplaySleepDisabler.h>
#import <WebCore/HTMLVideoElement.h>
Modified: trunk/Source/WebCore/platform/mediastream/mac/AVAudioCaptureSource.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/mediastream/mac/AVAudioCaptureSource.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVAudioCaptureSource.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -34,7 +34,9 @@
#import "RealtimeMediaSourceSettings.h"
#import "SoftLinking.h"
#import "WebAudioSourceProviderAVFObjC.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVCaptureInput.h>
+#import <AVFoundation/AVCaptureOutput.h>
+#import <AVFoundation/AVCaptureSession.h>
#import <CoreAudio/CoreAudioTypes.h>
#import <wtf/HashSet.h>
Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -40,7 +40,8 @@
#import "RealtimeMediaSourceSupportedConstraints.h"
#import "SoftLinking.h"
#import "UUID.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVCaptureDevice.h>
+#import <AVFoundation/AVCaptureSession.h>
#import <objc/runtime.h>
#import <wtf/MainThread.h>
#import <wtf/NeverDestroyed.h>
Modified: trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -30,16 +30,19 @@
#import "AVCaptureDeviceManager.h"
#import "AudioSourceProvider.h"
-#import "CoreMediaSoftLink.h"
#import "Logging.h"
#import "MediaConstraints.h"
#import "RealtimeMediaSourceSettings.h"
-#import "SoftLinking.h"
#import "UUID.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVCaptureDevice.h>
+#import <AVFoundation/AVCaptureInput.h>
+#import <AVFoundation/AVCaptureOutput.h>
+#import <AVFoundation/AVCaptureSession.h>
#import <objc/runtime.h>
#import <wtf/MainThread.h>
+#import "CoreMediaSoftLink.h"
+
typedef AVCaptureConnection AVCaptureConnectionType;
typedef AVCaptureDevice AVCaptureDeviceTypedef;
typedef AVCaptureDeviceInput AVCaptureDeviceInputType;
Modified: trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm (210104 => 210105)
--- trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm 2016-12-22 20:07:18 UTC (rev 210104)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm 2016-12-22 20:31:55 UTC (rev 210105)
@@ -41,7 +41,11 @@
#import "RealtimeMediaSourcePreview.h"
#import "RealtimeMediaSourceSettings.h"
#import "WebActionDisablingCALayerDelegate.h"
-#import <AVFoundation/AVFoundation.h>
+#import <AVFoundation/AVCaptureDevice.h>
+#import <AVFoundation/AVCaptureInput.h>
+#import <AVFoundation/AVCaptureOutput.h>
+#import <AVFoundation/AVCaptureSession.h>
+#import <AVFoundation/AVCaptureVideoPreviewLayer.h>
#import <objc/runtime.h>
#if PLATFORM(IOS)