Diff
Modified: trunk/LayoutTests/ChangeLog (267869 => 267870)
--- trunk/LayoutTests/ChangeLog 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/LayoutTests/ChangeLog 2020-10-02 09:38:52 UTC (rev 267870)
@@ -1,3 +1,19 @@
+2020-10-02 Youenn Fablet <[email protected]>
+
+ Add AVAssetWriter SPI header
+ https://bugs.webkit.org/show_bug.cgi?id=217169
+ <rdar://problem/69793050>
+
+ Reviewed by Eric Carlson.
+
+ Enable tests by default on Catalina+, disable them on Mojave and WK1.
+ Disable tests for iOS13.
+
+ * TestExpectations:
+ * platform/ios-13/TestExpectations:
+ * platform/mac/TestExpectations:
+ * platform/mac-wk1/TestExpectations:
+
2020-10-01 Sam Weinig <[email protected]>
[WebIDL] Add support for non-nullable optional wrapper type arguments to operations
Modified: trunk/LayoutTests/TestExpectations (267869 => 267870)
--- trunk/LayoutTests/TestExpectations 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/LayoutTests/TestExpectations 2020-10-02 09:38:52 UTC (rev 267870)
@@ -3374,11 +3374,6 @@
webgl/1.0.3/conformance/canvas/rapid-resizing.html [ Skip ]
webgl/1.0.3/conformance/extensions/webgl-draw-buffers.html [ Skip ]
-# Not supported by default
-http/wpt/mediarecorder [ Skip ]
-imported/w3c/web-platform-tests/mediacapture-record [ Skip ]
-fast/history/page-cache-media-recorder.html [ Skip ]
-
# WebGL 2 Conformance Suite rules for regular bots post ANGLE backend adoption.
# DEQP is skipped on the main fleet of bots because of the long run time.
webgl/2.0.0/deqp [ Skip ]
Modified: trunk/LayoutTests/platform/ios-13/TestExpectations (267869 => 267870)
--- trunk/LayoutTests/platform/ios-13/TestExpectations 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/LayoutTests/platform/ios-13/TestExpectations 2020-10-02 09:38:52 UTC (rev 267870)
@@ -11,5 +11,10 @@
http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname.html [ Skip ]
http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname.html [ Skip ]
+# MediaRecorder requires iOS14 only API.
+http/wpt/mediarecorder [ Skip ]
+imported/w3c/web-platform-tests/mediacapture-record [ Skip ]
+fast/history/page-cache-media-recorder.html [ Skip ]
+
# This test requires the OS to have a font that supports the Ahom language.
webkit.org/b/216024 fast/text/ahom.html [ ImageOnlyFailure ]
Modified: trunk/LayoutTests/platform/mac/TestExpectations (267869 => 267870)
--- trunk/LayoutTests/platform/mac/TestExpectations 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2020-10-02 09:38:52 UTC (rev 267870)
@@ -1653,9 +1653,9 @@
[ Catalina+ ] fast/text/design-system-ui-15.html [ Pass ]
[ Catalina+ ] fast/text/design-system-ui-16.html [ Pass ]
-[ Catalina+ ] http/wpt/mediarecorder [ Pass Failure ]
-[ Catalina+ ] imported/w3c/web-platform-tests/mediacapture-record [ Pass Failure ]
-[ Catalina+ ] fast/history/page-cache-media-recorder.html [ Pass Failure ]
+[ Mojave ] http/wpt/mediarecorder [ Skip ]
+[ Mojave ] imported/w3c/web-platform-tests/mediacapture-record [ Skip ]
+[ Mojave ] fast/history/page-cache-media-recorder.html [ Skip ]
webkit.org/b/200128 imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/video_timeupdate_on_seek.html [ Timeout Pass ]
Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (267869 => 267870)
--- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2020-10-02 09:38:52 UTC (rev 267870)
@@ -65,6 +65,10 @@
http/tests/navigation/page-cache-getUserMedia-pending-promise.html [ Skip ]
http/tests/navigation/page-cache-mediastream.html [ Skip ]
+http/wpt/mediarecorder [ Skip ]
+imported/w3c/web-platform-tests/mediacapture-record [ Skip ]
+fast/history/page-cache-media-recorder.html [ Skip ]
+
http/wpt/audio-output [ Skip ]
imported/w3c/web-platform-tests/audio-output [ Skip ]
Modified: trunk/Source/WTF/ChangeLog (267869 => 267870)
--- trunk/Source/WTF/ChangeLog 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/Source/WTF/ChangeLog 2020-10-02 09:38:52 UTC (rev 267870)
@@ -1,3 +1,15 @@
+2020-10-02 Youenn Fablet <[email protected]>
+
+ Add AVAssetWriter SPI header
+ https://bugs.webkit.org/show_bug.cgi?id=217169
+ <rdar://problem/69793050>
+
+ Reviewed by Eric Carlson.
+
+ * wtf/PlatformHave.h:
+ Remove dependency on AVAssetWriter_private.h.
+ Introduce HAVE_AVASSETWRITERDELEGATE_API for older OSes that only have delegate as SPI.
+
2020-10-01 Truitt Savell <[email protected]>
Unreviewed, reverting r267841.
Modified: trunk/Source/WTF/wtf/PlatformHave.h (267869 => 267870)
--- trunk/Source/WTF/wtf/PlatformHave.h 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/Source/WTF/wtf/PlatformHave.h 2020-10-02 09:38:52 UTC (rev 267870)
@@ -545,10 +545,14 @@
#define HAVE_OS_SIGNPOST 1
#endif
-#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS)) && (defined __has_include && __has_include(<AVFoundation/AVAssetWriter_Private.h>))
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
#define HAVE_AVASSETWRITERDELEGATE 1
#endif
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)
+#define HAVE_AVASSETWRITERDELEGATE_API 1
+#endif
+
#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000
#define HAVE_AVPLAYER_VIDEORANGEOVERRIDE 1
#endif
Modified: trunk/Source/WebCore/ChangeLog (267869 => 267870)
--- trunk/Source/WebCore/ChangeLog 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/Source/WebCore/ChangeLog 2020-10-02 09:38:52 UTC (rev 267870)
@@ -1,3 +1,15 @@
+2020-10-02 Youenn Fablet <[email protected]>
+
+ Add AVAssetWriter SPI header
+ https://bugs.webkit.org/show_bug.cgi?id=217169
+ <rdar://problem/69793050>
+
+ Reviewed by Eric Carlson.
+
+ No change of behavior, include SPI header instead of private SDK header.
+
+ * platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
+
2020-10-02 Kimmo Kinnunen <[email protected]>
[iOS WK1] Crashes when using ANGLE WebGL from another thread
Modified: trunk/Source/WebCore/PAL/ChangeLog (267869 => 267870)
--- trunk/Source/WebCore/PAL/ChangeLog 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/Source/WebCore/PAL/ChangeLog 2020-10-02 09:38:52 UTC (rev 267870)
@@ -1,3 +1,14 @@
+2020-10-02 Youenn Fablet <[email protected]>
+
+ Add AVAssetWriter SPI header
+ https://bugs.webkit.org/show_bug.cgi?id=217169
+ <rdar://problem/69793050>
+
+ Reviewed by Eric Carlson.
+
+ * PAL.xcodeproj/project.pbxproj:
+ * pal/spi/cocoa/AVAssetWriterSPI.h: Added.
+
2020-10-01 Truitt Savell <[email protected]>
Unreviewed, reverting r267841.
Modified: trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj (267869 => 267870)
--- trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj 2020-10-02 09:38:52 UTC (rev 267870)
@@ -121,6 +121,7 @@
31308B1420A21705003FB929 /* SystemPreviewSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 31308B1320A21705003FB929 /* SystemPreviewSPI.h */; };
31647FB0251759DD0010F8FB /* OpenGLSoftLinkCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 31647FAE251759DB0010F8FB /* OpenGLSoftLinkCocoa.mm */; };
31647FB1251759EF0010F8FB /* OpenGLSoftLinkCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 31647FAF251759DC0010F8FB /* OpenGLSoftLinkCocoa.h */; };
+ 411A9AC12525D4CA00807D7E /* AVAssetWriterSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 411A9AC02525D4CA00807D7E /* AVAssetWriterSPI.h */; };
416E995323DAE6BE00E871CB /* AudioToolboxSoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 416E995123DAE6BD00E871CB /* AudioToolboxSoftLink.cpp */; };
416E995423DAE6BE00E871CB /* AudioToolboxSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 416E995223DAE6BE00E871CB /* AudioToolboxSoftLink.h */; };
41E1F344248A6A000022D5DE /* VideoToolboxSoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 416E995523DAEFF700E871CB /* VideoToolboxSoftLink.cpp */; };
@@ -310,6 +311,7 @@
31647FAE251759DB0010F8FB /* OpenGLSoftLinkCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = OpenGLSoftLinkCocoa.mm; sourceTree = "<group>"; };
31647FAF251759DC0010F8FB /* OpenGLSoftLinkCocoa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpenGLSoftLinkCocoa.h; sourceTree = "<group>"; };
37119A7820CCB5FF002C6DC9 /* WebKitTargetConditionals.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebKitTargetConditionals.xcconfig; sourceTree = "<group>"; };
+ 411A9AC02525D4CA00807D7E /* AVAssetWriterSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AVAssetWriterSPI.h; sourceTree = "<group>"; };
416E995123DAE6BD00E871CB /* AudioToolboxSoftLink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioToolboxSoftLink.cpp; sourceTree = "<group>"; };
416E995223DAE6BE00E871CB /* AudioToolboxSoftLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioToolboxSoftLink.h; sourceTree = "<group>"; };
416E995523DAEFF700E871CB /* VideoToolboxSoftLink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoToolboxSoftLink.cpp; sourceTree = "<group>"; };
@@ -449,6 +451,7 @@
576CA9D522B854AB0030143C /* AppSSOSPI.h */,
2D02E93B2056FAA700A13797 /* AudioToolboxSPI.h */,
572A107722B456F500F410C8 /* AuthKitSPI.h */,
+ 411A9AC02525D4CA00807D7E /* AVAssetWriterSPI.h */,
0C7785701F45130F00F4EBB6 /* AVFoundationSPI.h */,
0C2DA1221F3BEB4900DBC317 /* AVKitSPI.h */,
0C2DA1231F3BEB4900DBC317 /* CFNSURLConnectionSPI.h */,
@@ -765,6 +768,7 @@
416E995423DAE6BE00E871CB /* AudioToolboxSoftLink.h in Headers */,
2D02E93C2056FAA700A13797 /* AudioToolboxSPI.h in Headers */,
572A107822B456F500F410C8 /* AuthKitSPI.h in Headers */,
+ 411A9AC12525D4CA00807D7E /* AVAssetWriterSPI.h in Headers */,
077E87B2226A460300A2AFF0 /* AVFoundationSoftLink.h in Headers */,
0C7785891F45130F00F4EBB6 /* AVFoundationSPI.h in Headers */,
0C2DA13E1F3BEB4900DBC317 /* AVKitSPI.h in Headers */,
Added: trunk/Source/WebCore/PAL/pal/spi/cocoa/AVAssetWriterSPI.h (0 => 267870)
--- trunk/Source/WebCore/PAL/pal/spi/cocoa/AVAssetWriterSPI.h (rev 0)
+++ trunk/Source/WebCore/PAL/pal/spi/cocoa/AVAssetWriterSPI.h 2020-10-02 09:38:52 UTC (rev 267870)
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2020 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.
+ */
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <AVFoundation/AVAssetWriter_Private.h>
+
+#else
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AVFragmentedMediaDataReport : NSObject
+@end
+
+#if !HAVE(AVASSETWRITERDELEGATE_API)
+@protocol AVAssetWriterDelegate <NSObject>
+@optional
+- (void)assetWriter:(AVAssetWriter *)assetWriter didProduceFragmentedHeaderData:(NSData *)fragmentedHeaderData;
+- (void)assetWriter:(AVAssetWriter *)assetWriter didProduceFragmentedMediaData:(NSData *)fragmentedMediaData fragmentedMediaDataReport:(AVFragmentedMediaDataReport *)fragmentedMediaDataReport;
+@end
+#endif
+
+@interface AVAssetWriter ()
+- (nullable instancetype)initWithFileType:(NSString * _Nullable)outputFileType error:(NSError * _Nullable * _Nullable)outError;
+- (void)flush;
+#if !HAVE(AVASSETWRITERDELEGATE_API)
+@property (weak, nullable) id <AVAssetWriterDelegate> delegate SPI_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), watchos(6.0));
+#endif
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // USE(APPLE_INTERNAL_SDK)
Modified: trunk/Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm (267869 => 267870)
--- trunk/Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm 2020-10-02 07:05:42 UTC (rev 267869)
+++ trunk/Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm 2020-10-02 09:38:52 UTC (rev 267870)
@@ -37,8 +37,8 @@
#include "WebAudioBufferList.h"
#include <AVFoundation/AVAssetWriter.h>
#include <AVFoundation/AVAssetWriterInput.h>
-#include <AVFoundation/AVAssetWriter_Private.h>
#include <pal/avfoundation/MediaTimeAVFoundation.h>
+#include <pal/spi/cocoa/AVAssetWriterSPI.h>
#include <wtf/BlockPtr.h>
#include <wtf/CompletionHandler.h>
#include <wtf/FileSystem.h>