- 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)