2 * Copyright (C) 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved.
3 * Copyright (C) 2007-2009 Torch Mobile, Inc.
4 * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
5 * Copyright (C) 2013 Samsung Electronics. All rights reserved.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
16 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
20 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
24 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 #ifndef WTF_FeatureDefines_h
30 #define WTF_FeatureDefines_h
32 /* Use this file to list _all_ ENABLE() macros. Define the macros to be one of the following values:
33 * - "0" disables the feature by default. The feature can still be enabled for a specific port or environment.
34 * - "1" enables the feature by default. The feature can still be disabled for a specific port or environment.
36 * The feature defaults in this file are only taken into account if the (port specific) build system
37 * has not enabled or disabled a particular feature.
39 * Use this file to define ENABLE() macros only. Do not use this file to define USE() or macros !
41 * Only define a macro if it was not defined before - always check for !defined first.
43 * Keep the file sorted by the name of the defines. As an exception you can change the order
44 * to allow interdependencies between the default values.
46 * Below are a few potential commands to take advantage of this file running from the Source/WTF directory
48 * Get the list of feature defines: grep -o "ENABLE_\(\w\+\)" wtf/FeatureDefines.h | sort | uniq
49 * Get the list of features enabled by default for a PLATFORM(XXX): gcc -E -dM -I. -DWTF_PLATFORM_XXX "wtf/Platform.h" | grep "ENABLE_\w\+ 1" | cut -d' ' -f2 | sort
52 /* FIXME: Move out the PLATFORM specific rules into platform specific files. */
54 /* --------- Apple IOS (but not MAC) port --------- */
57 #if !defined(ENABLE_ASYNC_SCROLLING)
58 #define ENABLE_ASYNC_SCROLLING 1
61 #if !defined(ENABLE_CONTENT_EXTENSIONS)
62 #define ENABLE_CONTENT_EXTENSIONS 1
65 #if !defined(ENABLE_CONTEXT_MENUS)
66 #define ENABLE_CONTEXT_MENUS 0
69 #if !defined(ENABLE_CSS_IMAGE_SET)
70 #define ENABLE_CSS_IMAGE_SET 1
73 #if !defined(ENABLE_CURSOR_SUPPORT)
74 #define ENABLE_CURSOR_SUPPORT 0
77 #if !defined(ENABLE_DRAG_SUPPORT)
78 #define ENABLE_DRAG_SUPPORT 0
81 #if !defined(ENABLE_GEOLOCATION)
82 #define ENABLE_GEOLOCATION 1
85 #if !defined(ENABLE_ICONDATABASE)
86 #define ENABLE_ICONDATABASE 0
89 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
90 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 1
93 #if !defined(ENABLE_LETTERPRESS)
94 #define ENABLE_LETTERPRESS 1
97 #if !defined(ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE)
98 #define ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE 1
101 #if !defined(ENABLE_IOS_GESTURE_EVENTS) && USE(APPLE_INTERNAL_SDK)
102 #define ENABLE_IOS_GESTURE_EVENTS 1
105 #if !defined(ENABLE_IOS_TEXT_AUTOSIZING)
106 #define ENABLE_IOS_TEXT_AUTOSIZING 1
109 #if !defined(ENABLE_IOS_TOUCH_EVENTS) && USE(APPLE_INTERNAL_SDK)
110 #define ENABLE_IOS_TOUCH_EVENTS 1
113 #if !defined(ENABLE_METER_ELEMENT)
114 #define ENABLE_METER_ELEMENT 0
117 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
118 #define ENABLE_NETSCAPE_PLUGIN_API 0
121 #if !defined(ENABLE_ORIENTATION_EVENTS)
122 #define ENABLE_ORIENTATION_EVENTS 1
125 #if !defined(ENABLE_POINTER_LOCK)
126 #define ENABLE_POINTER_LOCK 0
129 #if !defined(ENABLE_REMOTE_INSPECTOR)
130 #define ENABLE_REMOTE_INSPECTOR 1
133 #if !defined(ENABLE_RESPECT_EXIF_ORIENTATION)
134 #define ENABLE_RESPECT_EXIF_ORIENTATION 1
137 #if !defined(ENABLE_TEXT_CARET)
138 #define ENABLE_TEXT_CARET 0
141 #if !defined(ENABLE_TEXT_SELECTION)
142 #define ENABLE_TEXT_SELECTION 0
145 /* FIXME: Remove the USE(APPLE_INTERNAL_SDK) conjunct once we support touch events when building against
146 the public iOS SDK. We will also need to update the FeatureDefines.xcconfig files. */
147 #if !defined(ENABLE_TOUCH_EVENTS) && USE(APPLE_INTERNAL_SDK)
148 #define ENABLE_TOUCH_EVENTS 1
151 #if !defined(ENABLE_WEB_ARCHIVE)
152 #define ENABLE_WEB_ARCHIVE 1
155 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
156 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
159 #if !defined(ENABLE_WEBGL)
160 #define ENABLE_WEBGL 1
163 /* FIXME: Remove this logic and always enable XSLT once we support XSLT when building against
164 the public iOS SDK. We will also need to update the FeatureDefines.xcconfig files. */
165 #if !defined(ENABLE_XSLT) && !USE(APPLE_INTERNAL_SDK)
166 #define ENABLE_XSLT 0
169 #endif /* PLATFORM(IOS) */
171 /* --------- Apple MAC port (not IOS) --------- */
174 #if !defined(ENABLE_CONTENT_EXTENSIONS)
175 #define ENABLE_CONTENT_EXTENSIONS 1
178 #if !defined(ENABLE_CSS_IMAGE_SET)
179 #define ENABLE_CSS_IMAGE_SET 1
182 #if !defined(ENABLE_DASHBOARD_SUPPORT)
183 #define ENABLE_DASHBOARD_SUPPORT 1
186 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
187 #if !defined(ENABLE_ENCRYPTED_MEDIA)
188 #define ENABLE_ENCRYPTED_MEDIA 1
190 #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
191 #define ENABLE_ENCRYPTED_MEDIA_V2 1
195 #if !defined(ENABLE_FULLSCREEN_API)
196 #define ENABLE_FULLSCREEN_API 1
199 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
200 #if !defined(ENABLE_REMOTE_INSPECTOR)
201 #define ENABLE_REMOTE_INSPECTOR 1
204 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
205 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 1
209 #if !defined(ENABLE_SMOOTH_SCROLLING)
210 #define ENABLE_SMOOTH_SCROLLING 1
213 #if !defined(ENABLE_ASYNC_SCROLLING)
214 #define ENABLE_ASYNC_SCROLLING 1
218 #if !defined(ENABLE_VIDEO_TRACK)
219 #define ENABLE_VIDEO_TRACK 1
223 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
224 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
227 #if !defined(ENABLE_WEB_ARCHIVE)
228 #define ENABLE_WEB_ARCHIVE 1
231 #if !defined(ENABLE_WEB_AUDIO)
232 #define ENABLE_WEB_AUDIO 1
235 #if !defined(ENABLE_CURSOR_VISIBILITY)
236 #define ENABLE_CURSOR_VISIBILITY 1
239 #if !defined(ENABLE_INPUT_TYPE_COLOR)
240 #define ENABLE_INPUT_TYPE_COLOR 1
243 #if !defined(ENABLE_INPUT_TYPE_COLOR_POPOVER)
244 #define ENABLE_INPUT_TYPE_COLOR_POPOVER 1
247 #if !defined(ENABLE_FILE_REPLACEMENT)
248 #define ENABLE_FILE_REPLACEMENT 1
251 #endif /* PLATFORM(MAC) */
253 /* --------- Apple Windows port --------- */
254 #if PLATFORM(WIN) && !PLATFORM(WIN_CAIRO)
256 #if !defined(ENABLE_FULLSCREEN_API)
257 #define ENABLE_FULLSCREEN_API 1
260 #if !defined(ENABLE_WEB_ARCHIVE)
261 #define ENABLE_WEB_ARCHIVE 1
264 #if !defined(ENABLE_WEBGL)
265 #define ENABLE_WEBGL 1
268 #endif /* PLATFORM(WIN) && !PLATFORM(WIN_CAIRO) */
270 /* --------- Windows CAIRO port --------- */
271 /* PLATFORM(WIN_CAIRO) is a specialization of PLATFORM(WIN). */
272 /* PLATFORM(WIN) is always enabled when PLATFORM(WIN_CAIRO) is enabled. */
273 #if PLATFORM(WIN_CAIRO)
275 #if !defined(ENABLE_WEB_ARCHIVE)
276 #define ENABLE_WEB_ARCHIVE 1
279 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
280 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
283 #if !defined(ENABLE_WEBGL)
284 #define ENABLE_WEBGL 1
287 #endif /* PLATFORM(WIN_CAIRO) */
289 /* --------- EFL port (Unix) --------- */
291 #endif /* PLATFORM(EFL) */
293 /* --------- Gtk port (Unix, Windows, Mac) --------- */
295 #endif /* PLATFORM(GTK) */
297 /* ENABLE macro defaults for WebCore */
298 /* Do not use PLATFORM() tests in this section ! */
300 #if !defined(ENABLE_3D_RENDERING)
301 #define ENABLE_3D_RENDERING 0
304 #if !defined(ENABLE_ACCELERATED_2D_CANVAS)
305 #define ENABLE_ACCELERATED_2D_CANVAS 0
308 #if !defined(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)
309 #define ENABLE_ACCELERATED_OVERFLOW_SCROLLING 0
312 #if !defined(ENABLE_BATTERY_STATUS)
313 #define ENABLE_BATTERY_STATUS 0
316 #if !defined(ENABLE_CANVAS_PATH)
317 #define ENABLE_CANVAS_PATH 1
320 #if !defined(ENABLE_CANVAS_PROXY)
321 #define ENABLE_CANVAS_PROXY 0
324 #if !defined(ENABLE_CHANNEL_MESSAGING)
325 #define ENABLE_CHANNEL_MESSAGING 1
328 #if !defined(ENABLE_ES6_CLASS_SYNTAX)
329 #define ENABLE_ES6_CLASS_SYNTAX 0
332 #if !defined(ENABLE_CONTENT_EXTENSIONS)
333 #define ENABLE_CONTENT_EXTENSIONS 0
336 #if !defined(ENABLE_CONTEXT_MENUS)
337 #define ENABLE_CONTEXT_MENUS 1
340 #if !defined(ENABLE_CSP_NEXT)
341 #define ENABLE_CSP_NEXT 0
344 #if !defined(ENABLE_CSS3_TEXT)
345 #define ENABLE_CSS3_TEXT 0
348 #if !defined(ENABLE_CSS_BOX_DECORATION_BREAK)
349 #define ENABLE_CSS_BOX_DECORATION_BREAK 1
352 #if !defined(ENABLE_CSS_DEVICE_ADAPTATION)
353 #define ENABLE_CSS_DEVICE_ADAPTATION 0
356 #if !defined(ENABLE_CSS_COMPOSITING)
357 #define ENABLE_CSS_COMPOSITING 0
360 #if !defined(ENABLE_CSS_IMAGE_ORIENTATION)
361 #define ENABLE_CSS_IMAGE_ORIENTATION 0
364 #if !defined(ENABLE_CSS_IMAGE_RESOLUTION)
365 #define ENABLE_CSS_IMAGE_RESOLUTION 0
368 #if !defined(ENABLE_CSS_IMAGE_SET)
369 #define ENABLE_CSS_IMAGE_SET 0
372 #if !defined(ENABLE_CURSOR_SUPPORT)
373 #define ENABLE_CURSOR_SUPPORT 1
376 #if !defined(ENABLE_CUSTOM_SCHEME_HANDLER)
377 #define ENABLE_CUSTOM_SCHEME_HANDLER 0
380 #if !defined(ENABLE_DASHBOARD_SUPPORT)
381 #define ENABLE_DASHBOARD_SUPPORT 0
384 #if !defined(ENABLE_DATALIST_ELEMENT)
385 #define ENABLE_DATALIST_ELEMENT 0
388 #if !defined(ENABLE_DATA_TRANSFER_ITEMS)
389 #define ENABLE_DATA_TRANSFER_ITEMS 0
392 #if !defined(ENABLE_DETAILS_ELEMENT)
393 #define ENABLE_DETAILS_ELEMENT 1
396 #if !defined(ENABLE_DEVICE_ORIENTATION)
397 #define ENABLE_DEVICE_ORIENTATION 0
400 #if !defined(ENABLE_DOWNLOAD_ATTRIBUTE)
401 #define ENABLE_DOWNLOAD_ATTRIBUTE 0
404 #if !defined(ENABLE_DRAG_SUPPORT)
405 #define ENABLE_DRAG_SUPPORT 1
408 #if !defined(ENABLE_ENCRYPTED_MEDIA)
409 #define ENABLE_ENCRYPTED_MEDIA 0
412 #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
413 #define ENABLE_ENCRYPTED_MEDIA_V2 0
416 #if !defined(ENABLE_FILTERS_LEVEL_2)
417 #define ENABLE_FILTERS_LEVEL_2 0
420 #if !defined(ENABLE_FONT_LOAD_EVENTS)
421 #define ENABLE_FONT_LOAD_EVENTS 0
424 #if !defined(ENABLE_FTPDIR)
425 #define ENABLE_FTPDIR 1
428 #if !defined(ENABLE_FULLSCREEN_API)
429 #define ENABLE_FULLSCREEN_API 0
432 #if !defined(ENABLE_GAMEPAD)
433 #define ENABLE_GAMEPAD 0
436 #if !defined(ENABLE_GAMEPAD_DEPRECATED)
437 #define ENABLE_GAMEPAD_DEPRECATED 0
440 #if !defined(ENABLE_GEOLOCATION)
441 #define ENABLE_GEOLOCATION 0
444 #if !defined(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING)
445 #define ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING 0
448 #if !defined(ENABLE_ICONDATABASE)
449 #define ENABLE_ICONDATABASE 1
452 #if !defined(ENABLE_IMAGE_DECODER_DOWN_SAMPLING)
453 #define ENABLE_IMAGE_DECODER_DOWN_SAMPLING 0
456 #if !defined(ENABLE_INDEXED_DATABASE)
457 #define ENABLE_INDEXED_DATABASE 0
460 #if !defined(ENABLE_INDEXED_DATABASE_IN_WORKERS)
461 #define ENABLE_INDEXED_DATABASE_IN_WORKERS 0
464 #if !defined(ENABLE_INPUT_TYPE_COLOR)
465 #define ENABLE_INPUT_TYPE_COLOR 0
468 #if !defined(ENABLE_INPUT_TYPE_COLOR_POPOVER)
469 #define ENABLE_INPUT_TYPE_COLOR_POPOVER 0
472 #if !defined(ENABLE_INPUT_TYPE_DATE)
473 #define ENABLE_INPUT_TYPE_DATE 0
476 #if !defined(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE)
477 #define ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE 0
480 #if !defined(ENABLE_INPUT_TYPE_DATETIMELOCAL)
481 #define ENABLE_INPUT_TYPE_DATETIMELOCAL 0
484 #if !defined(ENABLE_INPUT_TYPE_MONTH)
485 #define ENABLE_INPUT_TYPE_MONTH 0
488 #if !defined(ENABLE_INPUT_TYPE_TIME)
489 #define ENABLE_INPUT_TYPE_TIME 0
492 #if !defined(ENABLE_INPUT_TYPE_WEEK)
493 #define ENABLE_INPUT_TYPE_WEEK 0
496 #if ENABLE(INPUT_TYPE_DATE) || ENABLE(INPUT_TYPE_DATETIME_INCOMPLETE) || ENABLE(INPUT_TYPE_DATETIMELOCAL) || ENABLE(INPUT_TYPE_MONTH) || ENABLE(INPUT_TYPE_TIME) || ENABLE(INPUT_TYPE_WEEK)
497 #if !defined(ENABLE_DATE_AND_TIME_INPUT_TYPES)
498 #define ENABLE_DATE_AND_TIME_INPUT_TYPES 1
502 #if !defined(ENABLE_INSPECTOR)
503 #define ENABLE_INSPECTOR 1
506 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
507 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 0
510 #if !defined(ENABLE_JAVASCRIPT_I18N_API)
511 #define ENABLE_JAVASCRIPT_I18N_API 0
514 #if !defined(ENABLE_LEGACY_CSS_VENDOR_PREFIXES)
515 #define ENABLE_LEGACY_CSS_VENDOR_PREFIXES 0
518 #if !defined(ENABLE_LEGACY_NOTIFICATIONS)
519 #define ENABLE_LEGACY_NOTIFICATIONS 0
522 #if !defined(ENABLE_LEGACY_VENDOR_PREFIXES)
523 #define ENABLE_LEGACY_VENDOR_PREFIXES 0
526 #if !defined(ENABLE_LETTERPRESS)
527 #define ENABLE_LETTERPRESS 0
530 #if !defined(ENABLE_LINK_PREFETCH)
531 #define ENABLE_LINK_PREFETCH 0
534 #if !defined(ENABLE_MATHML)
535 #define ENABLE_MATHML 1
538 #if !defined(ENABLE_MEDIA_CAPTURE)
539 #define ENABLE_MEDIA_CAPTURE 0
542 #if !defined(ENABLE_MEDIA_CONTROLS_SCRIPT)
543 #define ENABLE_MEDIA_CONTROLS_SCRIPT 0
546 #if !defined(ENABLE_MEDIA_SOURCE)
547 #define ENABLE_MEDIA_SOURCE 0
550 #if !defined(ENABLE_MEDIA_STATISTICS)
551 #define ENABLE_MEDIA_STATISTICS 0
554 #if !defined(ENABLE_MEDIA_STREAM)
555 #define ENABLE_MEDIA_STREAM 0
558 #if !defined(ENABLE_METER_ELEMENT)
559 #define ENABLE_METER_ELEMENT 1
562 #if !defined(ENABLE_MHTML)
563 #define ENABLE_MHTML 0
566 #if !defined(ENABLE_MOUSE_CURSOR_SCALE)
567 #define ENABLE_MOUSE_CURSOR_SCALE 0
570 #if !defined(ENABLE_NAVIGATOR_CONTENT_UTILS)
571 #define ENABLE_NAVIGATOR_CONTENT_UTILS 0
574 #if !defined(ENABLE_NAVIGATOR_HWCONCURRENCY)
575 #define ENABLE_NAVIGATOR_HWCONCURRENCY 1
578 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
579 #define ENABLE_NETSCAPE_PLUGIN_API 1
582 #if !defined(ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE)
583 #define ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE 0
586 #if !defined(ENABLE_NOTIFICATIONS)
587 #define ENABLE_NOTIFICATIONS 0
590 #if !defined(ENABLE_OPENCL)
591 #define ENABLE_OPENCL 0
594 #if !defined(ENABLE_OPENTYPE_VERTICAL)
595 #define ENABLE_OPENTYPE_VERTICAL 0
598 #if !defined(ENABLE_ORIENTATION_EVENTS)
599 #define ENABLE_ORIENTATION_EVENTS 0
603 #if !defined(ENABLE_PAN_SCROLLING)
604 #define ENABLE_PAN_SCROLLING 1
608 #if !defined(ENABLE_POINTER_LOCK)
609 #define ENABLE_POINTER_LOCK 0
612 #if !defined(ENABLE_PROMISES)
613 #define ENABLE_PROMISES 0
616 #if !defined(ENABLE_PROXIMITY_EVENTS)
617 #define ENABLE_PROXIMITY_EVENTS 0
620 #if !defined(ENABLE_QUOTA)
621 #define ENABLE_QUOTA 0
624 #if !defined(ENABLE_REMOTE_INSPECTOR)
625 #define ENABLE_REMOTE_INSPECTOR 0
628 #if !defined(ENABLE_REQUEST_ANIMATION_FRAME)
629 #define ENABLE_REQUEST_ANIMATION_FRAME 0
632 #if !defined(ENABLE_REQUEST_AUTOCOMPLETE)
633 #define ENABLE_REQUEST_AUTOCOMPLETE 0
636 #if !defined(ENABLE_RUBBER_BANDING)
637 #define ENABLE_RUBBER_BANDING 0
640 #if !defined(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
641 #define ENABLE_SATURATED_LAYOUT_ARITHMETIC 1
644 #if !defined(ENABLE_SMOOTH_SCROLLING)
645 #define ENABLE_SMOOTH_SCROLLING 0
648 #if !defined(ENABLE_SPEECH_SYNTHESIS)
649 #define ENABLE_SPEECH_SYNTHESIS 0
652 #if !defined(ENABLE_SPELLCHECK)
653 #define ENABLE_SPELLCHECK 0
656 #if !defined(ENABLE_SVG_FONTS)
657 #define ENABLE_SVG_FONTS 1
660 #if !defined(ENABLE_TEMPLATE_ELEMENT)
661 #define ENABLE_TEMPLATE_ELEMENT 1
664 #if !defined(ENABLE_TEXT_AUTOSIZING)
665 #define ENABLE_TEXT_AUTOSIZING 0
668 #if !defined(ENABLE_TEXT_CARET)
669 #define ENABLE_TEXT_CARET 1
672 #if !defined(ENABLE_TEXT_SELECTION)
673 #define ENABLE_TEXT_SELECTION 1
676 #if !defined(ENABLE_ASYNC_SCROLLING)
677 #define ENABLE_ASYNC_SCROLLING 0
680 #if !defined(ENABLE_TOUCH_EVENTS)
681 #define ENABLE_TOUCH_EVENTS 0
684 #if !defined(ENABLE_TOUCH_ICON_LOADING)
685 #define ENABLE_TOUCH_ICON_LOADING 0
688 #if !defined(ENABLE_VIBRATION)
689 #define ENABLE_VIBRATION 0
692 #if !defined(ENABLE_VIDEO)
693 #define ENABLE_VIDEO 0
696 #if !defined(ENABLE_VIDEO_TRACK)
697 #define ENABLE_VIDEO_TRACK 0
700 #if !defined(ENABLE_DATACUE_VALUE)
701 #define ENABLE_DATACUE_VALUE 0
704 #if !defined(ENABLE_VIEWPORT)
705 #define ENABLE_VIEWPORT 0
708 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
709 #define ENABLE_VIEW_MODE_CSS_MEDIA 1
712 #if !defined(ENABLE_WEBGL)
713 #define ENABLE_WEBGL 0
716 #if !defined(ENABLE_WEB_ARCHIVE)
717 #define ENABLE_WEB_ARCHIVE 0
720 #if !defined(ENABLE_WEB_AUDIO)
721 #define ENABLE_WEB_AUDIO 0
724 #if !defined(ENABLE_WEB_REPLAY)
725 #define ENABLE_WEB_REPLAY 0
728 #if !defined(ENABLE_WEB_SOCKETS)
729 #define ENABLE_WEB_SOCKETS 1
732 #if !defined(ENABLE_PICTURE_SIZES)
733 #define ENABLE_PICTURE_SIZES 1
736 #if !defined(ENABLE_WEB_TIMING)
737 #define ENABLE_WEB_TIMING 0
740 #if !defined(ENABLE_WILL_REVEAL_EDGE_EVENTS)
741 #define ENABLE_WILL_REVEAL_EDGE_EVENTS 1
744 #if !defined(ENABLE_XHR_TIMEOUT)
745 #define ENABLE_XHR_TIMEOUT 0
748 #if !defined(ENABLE_XSLT)
749 #define ENABLE_XSLT 1
752 /* Asserts, invariants for macro definitions */
754 #if ENABLE(VIDEO_TRACK) && !ENABLE(VIDEO)
755 #error "ENABLE(VIDEO_TRACK) requires ENABLE(VIDEO)"
758 #if ENABLE(MEDIA_CONTROLS_SCRIPT) && !ENABLE(VIDEO)
759 #error "ENABLE(MEDIA_CONTROLS_SCRIPT) requires ENABLE(VIDEO)"
762 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) && !ENABLE(REMOTE_INSPECTOR)
763 #error "ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) requires ENABLE(REMOTE_INSPECTOR)"
766 #if ENABLE(IOS_TOUCH_EVENTS) && !ENABLE(TOUCH_EVENTS)
767 #error "ENABLE(IOS_TOUCH_EVENTS) requires ENABLE(TOUCH_EVENTS)"
770 #endif /* WTF_FeatureDefines_h */