// Copyright (C) 2009-2019 Apple Inc. All rights reserved.
// Copyright (C) 2009 Google 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. ``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
// 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.

// The contents of this file must be kept in sync with FeatureDefines.xcconfig in JavaScriptCore,
// WebCore, WebKitLegacy and WebKit.  Also the default values of the ENABLE_FEATURE_NAME macros in
// build-webkit should match the values below, but they do not need to be in the same order.

// Keep this list of features (not enabled/disabled state) in sync with FeatureDefines.props
// and FeatureDefinesCairo.props in Source/cmake/tools/vsprops.

// Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.

#include "WebKitTargetConditionals.xcconfig"

ENABLE_3D_TRANSFORMS = ENABLE_3D_TRANSFORMS;

ENABLE_ACCELERATED_2D_CANVAS = ;

ENABLE_ACCESSIBILITY_ISOLATED_TREE = $(ENABLE_ACCESSIBILITY_ISOLATED_TREE_$(WK_PLATFORM_NAME));
ENABLE_ACCESSIBILITY_ISOLATED_TREE_macosx = $(ENABLE_ACCESSIBILITY_ISOLATED_TREE$(WK_MACOS_1016));
ENABLE_ACCESSIBILITY_ISOLATED_TREE_MACOS_SINCE_1016 = ENABLE_ACCESSIBILITY_ISOLATED_TREE;

ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
ENABLE_APPLE_PAY_macosx = ENABLE_APPLE_PAY;

ENABLE_APPLE_PAY_SESSION_V3 = $(ENABLE_APPLE_PAY_SESSION_V3_$(WK_PLATFORM_NAME));
ENABLE_APPLE_PAY_SESSION_V3_iphoneos = ENABLE_APPLE_PAY_SESSION_V3;
ENABLE_APPLE_PAY_SESSION_V3_iphonesimulator = ENABLE_APPLE_PAY_SESSION_V3;
ENABLE_APPLE_PAY_SESSION_V3_macosx = ENABLE_APPLE_PAY_SESSION_V3;

ENABLE_APPLE_PAY_SESSION_V4 = $(ENABLE_APPLE_PAY_SESSION_V4_$(WK_PLATFORM_NAME));
ENABLE_APPLE_PAY_SESSION_V4_iphoneos = ENABLE_APPLE_PAY_SESSION_V4;
ENABLE_APPLE_PAY_SESSION_V4_iphoneos[sdk=iphone*11.*] = ;
ENABLE_APPLE_PAY_SESSION_V4_iphonesimulator = ENABLE_APPLE_PAY_SESSION_V4;
ENABLE_APPLE_PAY_SESSION_V4_iphonesimulator[sdk=iphone*11.*] = ;
ENABLE_APPLE_PAY_SESSION_V4_macosx = $(ENABLE_APPLE_PAY_SESSION_V4$(WK_MACOS_1014));
ENABLE_APPLE_PAY_SESSION_V4_MACOS_SINCE_1014 = ENABLE_APPLE_PAY_SESSION_V4;

ENABLE_APPLICATION_MANIFEST = ENABLE_APPLICATION_MANIFEST;

ENABLE_ATTACHMENT_ELEMENT = ENABLE_ATTACHMENT_ELEMENT;

ENABLE_AVF_CAPTIONS = ENABLE_AVF_CAPTIONS;

ENABLE_CACHE_PARTITIONING = ENABLE_CACHE_PARTITIONING;

ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;

ENABLE_CONTENT_FILTERING = $(ENABLE_CONTENT_FILTERING_$(WK_PLATFORM_NAME));
ENABLE_CONTENT_FILTERING_iphoneos = ENABLE_CONTENT_FILTERING;
ENABLE_CONTENT_FILTERING_iphonesimulator = ENABLE_CONTENT_FILTERING;
ENABLE_CONTENT_FILTERING_maccatalyst = ENABLE_CONTENT_FILTERING;
ENABLE_CONTENT_FILTERING_macosx = ENABLE_CONTENT_FILTERING;
ENABLE_CONTENT_FILTERING_watchos = ENABLE_CONTENT_FILTERING;

// FIXME: Enable for watchsimulator once rdar://problem/54608386 is resolved
ENABLE_CONTENT_FILTERING_watchsimulator = ;

ENABLE_CSS3_TEXT = ;

ENABLE_CSS_BOX_DECORATION_BREAK = ENABLE_CSS_BOX_DECORATION_BREAK;

ENABLE_CSS_COMPOSITING = ENABLE_CSS_COMPOSITING;

ENABLE_CSS_CONIC_GRADIENTS = ENABLE_CSS_CONIC_GRADIENTS;
ENABLE_CSS_CONIC_GRADIENTS = $(ENABLE_CSS_CONIC_GRADIENTS_$(WK_PLATFORM_NAME));
ENABLE_CSS_CONIC_GRADIENTS_iphoneos = ENABLE_CSS_CONIC_GRADIENTS;
ENABLE_CSS_CONIC_GRADIENTS_iphoneos[sdk=iphone*11.*] = ;
ENABLE_CSS_CONIC_GRADIENTS_iphonesimulator = ENABLE_CSS_CONIC_GRADIENTS;
ENABLE_CSS_CONIC_GRADIENTS_iphonesimulator[sdk=iphone*11.*] = ;
ENABLE_CSS_CONIC_GRADIENTS_watchos = ENABLE_CSS_CONIC_GRADIENTS;
ENABLE_CSS_CONIC_GRADIENTS_watchsimulator = ENABLE_CSS_CONIC_GRADIENTS;
ENABLE_CSS_CONIC_GRADIENTS_maccatalyst = ENABLE_CSS_CONIC_GRADIENTS;
ENABLE_CSS_CONIC_GRADIENTS_macosx = $(ENABLE_CSS_CONIC_GRADIENTS$(WK_MACOS_1014));
ENABLE_CSS_CONIC_GRADIENTS_MACOS_SINCE_1014 = ENABLE_CSS_CONIC_GRADIENTS;

ENABLE_CSS_DEVICE_ADAPTATION = ;

ENABLE_CSS_IMAGE_RESOLUTION = ;

ENABLE_CSS_PAINTING_API = ENABLE_CSS_PAINTING_API;

ENABLE_CSS_SCROLL_SNAP = ENABLE_CSS_SCROLL_SNAP;

ENABLE_CSS_SELECTORS_LEVEL4 = ENABLE_CSS_SELECTORS_LEVEL4;

ENABLE_CSS_TRAILING_WORD = ENABLE_CSS_TRAILING_WORD;

ENABLE_CSS_TYPED_OM = ENABLE_CSS_TYPED_OM;

ENABLE_CURSOR_VISIBILITY = ENABLE_CURSOR_VISIBILITY;

ENABLE_CUSTOM_SCHEME_HANDLER = ;

ENABLE_DARK_MODE_CSS = $(ENABLE_DARK_MODE_CSS_$(WK_PLATFORM_NAME));
ENABLE_DARK_MODE_CSS_iphoneos = ENABLE_DARK_MODE_CSS;
ENABLE_DARK_MODE_CSS_iphonesimulator = ENABLE_DARK_MODE_CSS;
ENABLE_DARK_MODE_CSS_maccatalyst = ENABLE_DARK_MODE_CSS;
ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;

ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;

ENABLE_DATALIST_ELEMENT = ENABLE_DATALIST_ELEMENT;

ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME));
ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION;
ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION;
ENABLE_DATA_INTERACTION_maccatalyst = ENABLE_DATA_INTERACTION;

ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME));
ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
ENABLE_DEVICE_ORIENTATION_iphonesimulator = ENABLE_DEVICE_ORIENTATION;
ENABLE_DEVICE_ORIENTATION_watchos = ENABLE_DEVICE_ORIENTATION;
ENABLE_DEVICE_ORIENTATION_watchsimulator = ENABLE_DEVICE_ORIENTATION;
ENABLE_DEVICE_ORIENTATION_appletvos = ENABLE_DEVICE_ORIENTATION;
ENABLE_DEVICE_ORIENTATION_appletvsimulator = ENABLE_DEVICE_ORIENTATION;

ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME));
ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;
ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT;
ENABLE_DRAG_SUPPORT_maccatalyst = ENABLE_DRAG_SUPPORT;

ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA;
ENABLE_ENCRYPTED_MEDIA_iphonesimulator = ENABLE_ENCRYPTED_MEDIA;
ENABLE_ENCRYPTED_MEDIA_watchos = ENABLE_ENCRYPTED_MEDIA;
ENABLE_ENCRYPTED_MEDIA_watchsimulator = ENABLE_ENCRYPTED_MEDIA;
ENABLE_ENCRYPTED_MEDIA_appletvos = ENABLE_ENCRYPTED_MEDIA;
ENABLE_ENCRYPTED_MEDIA_appletvsimulator = ENABLE_ENCRYPTED_MEDIA;
ENABLE_ENCRYPTED_MEDIA_macosx = $(ENABLE_ENCRYPTED_MEDIA$(WK_MACOS_1014));
ENABLE_ENCRYPTED_MEDIA_MACOS_SINCE_1014 = ENABLE_ENCRYPTED_MEDIA;

ENABLE_EXPERIMENTAL_FEATURES = $(ENABLE_EXPERIMENTAL_FEATURES_$(WK_RELOCATABLE_FRAMEWORKS));
ENABLE_EXPERIMENTAL_FEATURES_YES = ENABLE_EXPERIMENTAL_FEATURES;

ENABLE_FAST_JIT_PERMISSIONS = $(ENABLE_FAST_JIT_PERMISSIONS_$(WK_PLATFORM_NAME));
ENABLE_FAST_JIT_PERMISSIONS_iphoneos[arch=arm64*] = $(ENABLE_FAST_JIT_PERMISSIONS_iphoneos_$(USE_INTERNAL_SDK));
ENABLE_FAST_JIT_PERMISSIONS_iphoneos_YES = ENABLE_FAST_JIT_PERMISSIONS;
ENABLE_FAST_JIT_PERMISSIONS_maccatalyst = ;

ENABLE_FILTERS_LEVEL_2 = ENABLE_FILTERS_LEVEL_2;

ENABLE_FTL_JIT = $(ENABLE_FTL_JIT_$(WK_PLATFORM_NAME))
ENABLE_FTL_JIT_macosx = ENABLE_FTL_JIT;
ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
ENABLE_FTL_JIT_maccatalyst = ENABLE_FTL_JIT;
ENABLE_FTL_JIT_watchos = ENABLE_FTL_JIT;
ENABLE_FTL_JIT_appletvos = ENABLE_FTL_JIT;

ENABLE_FULLSCREEN_API = $(ENABLE_FULLSCREEN_API_$(WK_PLATFORM_NAME));
ENABLE_FULLSCREEN_API_iphoneos = $(ENABLE_FULLSCREEN_API$(WK_IOS_12));
ENABLE_FULLSCREEN_API_iphonesimulator = $(ENABLE_FULLSCREEN_API$(WK_IOS_12));
ENABLE_FULLSCREEN_API_IOS_SINCE_12 = ENABLE_FULLSCREEN_API;
ENABLE_FULLSCREEN_API_macosx = ENABLE_FULLSCREEN_API;

ENABLE_GAMEPAD = $(ENABLE_GAMEPAD_$(WK_PLATFORM_NAME));
ENABLE_GAMEPAD_iphoneos = ENABLE_GAMEPAD;
ENABLE_GAMEPAD_iphonesimulator = ENABLE_GAMEPAD;
ENABLE_GAMEPAD_appletvos = ENABLE_GAMEPAD;
ENABLE_GAMEPAD_appletvsimulator = ENABLE_GAMEPAD;
ENABLE_GAMEPAD_maccatalyst = ENABLE_GAMEPAD;
ENABLE_GAMEPAD_macosx = ENABLE_GAMEPAD;

ENABLE_GEOLOCATION = $(ENABLE_GEOLOCATION_$(WK_PLATFORM_NAME));
ENABLE_GEOLOCATION_iphoneos = ENABLE_GEOLOCATION;
ENABLE_GEOLOCATION_iphonesimulator = ENABLE_GEOLOCATION;
ENABLE_GEOLOCATION_maccatalyst = ENABLE_GEOLOCATION;
ENABLE_GEOLOCATION_macosx = ENABLE_GEOLOCATION;

ENABLE_GPU_PROCESS = ENABLE_GPU_PROCESS;

ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;

ENABLE_INDEXED_DATABASE_IN_WORKERS = ENABLE_INDEXED_DATABASE_IN_WORKERS;

ENABLE_INPUT_TYPE_COLOR = ENABLE_INPUT_TYPE_COLOR;

ENABLE_INPUT_TYPE_DATE = $(ENABLE_INPUT_TYPE_DATE_$(WK_PLATFORM_NAME));
ENABLE_INPUT_TYPE_DATE_iphoneos = ENABLE_INPUT_TYPE_DATE;
ENABLE_INPUT_TYPE_DATE_iphonesimulator = ENABLE_INPUT_TYPE_DATE;
ENABLE_INPUT_TYPE_DATE_watchos = ENABLE_INPUT_TYPE_DATE;
ENABLE_INPUT_TYPE_DATE_watchsimulator = ENABLE_INPUT_TYPE_DATE;

ENABLE_INPUT_TYPE_DATETIMELOCAL = $(ENABLE_INPUT_TYPE_DATETIMELOCAL_$(WK_PLATFORM_NAME));
ENABLE_INPUT_TYPE_DATETIMELOCAL_iphoneos = ENABLE_INPUT_TYPE_DATETIMELOCAL;
ENABLE_INPUT_TYPE_DATETIMELOCAL_iphonesimulator = ENABLE_INPUT_TYPE_DATETIMELOCAL;
ENABLE_INPUT_TYPE_DATETIMELOCAL_watchos = ENABLE_INPUT_TYPE_DATETIMELOCAL;
ENABLE_INPUT_TYPE_DATETIMELOCAL_watchsimulator = ENABLE_INPUT_TYPE_DATETIMELOCAL;

ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE = ;

ENABLE_INPUT_TYPE_MONTH = $(ENABLE_INPUT_TYPE_MONTH_$(WK_PLATFORM_NAME));
ENABLE_INPUT_TYPE_MONTH_iphoneos = ENABLE_INPUT_TYPE_MONTH;
ENABLE_INPUT_TYPE_MONTH_iphonesimulator = ENABLE_INPUT_TYPE_MONTH;
ENABLE_INPUT_TYPE_MONTH_watchos = ENABLE_INPUT_TYPE_MONTH;
ENABLE_INPUT_TYPE_MONTH_watchsimulator = ENABLE_INPUT_TYPE_MONTH;

ENABLE_INPUT_TYPE_TIME = $(ENABLE_INPUT_TYPE_TIME_$(WK_PLATFORM_NAME));
ENABLE_INPUT_TYPE_TIME_iphoneos = ENABLE_INPUT_TYPE_TIME;
ENABLE_INPUT_TYPE_TIME_iphonesimulator = ENABLE_INPUT_TYPE_TIME;
ENABLE_INPUT_TYPE_TIME_watchos = ENABLE_INPUT_TYPE_TIME;
ENABLE_INPUT_TYPE_TIME_watchsimulator = ENABLE_INPUT_TYPE_TIME;

ENABLE_INPUT_TYPE_WEEK = $(ENABLE_INPUT_TYPE_WEEK_$(WK_PLATFORM_NAME));
ENABLE_INPUT_TYPE_WEEK_iphoneos = ENABLE_INPUT_TYPE_WEEK;
ENABLE_INPUT_TYPE_WEEK_iphonesimulator = ENABLE_INPUT_TYPE_WEEK;
ENABLE_INPUT_TYPE_WEEK_watchos = ENABLE_INPUT_TYPE_WEEK;
ENABLE_INPUT_TYPE_WEEK_watchsimulator = ENABLE_INPUT_TYPE_WEEK;

ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS = ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS;

ENABLE_INSPECTOR_TELEMETRY = ENABLE_INSPECTOR_TELEMETRY;

ENABLE_INTERSECTION_OBSERVER = ENABLE_INTERSECTION_OBSERVER;

ENABLE_INTL = ENABLE_INTL;

ENABLE_IOS_GESTURE_EVENTS = $(ENABLE_IOS_GESTURE_EVENTS_$(WK_COCOA_TOUCH)_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
ENABLE_IOS_GESTURE_EVENTS_cocoatouch_WITH_INTERNAL_SDK_YES = ENABLE_IOS_GESTURE_EVENTS;

ENABLE_IOS_TOUCH_EVENTS = $(ENABLE_IOS_TOUCH_EVENTS_$(WK_COCOA_TOUCH)_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
ENABLE_IOS_TOUCH_EVENTS_cocoatouch_WITH_INTERNAL_SDK_YES = ENABLE_IOS_TOUCH_EVENTS;

ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;

ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;

ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER = ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER;

ENABLE_LEGACY_ENCRYPTED_MEDIA = $(ENABLE_LEGACY_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
ENABLE_LEGACY_ENCRYPTED_MEDIA_iphoneos = ENABLE_LEGACY_ENCRYPTED_MEDIA;
ENABLE_LEGACY_ENCRYPTED_MEDIA_iphonesimulator = ENABLE_LEGACY_ENCRYPTED_MEDIA;
ENABLE_LEGACY_ENCRYPTED_MEDIA_watchos = ENABLE_LEGACY_ENCRYPTED_MEDIA;
ENABLE_LEGACY_ENCRYPTED_MEDIA_watchsimulator = ENABLE_LEGACY_ENCRYPTED_MEDIA;
ENABLE_LEGACY_ENCRYPTED_MEDIA_appletvos = ENABLE_LEGACY_ENCRYPTED_MEDIA;
ENABLE_LEGACY_ENCRYPTED_MEDIA_appletvsimulator = ENABLE_LEGACY_ENCRYPTED_MEDIA;
ENABLE_LEGACY_ENCRYPTED_MEDIA_macosx = ENABLE_LEGACY_ENCRYPTED_MEDIA;

ENABLE_LETTERPRESS = $(ENABLE_LETTERPRESS_$(WK_COCOA_TOUCH));
ENABLE_LETTERPRESS_cocoatouch = ENABLE_LETTERPRESS;

ENABLE_MAC_GESTURE_EVENTS = $(ENABLE_MAC_GESTURE_EVENTS_$(WK_PLATFORM_NAME)_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
ENABLE_MAC_GESTURE_EVENTS_macosx_WITH_INTERNAL_SDK_YES = ENABLE_MAC_GESTURE_EVENTS;

ENABLE_MAC_VIDEO_TOOLBOX = $(ENABLE_MAC_VIDEO_TOOLBOX_$(WK_PLATFORM_NAME)_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
ENABLE_MAC_VIDEO_TOOLBOX_macosx_WITH_INTERNAL_SDK_YES = ENABLE_MAC_VIDEO_TOOLBOX;

ENABLE_MATHML = ENABLE_MATHML;

ENABLE_MEDIA_CAPTURE = $(ENABLE_MEDIA_CAPTURE_$(WK_COCOA_TOUCH));
ENABLE_MEDIA_CAPTURE_cocoatouch = ENABLE_MEDIA_CAPTURE;

ENABLE_MEDIA_CONTROLS_SCRIPT = ENABLE_MEDIA_CONTROLS_SCRIPT;

ENABLE_MEDIA_SESSION = ;

ENABLE_MEDIA_SOURCE = $(ENABLE_MEDIA_SOURCE_$(WK_PLATFORM_NAME));
ENABLE_MEDIA_SOURCE_macosx = ENABLE_MEDIA_SOURCE;

ENABLE_MEDIA_STATISTICS = ;

ENABLE_MEDIA_STREAM = $(ENABLE_MEDIA_STREAM_$(WK_PLATFORM_NAME));
ENABLE_MEDIA_STREAM_iphoneos = ENABLE_MEDIA_STREAM;
ENABLE_MEDIA_STREAM_iphonesimulator = ENABLE_MEDIA_STREAM;
ENABLE_MEDIA_STREAM_macosx = ENABLE_MEDIA_STREAM;

ENABLE_MEMORY_SAMPLER = ENABLE_MEMORY_SAMPLER;

ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;

ENABLE_MHTML = ;

ENABLE_MOUSE_CURSOR_SCALE = $(ENABLE_MOUSE_CURSOR_SCALE_$(WK_PLATFORM_NAME));
ENABLE_MOUSE_CURSOR_SCALE_macosx = ENABLE_MOUSE_CURSOR_SCALE;

ENABLE_NAVIGATOR_STANDALONE = $(ENABLE_NAVIGATOR_STANDALONE_$(WK_COCOA_TOUCH));
ENABLE_NAVIGATOR_STANDALONE_cocoatouch = ENABLE_NAVIGATOR_STANDALONE;

ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION = ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION;

ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(WK_PLATFORM_NAME));
ENABLE_NOTIFICATIONS_macosx = ENABLE_NOTIFICATIONS;

ENABLE_OFFSCREEN_CANVAS = ;

ENABLE_OVERFLOW_SCROLLING_TOUCH = $(ENABLE_OVERFLOW_SCROLLING_TOUCH_$(WK_COCOA_TOUCH));
ENABLE_OVERFLOW_SCROLLING_TOUCH_cocoatouch = ENABLE_OVERFLOW_SCROLLING_TOUCH;

ENABLE_PAYMENT_REQUEST = ENABLE_PAYMENT_REQUEST;

ENABLE_PICTURE_IN_PICTURE_API = $(ENABLE_PICTURE_IN_PICTURE_API_$(WK_PLATFORM_NAME));
ENABLE_PICTURE_IN_PICTURE_API_iphoneos = ENABLE_PICTURE_IN_PICTURE_API;
ENABLE_PICTURE_IN_PICTURE_API_iphonesimulator = ENABLE_PICTURE_IN_PICTURE_API;
ENABLE_PICTURE_IN_PICTURE_API_macosx = ENABLE_PICTURE_IN_PICTURE_API;

ENABLE_PDFKIT_PLUGIN = $(ENABLE_PDFKIT_PLUGIN_$(WK_PLATFORM_NAME));
ENABLE_PDFKIT_PLUGIN_macosx = ENABLE_PDFKIT_PLUGIN;

ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME));
ENABLE_POINTER_EVENTS_iphoneos = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
ENABLE_POINTER_EVENTS_iphonesimulator = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
ENABLE_POINTER_EVENTS_IOS_SINCE_13 = ENABLE_POINTER_EVENTS;
ENABLE_POINTER_EVENTS_maccatalyst = ENABLE_POINTER_EVENTS;
ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
ENABLE_POINTER_EVENTS_watchos = ENABLE_POINTER_EVENTS;
ENABLE_POINTER_EVENTS_watchos[sdk=watch*5.*] = ;
ENABLE_POINTER_EVENTS_watchsimulator = ENABLE_POINTER_EVENTS;
ENABLE_POINTER_EVENTS_watchsimulator[sdk=watch*5.*] = ;

ENABLE_POINTER_LOCK = $(ENABLE_POINTER_LOCK_$(WK_PLATFORM_NAME));
ENABLE_POINTER_LOCK_macosx = ENABLE_POINTER_LOCK;

ENABLE_PUBLIC_SUFFIX_LIST = ENABLE_PUBLIC_SUFFIX_LIST;

ENABLE_QUOTA = ;

ENABLE_REMOTE_INSPECTOR = ENABLE_REMOTE_INSPECTOR;

ENABLE_RESIZE_OBSERVER = ENABLE_RESIZE_OBSERVER;

ENABLE_RESOLUTION_MEDIA_QUERY = ;

ENABLE_RESOURCE_LOAD_STATISTICS = ENABLE_RESOURCE_LOAD_STATISTICS;

ENABLE_RESOURCE_USAGE = ENABLE_RESOURCE_USAGE;

ENABLE_RUBBER_BANDING = $(ENABLE_RUBBER_BANDING_$(WK_PLATFORM_NAME));
ENABLE_RUBBER_BANDING_macosx = ENABLE_RUBBER_BANDING;

ENABLE_SANDBOX_EXTENSIONS = ENABLE_SANDBOX_EXTENSIONS;

ENABLE_SERVER_PRECONNECT = ENABLE_SERVER_PRECONNECT;

ENABLE_SERVICE_CONTROLS = $(ENABLE_SERVICE_CONTROLS_$(WK_PLATFORM_NAME));
ENABLE_SERVICE_CONTROLS_macosx = ENABLE_SERVICE_CONTROLS;

ENABLE_SERVICE_WORKER = ENABLE_SERVICE_WORKER;

ENABLE_SHAREABLE_RESOURCE = ENABLE_SHAREABLE_RESOURCE;

ENABLE_SPEECH_SYNTHESIS = $(ENABLE_SPEECH_SYNTHESIS_$(WK_PLATFORM_NAME));
ENABLE_SPEECH_SYNTHESIS_iphoneos = ENABLE_SPEECH_SYNTHESIS;
ENABLE_SPEECH_SYNTHESIS_iphonesimulator = ENABLE_SPEECH_SYNTHESIS;
ENABLE_SPEECH_SYNTHESIS_watchos = ENABLE_SPEECH_SYNTHESIS;
ENABLE_SPEECH_SYNTHESIS_watchsimulator = ENABLE_SPEECH_SYNTHESIS;
ENABLE_SPEECH_SYNTHESIS_appletvos = ENABLE_SPEECH_SYNTHESIS;
ENABLE_SPEECH_SYNTHESIS_appletvsimulator = ENABLE_SPEECH_SYNTHESIS;
ENABLE_SPEECH_SYNTHESIS_macosx = ENABLE_SPEECH_SYNTHESIS;

ENABLE_STREAMS_API = ENABLE_STREAMS_API;

ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;

ENABLE_TELEPHONE_NUMBER_DETECTION = ENABLE_TELEPHONE_NUMBER_DETECTION;

ENABLE_TEXT_AUTOSIZING = ENABLE_TEXT_AUTOSIZING;

// FIXME: Remove the USE_INTERNAL_SDK condition once we support touch events when building for iOS with
// the public SDK. See <https://webkit.org/b/179167>.
ENABLE_TOUCH_EVENTS = $(ENABLE_TOUCH_EVENTS_$(WK_COCOA_TOUCH)_WITH_INTERNAL_SDK_$(USE_INTERNAL_SDK));
ENABLE_TOUCH_EVENTS_cocoatouch_WITH_INTERNAL_SDK_YES = ENABLE_TOUCH_EVENTS;

ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;

ENABLE_USER_MESSAGE_HANDLERS = ENABLE_USER_MESSAGE_HANDLERS;

ENABLE_VARIATION_FONTS = ENABLE_VARIATION_FONTS;

ENABLE_VIDEO = ENABLE_VIDEO;

ENABLE_VIDEO_PRESENTATION_MODE = ENABLE_VIDEO_PRESENTATION_MODE;

ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;

ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN = $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN_$(WK_PLATFORM_NAME));
ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN_macosx = ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN;

ENABLE_WEBASSEMBLY = ;

ENABLE_WEBASSEMBLY_STREAMING_API = ;

ENABLE_WEBDRIVER_MOUSE_INTERACTIONS = $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS_$(WK_PLATFORM_NAME));
ENABLE_WEBDRIVER_MOUSE_INTERACTIONS_macosx = ENABLE_WEBDRIVER_MOUSE_INTERACTIONS;

ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS = ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS;

ENABLE_WEBDRIVER_TOUCH_INTERACTIONS = $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS_$(WK_PLATFORM_NAME));
ENABLE_WEBDRIVER_TOUCH_INTERACTIONS_iphoneos = ENABLE_WEBDRIVER_TOUCH_INTERACTIONS;

ENABLE_WEBGL = ENABLE_WEBGL;

ENABLE_WEBGL2 = ENABLE_WEBGL2;

ENABLE_WEBGPU = $(ENABLE_WEBGPU_$(WK_PLATFORM_NAME));
ENABLE_WEBGPU_iphoneos = $(ENABLE_WEBGPU$(WK_IOS_11));
ENABLE_WEBGPU_IOS_SINCE_11 = ENABLE_WEBGPU;
ENABLE_WEBGPU_watchos = ENABLE_WEBGPU;
ENABLE_WEBGPU_appletvos = ENABLE_WEBGPU;
ENABLE_WEBGPU_macosx = $(ENABLE_WEBGPU$(WK_MACOS_1014));
ENABLE_WEBGPU_MACOS_SINCE_1014 = ENABLE_WEBGPU;

ENABLE_WEB_API_STATISTICS = ;

ENABLE_WEB_AUDIO = ENABLE_WEB_AUDIO;

ENABLE_WEB_AUTHN = $(ENABLE_WEB_AUTHN_$(WK_PLATFORM_NAME));
ENABLE_WEB_AUTHN_iphoneos = ENABLE_WEB_AUTHN;
ENABLE_WEB_AUTHN_iphonesimulator = ENABLE_WEB_AUTHN;
ENABLE_WEB_AUTHN_macosx = ENABLE_WEB_AUTHN;

ENABLE_WEB_CRYPTO = ENABLE_WEB_CRYPTO;

ENABLE_WEB_RTC = $(ENABLE_WEB_RTC_$(WK_PLATFORM_NAME));
ENABLE_WEB_RTC_iphoneos = ENABLE_WEB_RTC;
ENABLE_WEB_RTC_iphonesimulator = ENABLE_WEB_RTC;
ENABLE_WEB_RTC_macosx = ENABLE_WEB_RTC;

ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE_WIRELESS_PLAYBACK_TARGET;

ENABLE_XSLT = ENABLE_XSLT;

FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCESSIBILITY_ISOLATED_TREE) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_CONIC_GRADIENTS) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_PAINTING_API) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS_TYPED_OM) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_C_LOOP) $(ENABLE_DARK_MODE_CSS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_PICTURE_IN_PICTURE_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_GPU_PROCESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS) $(ENABLE_INSPECTOR_TELEMETRY) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_MEMORY_SAMPLER) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFSCREEN_CANVAS) $(ENABLE_OVERFLOW_SCROLLING_TOUCH) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_EVENTS) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESIZE_OBSERVER) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_LOAD_STATISTICS) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SANDBOX_EXTENSIONS) $(ENABLE_SERVER_PRECONNECT) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SHAREABLE_RESOURCE) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USERSELECT_ALL) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBDRIVER_MOUSE_INTERACTIONS) $(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS) $(ENABLE_WEBDRIVER_TOUCH_INTERACTIONS) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WEB_API_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_CRYPTO) $(ENABLE_WEB_RTC) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
