[WebAuthN] Enable LocalAuthenticator for macOS
[WebKit-https.git] / Source / WTF / wtf / Platform.h
index 9d43bff..37e8be7 100644 (file)
 #include <TargetConditionals.h>
 #endif
 
-/* OS(IOS_FAMILY) - iOS family, including iOS, iOSMac, tvOS, watchOS */
-/* OS(IOS) - iOS only, not including iOSMac */
+/* OS(IOS_FAMILY) - iOS family, including iOS, macCatalyst, tvOS, watchOS */
+/* OS(IOS) - iOS only, not including macCatalyst */
 /* OS(MAC_OS_X) - macOS (not including iOS family) */
 #if OS(DARWIN)
 #if TARGET_OS_IOS && !(defined(TARGET_OS_IOSMAC) && TARGET_OS_IOSMAC)
 #define WTF_PLATFORM_IOS_FAMILY_SIMULATOR 1
 #endif
 #if defined(TARGET_OS_IOSMAC) && TARGET_OS_IOSMAC
-#define WTF_PLATFORM_IOSMAC 1
+#define WTF_PLATFORM_MACCATALYST 1
 #endif
 #elif OS(WINDOWS)
 #define WTF_PLATFORM_WIN 1
 
 #if PLATFORM(GTK)
 #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_36
+#define GDK_VERSION_MIN_REQUIRED GDK_VERSION_3_6
 #endif
 
 #if PLATFORM(WPE)
 #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_40
 #endif
 
-#if PLATFORM(GTK) && !defined(GTK_API_VERSION_2)
-#define GDK_VERSION_MIN_REQUIRED GDK_VERSION_3_6
-#endif
-
 #if USE(SOUP)
 #define SOUP_VERSION_MIN_REQUIRED SOUP_VERSION_2_42
 #endif
 #define USE_SYSTEM_PREVIEW 1
 #endif
 
-#if PLATFORM(IOS_FAMILY) && !PLATFORM(IOSMAC)
+#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
 #define HAVE_CELESTIAL 1
 #define HAVE_CORE_ANIMATION_RENDER_SERVER 1
 #endif
 
-#if PLATFORM(IOS_FAMILY) && !PLATFORM(IOSMAC) && !PLATFORM(APPLETV)
+#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)
 #define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1
 #endif
 
 #define USE_AVFOUNDATION 1
 #define USE_PROTECTION_SPACE_AUTH_CALLBACK 1
 
-#if !PLATFORM(WATCHOS) && !PLATFORM(APPLETV) && !PLATFORM(IOSMAC)
+#if !PLATFORM(WATCHOS) && !PLATFORM(APPLETV) && !PLATFORM(MACCATALYST)
 #define ENABLE_DATA_DETECTION 1
 #endif
 
 #endif
 
 #if ENABLE(WEBGL)
+/* USE_ANGLE=1 uses ANGLE for the WebGL backend.
+   It replaces USE_OPENGL, USE_OPENGL_ES and USE_EGL. */
 #if PLATFORM(MAC)
 #define USE_OPENGL 1
 #define USE_OPENGL_ES 0
-#elif PLATFORM(IOSMAC) && __has_include(<OpenGL/OpenGL.h>)
+#define USE_ANGLE 0
+#elif PLATFORM(MACCATALYST) && __has_include(<OpenGL/OpenGL.h>)
 #define USE_OPENGL 1
 #define USE_OPENGL_ES 0
+#define USE_ANGLE 0
 #else
 #define USE_OPENGL 0
 #define USE_OPENGL_ES 1
+#define USE_ANGLE 0
 #endif
 #if PLATFORM(COCOA)
 #ifndef GL_SILENCE_DEPRECATION
 
 #define USE_METAL 1
 
-#if HAVE(ACCESSIBILITY)
+#if ENABLE(ACCESSIBILITY)
 #define USE_ACCESSIBILITY_CONTEXT_MENUS 1
 #endif
 
 #define USE_EGL 1
 #endif
 
+#if ENABLE(WEBGL)
+#if !defined(USE_ANGLE)
+#define USE_ANGLE 0
+#endif
+
+#if (USE_ANGLE && (USE_OPENGL || USE_OPENGL_ES || (defined(USE_EGL) && USE_EGL)))
+#error USE_ANGLE is incompatible with USE_OPENGL, USE_OPENGL_ES and USE_EGL
+#endif
+#endif
+
 #if USE(TEXTURE_MAPPER) && ENABLE(GRAPHICS_CONTEXT_3D) && !defined(USE_TEXTURE_MAPPER_GL)
 #define USE_TEXTURE_MAPPER_GL 1
 #endif
 #define USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR 1
 #endif
 
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
 #define HAVE_APPLE_GRAPHICS_CONTROL 1
+#endif
+
+#if PLATFORM(MAC)
 #define USE_COREAUDIO 1
 #endif
 
 #define HAVE_IOSURFACE 1
 #endif
 
-#if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(IOSMAC)
+#if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST)
 #define HAVE_IOSURFACE_ACCELERATOR 1
 #endif
 
 #define USE_LIBWEBRTC 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS) || PLATFORM(IOSMAC) || USE(GCRYPT)
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)
 #define HAVE_RSA_PSS 1
 #endif
 
 #define HAVE_HSTS_STORAGE_PATH 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(IOSMAC)
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
 #define HAVE_URL_FORMATTING 1
 #endif
 
 #define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS) || PLATFORM(IOSMAC)
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
 #define HAVE_AVCONTENTKEYSESSION 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(IOSMAC)
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
 #define HAVE_SEC_KEY_PROXY 1
 #endif
 
 #define ENABLE_FULL_KEYBOARD_ACCESS 1
 #endif
 
+#if (PLATFORM(COCOA) && ENABLE(ASYNC_SCROLLING)) || PLATFORM(GTK)
+#define ENABLE_KINETIC_SCROLLING 1
+#endif
+
 #if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400)
 #define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE 1
 #endif
 #define ENABLE_MONOSPACE_FONT_EXCEPTION (__IPHONE_OS_VERSION_MIN_REQUIRED < 130000)
 #endif
 
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
+#define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_CTFONTCREATEFORCHARACTERSWITHLANGUAGEANDOPTION 1
+#endif
+
 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
-#define HAVE_UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID 1
+#define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1
 #endif
 
 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
 #define HAVE_UI_WK_DOCUMENT_CONTEXT 1
 #endif
 
-#if PLATFORM(IOSMAC)
+#if PLATFORM(MACCATALYST)
 #define ENABLE_PLATFORM_DRIVEN_TEXT_CHECKING 1
 #endif
 
 #define HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI 1
 #endif
 
-#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 60000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 130000)
 #define HAVE_APP_LINKS_WITH_ISENABLED 1
+#endif
+
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
 #define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO 1
 #endif
 
 #define HAVE_CORETEXT_AUTO_OPTICAL_SIZING 1
 #endif
 
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 || PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500)
+#define HAVE_APP_SSO 1
+#endif
+
+#if PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
+#define USE_UICONTEXTMENU 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED <= 101300
+#define USE_INTEL_METAL_WORKAROUND 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
+#define HAVE_SUBVIEWS_IVAR_SPI 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 40000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 110000)
+#define USE_PLATFORM_SYSTEM_FALLBACK_LIST 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 60000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_DESIGN_SYSTEM_UI_FONTS 1
+#endif
+
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 60000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 130000)
+#define USE_HIRAGINO_SANS_WORKAROUND 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR))
+#define HAVE_DEVICE_IDENTITY 1
+#endif