Diff
Modified: trunk/LayoutTests/ChangeLog (282512 => 282513)
--- trunk/LayoutTests/ChangeLog 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/LayoutTests/ChangeLog 2021-09-16 08:56:57 UTC (rev 282513)
@@ -1,3 +1,20 @@
+2021-09-16 Cameron McCormack <[email protected]>
+
+ Disable display-p3 canvas and ImageData on platforms other than Monterey+ and iOS 15+
+ https://bugs.webkit.org/show_bug.cgi?id=230139
+ <rdar://81828819>
+
+ Reviewed by Sam Weinig.
+
+ * TestExpectations:
+ * platform/glib/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images-expected.txt: Removed.
+ * platform/ios-14/TestExpectations:
+ * platform/ios/TestExpectations:
+ * platform/ios/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images-expected.txt: Removed.
+ * platform/mac-bigsur/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images-expected.txt: Removed.
+ * platform/mac-catalina/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images-expected.txt: Removed.
+ * platform/mac/TestExpectations:
+
2021-09-15 Alex Christensen <[email protected]>
Add IDL skeleton for SharedWorker
Modified: trunk/LayoutTests/TestExpectations (282512 => 282513)
--- trunk/LayoutTests/TestExpectations 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/LayoutTests/TestExpectations 2021-09-16 08:56:57 UTC (rev 282513)
@@ -5247,6 +5247,21 @@
# Invalid test. Tests color(lab ...) which has been removed from the standard.
imported/w3c/web-platform-tests/css/css-color/predefined-013.html [ Skip ]
+# display-p3 canvas and ImageData are Cocoa only for now.
+fast/canvas/canvas-color-space-display-p3-ImageData.html [ Failure ]
+fast/canvas/canvas-color-space-display-p3.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.shadow.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.strokeText.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.p3.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.srgb.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.p3.canvas.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.with.putImageData.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.p3.canvas.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.with.putImageData.html [ Failure ]
+storage/indexeddb/structured-clone-image-data-display-p3.html [ Failure ]
+
webkit.org/b/226942 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https.html [ Pass Failure ]
webkit.org/b/227849 imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-007.html [ Skip ]
Deleted: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images-expected.txt (282512 => 282513)
--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images-expected.txt 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images-expected.txt 2021-09-16 08:56:57 UTC (rev 282513)
@@ -1,43 +0,0 @@
-
-PASS Overall test
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_sRGB_opaque.png vs 2x2_16bit_sRGB_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_sRGB_opaque.png vs 2x2_16bit_interlaced_sRGB_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_sRGB_transparent.png vs 2x2_16bit_sRGB_transparent.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_sRGB_transparent.png vs 2x2_16bit_interlaced_sRGB_transparent.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_AdobeRGB_opaque.png vs 2x2_16bit_AdobeRGB_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_AdobeRGB_opaque.png vs 2x2_16bit_interlaced_AdobeRGB_opaque.png
-FAIL Canvas color params: srgb, uint8. Testing 2x2_8bit_AdobeRGB_transparent.png vs 2x2_16bit_AdobeRGB_transparent.png assert_array_approx_equals: property 2, expected 166 +/- 8, expected 166 but got 157
-FAIL Canvas color params: srgb, uint8. Testing 2x2_8bit_AdobeRGB_transparent.png vs 2x2_16bit_interlaced_AdobeRGB_transparent.png assert_array_approx_equals: property 2, expected 166 +/- 8, expected 166 but got 157
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_DisplayP3_opaque.png vs 2x2_16bit_DisplayP3_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_DisplayP3_opaque.png vs 2x2_16bit_interlaced_DisplayP3_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_DisplayP3_transparent.png vs 2x2_16bit_DisplayP3_transparent.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_DisplayP3_transparent.png vs 2x2_16bit_interlaced_DisplayP3_transparent.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_ProPhoto_opaque.png vs 2x2_16bit_ProPhoto_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_ProPhoto_opaque.png vs 2x2_16bit_interlaced_ProPhoto_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_ProPhoto_transparent.png vs 2x2_16bit_ProPhoto_transparent.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_ProPhoto_transparent.png vs 2x2_16bit_interlaced_ProPhoto_transparent.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_Rec2020_opaque.png vs 2x2_16bit_Rec2020_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_Rec2020_opaque.png vs 2x2_16bit_interlaced_Rec2020_opaque.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_Rec2020_transparent.png vs 2x2_16bit_Rec2020_transparent.png
-PASS Canvas color params: srgb, uint8. Testing 2x2_8bit_Rec2020_transparent.png vs 2x2_16bit_interlaced_Rec2020_transparent.png
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_sRGB_opaque.png vs 2x2_16bit_sRGB_opaque.png assert_array_approx_equals: property 2, expected 179 +/- 0.05, expected 179 but got 178
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_sRGB_opaque.png vs 2x2_16bit_interlaced_sRGB_opaque.png assert_array_approx_equals: property 2, expected 179 +/- 0.05, expected 179 but got 178
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_sRGB_transparent.png vs 2x2_16bit_sRGB_transparent.png assert_array_approx_equals: property 2, expected 160 +/- 0.05, expected 160 but got 158
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_sRGB_transparent.png vs 2x2_16bit_interlaced_sRGB_transparent.png assert_array_approx_equals: property 2, expected 160 +/- 0.05, expected 160 but got 158
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_AdobeRGB_opaque.png vs 2x2_16bit_AdobeRGB_opaque.png assert_array_approx_equals: property 0, expected 131 +/- 0.05, expected 131 but got 128
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_AdobeRGB_opaque.png vs 2x2_16bit_interlaced_AdobeRGB_opaque.png assert_array_approx_equals: property 0, expected 131 +/- 0.05, expected 131 but got 128
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_AdobeRGB_transparent.png vs 2x2_16bit_AdobeRGB_transparent.png assert_array_approx_equals: property 0, expected 97 +/- 0.05, expected 97 but got 92
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_AdobeRGB_transparent.png vs 2x2_16bit_interlaced_AdobeRGB_transparent.png assert_array_approx_equals: property 0, expected 97 +/- 0.05, expected 97 but got 92
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_DisplayP3_opaque.png vs 2x2_16bit_DisplayP3_opaque.png assert_array_approx_equals: property 10, expected 250 +/- 0.05, expected 250 but got 249
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_DisplayP3_opaque.png vs 2x2_16bit_interlaced_DisplayP3_opaque.png assert_array_approx_equals: property 10, expected 250 +/- 0.05, expected 250 but got 249
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_DisplayP3_transparent.png vs 2x2_16bit_DisplayP3_transparent.png assert_array_approx_equals: property 2, expected 160 +/- 0.05, expected 160 but got 158
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_DisplayP3_transparent.png vs 2x2_16bit_interlaced_DisplayP3_transparent.png assert_array_approx_equals: property 2, expected 160 +/- 0.05, expected 160 but got 158
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_ProPhoto_opaque.png vs 2x2_16bit_ProPhoto_opaque.png assert_array_approx_equals: property 0, expected 132 +/- 0.05, expected 132 but got 134
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_ProPhoto_opaque.png vs 2x2_16bit_interlaced_ProPhoto_opaque.png assert_array_approx_equals: property 0, expected 132 +/- 0.05, expected 132 but got 134
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_ProPhoto_transparent.png vs 2x2_16bit_ProPhoto_transparent.png assert_array_approx_equals: property 6, expected 38 +/- 0.05, expected 38 but got 31
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_ProPhoto_transparent.png vs 2x2_16bit_interlaced_ProPhoto_transparent.png assert_array_approx_equals: property 6, expected 38 +/- 0.05, expected 38 but got 31
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_Rec2020_opaque.png vs 2x2_16bit_Rec2020_opaque.png assert_array_approx_equals: property 10, expected 250 +/- 0.05, expected 250 but got 249
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_Rec2020_opaque.png vs 2x2_16bit_interlaced_Rec2020_opaque.png assert_array_approx_equals: property 10, expected 250 +/- 0.05, expected 250 but got 249
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_Rec2020_transparent.png vs 2x2_16bit_Rec2020_transparent.png assert_array_approx_equals: property 5, expected 181 +/- 0.05, expected 181 but got 180
-FAIL Canvas color params: srgb, float16. Testing 2x2_8bit_Rec2020_transparent.png vs 2x2_16bit_interlaced_Rec2020_transparent.png assert_array_approx_equals: property 5, expected 181 +/- 0.05, expected 181 but got 180
-
Modified: trunk/LayoutTests/platform/ios/TestExpectations (282512 => 282513)
--- trunk/LayoutTests/platform/ios/TestExpectations 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/LayoutTests/platform/ios/TestExpectations 2021-09-16 08:56:57 UTC (rev 282513)
@@ -3484,6 +3484,21 @@
webkit.org/b/228176 fast/text/variable-system-font.html [ ImageOnlyFailure ]
webkit.org/b/228176 fast/text/variable-system-font-2.html [ Pass ]
+# display-p3 canvas and ImageData are Cocoa only for now.
+fast/canvas/canvas-color-space-display-p3-ImageData.html [ Pass ]
+fast/canvas/canvas-color-space-display-p3.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.shadow.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.strokeText.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.p3.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.srgb.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.p3.canvas.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.with.putImageData.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.p3.canvas.html [ Pass ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.with.putImageData.html [ Pass ]
+storage/indexeddb/structured-clone-image-data-display-p3.html [ Pass ]
+
# Show 1px diff in the result. Maybe hitting the background bleed avoidance code path.
webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-109.xht [ ImageOnlyFailure ]
webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-125.xht [ ImageOnlyFailure ]
Modified: trunk/LayoutTests/platform/ios-14/TestExpectations (282512 => 282513)
--- trunk/LayoutTests/platform/ios-14/TestExpectations 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/LayoutTests/platform/ios-14/TestExpectations 2021-09-16 08:56:57 UTC (rev 282513)
@@ -68,6 +68,26 @@
# Privacy Transparency tests are iOS15 only.
http/tests/app-privacy-report/ [ Skip ]
+# display-p3 canvas and ImageData are iOS 15+.
+fast/canvas/canvas-color-space-display-p3-ImageData.html [ Failure ]
+fast/canvas/canvas-color-space-display-p3.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.shadow.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.strokeText.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.p3.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.srgb.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.p3.canvas.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.with.putImageData.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.p3.canvas.html [ Failure ]
+imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.with.putImageData.html [ Failure ]
+storage/indexeddb/structured-clone-image-data-display-p3.html [ Failure ]
+
+#webkit.org/b/229573
+imported/w3c/web-platform-tests/service-workers/service-worker/getregistrations.https.html [ Pass Failure ]
+imported/w3c/web-platform-tests/service-workers/service-worker/register-default-scope.https.html [ Pass Failure ]
+imported/w3c/web-platform-tests/service-workers/service-worker/http-to-https-redirect-and-register.https.html [ Pass Failure ]
+
# rdar://79084756 ((r278618) media/modern-media-controls /overflow-support/chapters.html is timing out since introduction (226828))
media/modern-media-controls/overflow-support/chapters.html [ Pass ]
Modified: trunk/LayoutTests/platform/mac/TestExpectations (282512 => 282513)
--- trunk/LayoutTests/platform/mac/TestExpectations 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2021-09-16 08:56:57 UTC (rev 282513)
@@ -2343,6 +2343,21 @@
webkit.org/b/230116 imported/w3c/web-platform-tests/webrtc-extensions/transfer-datachannel.html [ Pass Failure ]
+# display-p3 canvas and ImageData are Cocoa only for now.
+[ Monterey+ ] fast/canvas/canvas-color-space-display-p3-ImageData.html [ Pass ]
+[ Monterey+ ] fast/canvas/canvas-color-space-display-p3.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.shadow.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.strokeText.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.p3.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.srgb.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.p3.canvas.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toBlob.with.putImageData.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.p3.canvas.html [ Pass ]
+[ Monterey+ ] imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.toDataURL.with.putImageData.html [ Pass ]
+[ Monterey+ ] storage/indexeddb/structured-clone-image-data-display-p3.html [ Pass ]
+
# rdar://82132196 (20 webkit imported/w3c/web-platform-tests/css/ layout tests failing)
[ Monterey ] imported/w3c/web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative.html [ Pass ImageOnlyFailure ]
[ Monterey ] imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-016.html [ Pass ImageOnlyFailure ]
Modified: trunk/Source/WTF/ChangeLog (282512 => 282513)
--- trunk/Source/WTF/ChangeLog 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WTF/ChangeLog 2021-09-16 08:56:57 UTC (rev 282513)
@@ -1,3 +1,28 @@
+2021-09-16 Cameron McCormack <[email protected]>
+
+ Disable display-p3 canvas and ImageData on platforms other than Monterey+ and iOS 15+
+ https://bugs.webkit.org/show_bug.cgi?id=230139
+ <rdar://81828819>
+
+ Reviewed by Sam Weinig.
+
+ Add HAVE(CORE_ANIMATION_FIX_FOR_RADAR_78402035) to represent whether
+ CoreAnimation has a fix for a bug that prevents Display P3 canvas
+ rendering operations from behaving correctly.
+
+ Add ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3) to represent whether the
+ "display-p3" values of the PredefinedColorSpace IDL enum is enabled.
+ This in turn controls whether Display P3 canvases and ImageData objects
+ can be created. We turn this on only for platforms where
+ ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3), since that is what the
+ canvas and ImageData backing stores use, and only if
+ HAVE(CORE_ANIMATION_FIX_FOR_RADAR_78402035). The result is that these
+ features are only enabled on macOS Monterey+ and iOS 15+.
+
+ * wtf/PlatformEnable.h:
+ * wtf/PlatformEnableCocoa.h:
+ * wtf/PlatformHave.h:
+
2021-09-15 Philip Chimento <[email protected]>
Fixes for build-webkit --minimal
Modified: trunk/Source/WTF/wtf/PlatformEnable.h (282512 => 282513)
--- trunk/Source/WTF/wtf/PlatformEnable.h 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WTF/wtf/PlatformEnable.h 2021-09-16 08:56:57 UTC (rev 282513)
@@ -888,10 +888,14 @@
#define ENABLE_LLINT_EMBEDDED_OPCODE_ID 1
#endif
+#if !defined(ENABLE_PREDEFINED_COLOR_SPACE_DISPLAY_P3)
+#define ENABLE_PREDEFINED_COLOR_SPACE_DISPLAY_P3 0
+#endif
+
/* Asserts, invariants for macro definitions */
#if ENABLE(MEDIA_CONTROLS_SCRIPT) && !ENABLE(VIDEO)
@@ -925,3 +929,7 @@
#endif
#endif
+
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3) && !ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#error "ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3) requires ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)"
+#endif
Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (282512 => 282513)
--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2021-09-16 08:56:57 UTC (rev 282513)
@@ -714,3 +714,7 @@
#if !defined(ENABLE_IMAGE_ANALYSIS_FOR_MACHINE_READABLE_CODES) && HAVE(VK_IMAGE_ANALYSIS_FOR_MACHINE_READABLE_CODES)
#define ENABLE_IMAGE_ANALYSIS_FOR_MACHINE_READABLE_CODES 1
#endif
+
+#if !defined(ENABLE_PREDEFINED_COLOR_SPACE_DISPLAY_P3) && HAVE(CORE_ANIMATION_FIX_FOR_RADAR_78402035)
+#define ENABLE_PREDEFINED_COLOR_SPACE_DISPLAY_P3 1
+#endif
Modified: trunk/Source/WTF/wtf/PlatformHave.h (282512 => 282513)
--- trunk/Source/WTF/wtf/PlatformHave.h 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WTF/wtf/PlatformHave.h 2021-09-16 08:56:57 UTC (rev 282513)
@@ -1111,3 +1111,10 @@
#if (PLATFORM(IOS) && !PLATFORM(IOS_FAMILY_SIMULATOR)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 150000
#define HAVE_SYSTEM_STATUS 1
#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000) \
+ || (((PLATFORM(IOS) && !PLATFORM(IOS_FAMILY_SIMULATOR)) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 150000) \
+ || (PLATFORM(WATCHOS) && !PLATFORM(IOS_FAMILY_SIMULATOR) && __WATCH_OS_VERSION_MIN_REQUIRED >= 80000) \
+ || (PLATFORM(APPLETV) && !PLATFORM(IOS_FAMILY_SIMULATOR) && __TV_OS_VERSION_MIN_REQUIRED >= 150000)
+#define HAVE_CORE_ANIMATION_FIX_FOR_RADAR_78402035 1
+#endif
Modified: trunk/Source/WebCore/ChangeLog (282512 => 282513)
--- trunk/Source/WebCore/ChangeLog 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WebCore/ChangeLog 2021-09-16 08:56:57 UTC (rev 282513)
@@ -1,3 +1,20 @@
+2021-09-16 Cameron McCormack <[email protected]>
+
+ Disable display-p3 canvas and ImageData on platforms other than Monterey+ and iOS 15+
+ https://bugs.webkit.org/show_bug.cgi?id=230139
+ <rdar://81828819>
+
+ Reviewed by Sam Weinig.
+
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::write):
+ (WebCore::CloneDeserializer::read):
+ * html/canvas/PredefinedColorSpace.cpp:
+ (WebCore::toDestinationColorSpace):
+ (WebCore::toPredefinedColorSpace):
+ * html/canvas/PredefinedColorSpace.h:
+ * html/canvas/PredefinedColorSpace.idl:
+
2021-09-16 Youenn Fablet <[email protected]>
Use libwebrtc OnStandardizedIceConnectionChange callback instead of OnIceConnectionChange
Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (282512 => 282513)
--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp 2021-09-16 08:56:57 UTC (rev 282513)
@@ -237,7 +237,7 @@
enum class PredefinedColorSpaceTag : uint8_t {
SRGB = 0
-#if ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
, DisplayP3 = 1
#endif
};
@@ -1564,7 +1564,7 @@
case PredefinedColorSpace::SRGB:
writeLittleEndian<uint8_t>(m_buffer, static_cast<uint8_t>(PredefinedColorSpaceTag::SRGB));
break;
-#if ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
case PredefinedColorSpace::DisplayP3:
writeLittleEndian<uint8_t>(m_buffer, static_cast<uint8_t>(PredefinedColorSpaceTag::DisplayP3));
break;
@@ -2561,7 +2561,7 @@
case PredefinedColorSpaceTag::SRGB:
result = PredefinedColorSpace::SRGB;
return true;
-#if ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
case PredefinedColorSpaceTag::DisplayP3:
result = PredefinedColorSpace::DisplayP3;
return true;
Modified: trunk/Source/WebCore/html/canvas/PredefinedColorSpace.cpp (282512 => 282513)
--- trunk/Source/WebCore/html/canvas/PredefinedColorSpace.cpp 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WebCore/html/canvas/PredefinedColorSpace.cpp 2021-09-16 08:56:57 UTC (rev 282513)
@@ -35,7 +35,7 @@
switch (colorSpace) {
case PredefinedColorSpace::SRGB:
return DestinationColorSpace::SRGB();
-#if ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
case PredefinedColorSpace::DisplayP3:
return DestinationColorSpace::DisplayP3();
#endif
@@ -49,7 +49,7 @@
{
if (colorSpace == DestinationColorSpace::SRGB())
return PredefinedColorSpace::SRGB;
-#if ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
if (colorSpace == DestinationColorSpace::DisplayP3())
return PredefinedColorSpace::DisplayP3;
#endif
Modified: trunk/Source/WebCore/html/canvas/PredefinedColorSpace.h (282512 => 282513)
--- trunk/Source/WebCore/html/canvas/PredefinedColorSpace.h 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WebCore/html/canvas/PredefinedColorSpace.h 2021-09-16 08:56:57 UTC (rev 282513)
@@ -34,7 +34,7 @@
enum class PredefinedColorSpace {
SRGB
-#if ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
, DisplayP3
#endif
};
@@ -50,7 +50,7 @@
using values = EnumValues<
WebCore::PredefinedColorSpace,
WebCore::PredefinedColorSpace::SRGB
-#if ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3)
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
, WebCore::PredefinedColorSpace::DisplayP3
#endif
>;
Modified: trunk/Source/WebCore/html/canvas/PredefinedColorSpace.idl (282512 => 282513)
--- trunk/Source/WebCore/html/canvas/PredefinedColorSpace.idl 2021-09-16 08:51:23 UTC (rev 282512)
+++ trunk/Source/WebCore/html/canvas/PredefinedColorSpace.idl 2021-09-16 08:56:57 UTC (rev 282513)
@@ -26,7 +26,7 @@
// https://html.spec.whatwg.org/multipage/canvas.html#predefinedcolorspace
enum PredefinedColorSpace {
"srgb"
-#if defined(ENABLE_DESTINATION_COLOR_SPACE_DISPLAY_P3) && ENABLE_DESTINATION_COLOR_SPACE_DISPLAY_P3
+#if defined(ENABLE_PREDEFINED_COLOR_SPACE_DISPLAY_P3) && ENABLE_PREDEFINED_COLOR_SPACE_DISPLAY_P3
, "display-p3"
#endif
};