Title: [286272] trunk/Source
Revision
286272
Author
ddkil...@apple.com
Date
2021-11-29 16:20:30 -0800 (Mon, 29 Nov 2021)

Log Message

Disable experimental web features on platforms without UI to enable them
<https://webkit.org/b/233152>
<rdar://problem/85430643>

Reviewed by Brent Fulgham.

Source/WebKit:

* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::makeNode):
* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h:
* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm:
- Fix build when ENABLE(MODEL_ELEMENT) is false.

Source/WTF:

* wtf/PlatformEnableCocoa.h:
(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER):
(ENABLE_CSS_PAINTING_API):
(ENABLE_CSS_TYPED_OM):
(ENABLE_MODEL_ELEMENT):
(ENABLE_SEPARATED_MODEL):
- Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.
* wtf/PlatformHave.h:
(HAVE_EXPERIMENTAL_WEB_FEATURES_UI): Add.
- Define for tvOS and watchOS, which don't have UI to enable
  experimental web features.
(HAVE_CELESTIAL):
(HAVE_CFNETWORK_ALTERNATIVE_SERVICE):
(HAVE_NETWORK_LOADER):
(HAVE_AVSAMPLEBUFFERVIDEOOUTPUT):
- Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (286271 => 286272)


--- trunk/Source/WTF/ChangeLog	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WTF/ChangeLog	2021-11-30 00:20:30 UTC (rev 286272)
@@ -1,3 +1,28 @@
+2021-11-29  David Kilzer  <ddkil...@apple.com>
+
+        Disable experimental web features on platforms without UI to enable them
+        <https://webkit.org/b/233152>
+        <rdar://problem/85430643>
+
+        Reviewed by Brent Fulgham.
+
+        * wtf/PlatformEnableCocoa.h:
+        (ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER):
+        (ENABLE_CSS_PAINTING_API):
+        (ENABLE_CSS_TYPED_OM):
+        (ENABLE_MODEL_ELEMENT):
+        (ENABLE_SEPARATED_MODEL):
+        - Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.
+        * wtf/PlatformHave.h:
+        (HAVE_EXPERIMENTAL_WEB_FEATURES_UI): Add.
+        - Define for tvOS and watchOS, which don't have UI to enable
+          experimental web features.
+        (HAVE_CELESTIAL):
+        (HAVE_CFNETWORK_ALTERNATIVE_SERVICE):
+        (HAVE_NETWORK_LOADER):
+        (HAVE_AVSAMPLEBUFFERVIDEOOUTPUT):
+        - Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.
+
 2021-11-29  Chris Fleizach  <cfleiz...@apple.com>
 
         AX: Unify speech synthesizer platform usage for Mac/iOS

Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (286271 => 286272)


--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-11-30 00:20:30 UTC (rev 286272)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2020 Apple Inc. All rights reserved.
+ * Copyright (C) 2006-2021 Apple Inc. All rights reserved.
  * Copyright (C) 2007-2009 Torch Mobile, Inc.
  * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
  * Copyright (C) 2013 Samsung Electronics. All rights reserved.
@@ -171,7 +171,7 @@
 #define ENABLE_CONTEXT_MENU_EVENT 0
 #endif
 
-#if !defined(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER)
+#if !defined(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER 1
 #endif
 
@@ -184,7 +184,7 @@
 #define ENABLE_CSS_CONIC_GRADIENTS 1
 #endif
 
-#if !defined(ENABLE_CSS_PAINTING_API)
+#if !defined(ENABLE_CSS_PAINTING_API) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_CSS_PAINTING_API 1
 #endif
 
@@ -196,7 +196,7 @@
 #define ENABLE_CSS_TRAILING_WORD 1
 #endif
 
-#if !defined(ENABLE_CSS_TYPED_OM)
+#if !defined(ENABLE_CSS_TYPED_OM) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_CSS_TYPED_OM 1
 #endif
 
@@ -405,7 +405,7 @@
 #define ENABLE_META_VIEWPORT 1
 #endif
 
-#if !defined(ENABLE_MODEL_ELEMENT)
+#if !defined(ENABLE_MODEL_ELEMENT) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_MODEL_ELEMENT 1
 #endif
 
@@ -704,7 +704,7 @@
 #define ENABLE_CSS_TRANSFORM_STYLE_OPTIMIZED_3D 1
 #endif
 
-#if !defined(ENABLE_SEPARATED_MODEL) && HAVE(UIKIT_WEBKIT_INTERNALS) && HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+#if !defined(ENABLE_SEPARATED_MODEL) && HAVE(UIKIT_WEBKIT_INTERNALS) && HAVE(CORE_ANIMATION_SEPARATED_LAYERS) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_SEPARATED_MODEL 1
 #endif
 

Modified: trunk/Source/WTF/wtf/PlatformHave.h (286271 => 286272)


--- trunk/Source/WTF/wtf/PlatformHave.h	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2021-11-30 00:20:30 UTC (rev 286272)
@@ -81,6 +81,10 @@
 #define HAVE_ARM_NEON_INTRINSICS 0
 #endif
 
+#if !defined(HAVE_EXPERIMENTAL_WEB_FEATURES_UI) && (PLATFORM(MAC) || PLATFORM(MACCATALYST) || PLATFORM(IOS))
+#define HAVE_EXPERIMENTAL_WEB_FEATURES_UI 1
+#endif
+
 #if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) && PLATFORM(IOS_FAMILY)
 #define HAVE_VISIBILITY_PROPAGATION_VIEW 1
 #endif
@@ -254,7 +258,7 @@
 #define HAVE_APP_LINKS 1
 #endif
 
-#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
+#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define HAVE_CELESTIAL 1
 #endif
 
@@ -440,7 +444,7 @@
 #define HAVE_CFNETWORK_METRICS_APIS_V4 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)
+#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define HAVE_CFNETWORK_ALTERNATIVE_SERVICE 1
 #endif
 
@@ -733,7 +737,9 @@
     || ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 150000) \
     || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 80000) \
     || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 150000)
+#if HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define HAVE_NETWORK_LOADER 1
+#endif
 #define HAVE_SEC_TRUST_COPY_CERTIFICATE_CHAIN 1
 #define HAVE_OS_LAUNCHD_JOB 1
 #define HAVE_NSURL_EMPTY_PUNYCODE_CHECK 1
@@ -1070,7 +1076,7 @@
 #endif
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)
+#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define HAVE_AVSAMPLEBUFFERVIDEOOUTPUT 1
 #endif
 

Modified: trunk/Source/WebKit/ChangeLog (286271 => 286272)


--- trunk/Source/WebKit/ChangeLog	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WebKit/ChangeLog	2021-11-30 00:20:30 UTC (rev 286272)
@@ -1,3 +1,17 @@
+2021-11-29  David Kilzer  <ddkil...@apple.com>
+
+        Disable experimental web features on platforms without UI to enable them
+        <https://webkit.org/b/233152>
+        <rdar://problem/85430643>
+
+        Reviewed by Brent Fulgham.
+
+        * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
+        (WebKit::RemoteLayerTreeHost::makeNode):
+        * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h:
+        * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm:
+        - Fix build when ENABLE(MODEL_ELEMENT) is false.
+
 2021-11-29  Tim Horton  <timothy_hor...@apple.com>
 
         Plumb raw platform scrolling deltas along in wheel events

Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm (286271 => 286272)


--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm	2021-11-30 00:20:30 UTC (rev 286272)
@@ -95,7 +95,8 @@
             return makeWithView(adoptNS([[WKChildScrollView alloc] init]));
         // The debug indicator parents views under layers, which can cause crashes with UIScrollView.
         return makeWithView(adoptNS([[UIView alloc] init]));
-            
+
+#if ENABLE(MODEL_ELEMENT)
     case PlatformCALayer::LayerTypeModelLayer:
 #if ENABLE(SEPARATED_MODEL)
         return makeWithView(adoptNS([[WKSeparatedModelView alloc] initWithModel:*properties.model]));
@@ -104,6 +105,7 @@
 #else
         return makeWithView(adoptNS([[WKCompositingView alloc] init]));
 #endif
+#endif // ENABLE(MODEL_ELEMENT)
 
     default:
         ASSERT_NOT_REACHED();

Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h (286271 => 286272)


--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h	2021-11-30 00:20:30 UTC (rev 286272)
@@ -27,6 +27,8 @@
 
 #include "PlatformCALayerRemote.h"
 
+#if ENABLE(MODEL_ELEMENT)
+
 namespace WebKit {
 
 class PlatformCALayerRemoteModelHosting final : public PlatformCALayerRemote {
@@ -51,3 +53,5 @@
 } // namespace WebKit
 
 SPECIALIZE_TYPE_TRAITS_PLATFORM_CALAYER(WebKit::PlatformCALayerRemoteModelHosting, isPlatformCALayerRemote())
+
+#endif // ENABLE(MODEL_ELEMENT)

Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm (286271 => 286272)


--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm	2021-11-30 00:20:30 UTC (rev 286272)
@@ -26,6 +26,8 @@
 #import "config.h"
 #import "PlatformCALayerRemoteModelHosting.h"
 
+#if ENABLE(MODEL_ELEMENT)
+
 #import "RemoteLayerTreeContext.h"
 #import "WebProcess.h"
 #import <WebCore/GraphicsLayerCA.h>
@@ -73,3 +75,5 @@
 }
 
 } // namespace WebKit
+
+#endif // ENABLE(MODEL_ELEMENT)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to