Add runtime and compile time flags for enabling Web Animations API and model.
[WebKit-https.git] / Source / WTF / wtf / FeatureDefines.h
1 /*
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.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
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.
15  *
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.
27  */
28
29 #ifndef WTF_FeatureDefines_h
30 #define WTF_FeatureDefines_h
31
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.
35  *
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. 
38  *
39  * Use this file to define ENABLE() macros only. Do not use this file to define USE() or macros !
40  *
41  * Only define a macro if it was not defined before - always check for !defined first.
42  * 
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.
45  * 
46  * Below are a few potential commands to take advantage of this file running from the Source/WTF directory
47  *
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 
50  */
51
52 /* FIXME: Move out the PLATFORM specific rules into platform specific files. */
53
54 /* --------- Apple IOS (but not MAC) port --------- */
55 #if PLATFORM(IOS)
56
57 #if !defined(ENABLE_ASYNC_SCROLLING)
58 #define ENABLE_ASYNC_SCROLLING 1
59 #endif
60
61 #if !defined(ENABLE_CONTENT_EXTENSIONS)
62 #define ENABLE_CONTENT_EXTENSIONS 1
63 #endif
64
65 #if !defined(ENABLE_CONTEXT_MENUS)
66 #define ENABLE_CONTEXT_MENUS 0
67 #endif
68
69 #if !defined(ENABLE_CSS_IMAGE_SET)
70 #define ENABLE_CSS_IMAGE_SET 1
71 #endif
72
73 #if !defined(ENABLE_CURSOR_SUPPORT)
74 #define ENABLE_CURSOR_SUPPORT 0
75 #endif
76
77 #if !defined(ENABLE_DRAG_SUPPORT)
78 #define ENABLE_DRAG_SUPPORT 0
79 #endif
80
81 #if !defined(ENABLE_GEOLOCATION)
82 #define ENABLE_GEOLOCATION 1
83 #endif
84
85 #if !defined(ENABLE_ICONDATABASE)
86 #define ENABLE_ICONDATABASE 0
87 #endif
88
89 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
90 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 1
91 #endif
92
93 #if !defined(ENABLE_LETTERPRESS)
94 #define ENABLE_LETTERPRESS 1
95 #endif
96
97 #if !defined(ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE)
98 #define ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE 1
99 #endif
100
101 #if !defined(ENABLE_IOS_GESTURE_EVENTS) && USE(APPLE_INTERNAL_SDK)
102 #define ENABLE_IOS_GESTURE_EVENTS 1
103 #endif
104
105 #if !defined(ENABLE_IOS_TEXT_AUTOSIZING)
106 #define ENABLE_IOS_TEXT_AUTOSIZING 1
107 #endif
108
109 #if !defined(ENABLE_IOS_TOUCH_EVENTS) && USE(APPLE_INTERNAL_SDK)
110 #define ENABLE_IOS_TOUCH_EVENTS 1
111 #endif
112
113 #if !defined(ENABLE_METER_ELEMENT)
114 #define ENABLE_METER_ELEMENT 0
115 #endif
116
117 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
118 #define ENABLE_NETSCAPE_PLUGIN_API 0
119 #endif
120
121 #if !defined(ENABLE_ORIENTATION_EVENTS)
122 #define ENABLE_ORIENTATION_EVENTS 1
123 #endif
124
125 #if !defined(ENABLE_POINTER_LOCK)
126 #define ENABLE_POINTER_LOCK 0
127 #endif
128
129 #if !defined(ENABLE_REMOTE_INSPECTOR)
130 #define ENABLE_REMOTE_INSPECTOR 1
131 #endif
132
133 #if !defined(ENABLE_RESPECT_EXIF_ORIENTATION)
134 #define ENABLE_RESPECT_EXIF_ORIENTATION 1
135 #endif
136
137 #if !defined(ENABLE_SHADOW_DOM)
138 #define ENABLE_SHADOW_DOM 1
139 #endif
140
141 #if !defined(ENABLE_TEXT_CARET)
142 #define ENABLE_TEXT_CARET 0
143 #endif
144
145 #if !defined(ENABLE_TEXT_SELECTION)
146 #define ENABLE_TEXT_SELECTION 0
147 #endif
148
149 /* FIXME: Remove the USE(APPLE_INTERNAL_SDK) conjunct once we support touch events when building against
150 the public iOS SDK. We will also need to update the FeatureDefines.xcconfig files. */
151 #if !defined(ENABLE_TOUCH_EVENTS) && USE(APPLE_INTERNAL_SDK)
152 #define ENABLE_TOUCH_EVENTS 1
153 #endif
154
155 #if !defined(ENABLE_WEB_ARCHIVE)
156 #define ENABLE_WEB_ARCHIVE 1
157 #endif
158
159 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
160 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
161 #endif
162
163 #if !defined(ENABLE_WEBASSEMBLY)
164 #define ENABLE_WEBASSEMBLY 0
165 #endif
166
167 #if !defined(ENABLE_WEBGL)
168 #define ENABLE_WEBGL 1
169 #endif
170
171 #if !defined(ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC)
172 #define ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC 1
173 #endif
174
175 #endif /* PLATFORM(IOS) */
176
177 /* --------- Apple MAC port (not IOS) --------- */
178 #if PLATFORM(MAC)
179
180 #if !defined(ENABLE_CONTENT_EXTENSIONS)
181 #define ENABLE_CONTENT_EXTENSIONS 1
182 #endif
183
184 #if !defined(ENABLE_CSS_IMAGE_SET)
185 #define ENABLE_CSS_IMAGE_SET 1
186 #endif
187
188 #if !defined(ENABLE_DASHBOARD_SUPPORT)
189 #define ENABLE_DASHBOARD_SUPPORT 1
190 #endif
191
192 #if !defined(ENABLE_ENCRYPTED_MEDIA)
193 #define ENABLE_ENCRYPTED_MEDIA 1
194 #endif
195 #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
196 #define ENABLE_ENCRYPTED_MEDIA_V2 1
197 #endif
198
199 #if !defined(ENABLE_FULLSCREEN_API)
200 #define ENABLE_FULLSCREEN_API 1
201 #endif
202
203 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
204 #if !defined(ENABLE_REMOTE_INSPECTOR)
205 #define ENABLE_REMOTE_INSPECTOR 1
206 #endif
207
208 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
209 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 1
210 #endif
211 #endif
212
213 #if !defined(ENABLE_SMOOTH_SCROLLING)
214 #define ENABLE_SMOOTH_SCROLLING 1
215 #endif
216
217 #if !defined(ENABLE_ASYNC_SCROLLING)
218 #define ENABLE_ASYNC_SCROLLING 1
219 #endif
220
221 #if ENABLE(VIDEO)
222 #if !defined(ENABLE_VIDEO_TRACK)
223 #define ENABLE_VIDEO_TRACK 1
224 #endif
225 #endif
226
227 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
228 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
229 #endif
230
231 #if !defined(ENABLE_WEB_ARCHIVE)
232 #define ENABLE_WEB_ARCHIVE 1
233 #endif
234
235 #if !defined(ENABLE_WEB_AUDIO)
236 #define ENABLE_WEB_AUDIO 1
237 #endif
238
239 #if !defined(ENABLE_CURSOR_VISIBILITY)
240 #define ENABLE_CURSOR_VISIBILITY 1
241 #endif
242
243 #if !defined(ENABLE_INPUT_TYPE_COLOR)
244 #define ENABLE_INPUT_TYPE_COLOR 1
245 #endif
246
247 #if !defined(ENABLE_INPUT_TYPE_COLOR_POPOVER)
248 #define ENABLE_INPUT_TYPE_COLOR_POPOVER 1
249 #endif
250
251 #if !defined(ENABLE_FILE_REPLACEMENT)
252 #define ENABLE_FILE_REPLACEMENT 1
253 #endif
254
255 #if !defined(ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC)
256 #define ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC 1
257 #endif
258
259 #if !defined(ENABLE_SHADOW_DOM)
260 #define ENABLE_SHADOW_DOM 1
261 #endif
262
263 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
264 #if !defined(ENABLE_MAC_GESTURE_EVENTS) && USE(APPLE_INTERNAL_SDK)
265 #define ENABLE_MAC_GESTURE_EVENTS 1
266 #endif
267 #endif
268
269 #endif /* PLATFORM(MAC) */
270
271 /* --------- Apple Windows port --------- */
272 #if PLATFORM(WIN) && !PLATFORM(WIN_CAIRO)
273
274 #if !defined(ENABLE_FULLSCREEN_API)
275 #define ENABLE_FULLSCREEN_API 1
276 #endif
277
278 #if !defined(ENABLE_WEB_ARCHIVE)
279 #define ENABLE_WEB_ARCHIVE 1
280 #endif
281
282 #if !defined(ENABLE_WEBGL)
283 #define ENABLE_WEBGL 0
284 #endif
285
286 #if !defined(ENABLE_GEOLOCATION)
287 #define ENABLE_GEOLOCATION 1
288 #endif
289
290 #endif /* PLATFORM(WIN) && !PLATFORM(WIN_CAIRO) */
291
292 /* --------- Windows CAIRO port --------- */
293 /* PLATFORM(WIN_CAIRO) is a specialization of PLATFORM(WIN). */
294 /* PLATFORM(WIN) is always enabled when PLATFORM(WIN_CAIRO) is enabled. */
295 #if PLATFORM(WIN_CAIRO)
296
297 #if !defined(ENABLE_WEB_ARCHIVE)
298 #define ENABLE_WEB_ARCHIVE 1
299 #endif
300
301 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
302 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
303 #endif
304
305 #if !defined(ENABLE_WEBGL)
306 #define ENABLE_WEBGL 1
307 #endif
308
309 #if !defined(ENABLE_GEOLOCATION)
310 #define ENABLE_GEOLOCATION 1
311 #endif
312
313 #endif /* PLATFORM(WIN_CAIRO) */
314
315 /* --------- EFL port (Unix) --------- */
316 #if PLATFORM(EFL)
317 #endif /* PLATFORM(EFL) */
318
319 /* --------- Gtk port (Unix, Windows, Mac) --------- */
320 #if PLATFORM(GTK)
321 #endif /* PLATFORM(GTK) */
322
323 /* ENABLE macro defaults for WebCore */
324 /* Do not use PLATFORM() tests in this section ! */
325
326 #if !defined(ENABLE_3D_TRANSFORMS)
327 #define ENABLE_3D_TRANSFORMS 0
328 #endif
329
330 #if !defined(ENABLE_ACCELERATED_2D_CANVAS)
331 #define ENABLE_ACCELERATED_2D_CANVAS 0
332 #endif
333
334 #if !defined(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)
335 #define ENABLE_ACCELERATED_OVERFLOW_SCROLLING 0
336 #endif
337
338 #if !defined(ENABLE_APNG)
339 #define ENABLE_APNG 1
340 #endif
341
342 #if !defined(ENABLE_BATTERY_STATUS)
343 #define ENABLE_BATTERY_STATUS 0
344 #endif
345
346 #if !defined(ENABLE_CANVAS_PATH)
347 #define ENABLE_CANVAS_PATH 1
348 #endif
349
350 #if !defined(ENABLE_CANVAS_PROXY)
351 #define ENABLE_CANVAS_PROXY 0
352 #endif
353
354 #if !defined(ENABLE_CHANNEL_MESSAGING)
355 #define ENABLE_CHANNEL_MESSAGING 1
356 #endif
357
358 #if !defined(ENABLE_ES6_ARROWFUNCTION_SYNTAX)
359 #define ENABLE_ES6_ARROWFUNCTION_SYNTAX 1
360 #endif
361
362 #if !defined(ENABLE_ES6_CLASS_SYNTAX)
363 #define ENABLE_ES6_CLASS_SYNTAX 1
364 #endif
365
366 #if !defined(ENABLE_ES6_CLASS_SYNTAX)
367 #define ENABLE_ES6_GENERATORS 0
368 #endif
369
370 #if !defined(ENABLE_ES6_MODULES)
371 #define ENABLE_ES6_MODULES 0
372 #endif
373
374 #if !defined(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX)
375 #define ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX 1
376 #endif
377
378 #if !defined(ENABLE_CONTENT_EXTENSIONS)
379 #define ENABLE_CONTENT_EXTENSIONS 0
380 #endif
381
382 #if !defined(ENABLE_CONTEXT_MENUS)
383 #define ENABLE_CONTEXT_MENUS 1
384 #endif
385
386 #if !defined(ENABLE_CSP_NEXT)
387 #define ENABLE_CSP_NEXT 0
388 #endif
389
390 #if !defined(ENABLE_CSS3_TEXT)
391 #define ENABLE_CSS3_TEXT 0
392 #endif
393
394 #if !defined(ENABLE_CSS_BOX_DECORATION_BREAK)
395 #define ENABLE_CSS_BOX_DECORATION_BREAK 1
396 #endif
397
398 #if !defined(ENABLE_CSS_DEVICE_ADAPTATION)
399 #define ENABLE_CSS_DEVICE_ADAPTATION 0
400 #endif
401
402 #if !defined(ENABLE_CSS_COMPOSITING)
403 #define ENABLE_CSS_COMPOSITING 0
404 #endif
405
406 #if !defined(ENABLE_CSS_IMAGE_ORIENTATION)
407 #define ENABLE_CSS_IMAGE_ORIENTATION 0
408 #endif
409
410 #if !defined(ENABLE_CSS_IMAGE_RESOLUTION)
411 #define ENABLE_CSS_IMAGE_RESOLUTION 0
412 #endif
413
414 #if !defined(ENABLE_CSS_IMAGE_SET)
415 #define ENABLE_CSS_IMAGE_SET 0
416 #endif
417
418 #if !defined(ENABLE_CURSOR_SUPPORT)
419 #define ENABLE_CURSOR_SUPPORT 1
420 #endif
421
422 #if !defined(ENABLE_CUSTOM_SCHEME_HANDLER)
423 #define ENABLE_CUSTOM_SCHEME_HANDLER 0
424 #endif
425
426 #if !defined(ENABLE_DASHBOARD_SUPPORT)
427 #define ENABLE_DASHBOARD_SUPPORT 0
428 #endif
429
430 #if !defined(ENABLE_DATALIST_ELEMENT)
431 #define ENABLE_DATALIST_ELEMENT 0
432 #endif
433
434 #if !defined(ENABLE_DATA_TRANSFER_ITEMS)
435 #define ENABLE_DATA_TRANSFER_ITEMS 0
436 #endif
437
438 #if !defined(ENABLE_DETAILS_ELEMENT)
439 #define ENABLE_DETAILS_ELEMENT 1
440 #endif
441
442 #if !defined(ENABLE_DEVICE_ORIENTATION)
443 #define ENABLE_DEVICE_ORIENTATION 0
444 #endif
445
446 #if !defined(ENABLE_DOWNLOAD_ATTRIBUTE)
447 #define ENABLE_DOWNLOAD_ATTRIBUTE 0
448 #endif
449
450 #if !defined(ENABLE_DRAG_SUPPORT)
451 #define ENABLE_DRAG_SUPPORT 1
452 #endif
453
454 #if !defined(ENABLE_ENCRYPTED_MEDIA)
455 #define ENABLE_ENCRYPTED_MEDIA 0
456 #endif
457
458 #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
459 #define ENABLE_ENCRYPTED_MEDIA_V2 0
460 #endif
461
462 #if !defined(ENABLE_FILTERS_LEVEL_2)
463 #define ENABLE_FILTERS_LEVEL_2 0
464 #endif
465
466 #if !defined(ENABLE_FONT_LOAD_EVENTS)
467 #define ENABLE_FONT_LOAD_EVENTS 0
468 #endif
469
470 #if !defined(ENABLE_FTPDIR)
471 #define ENABLE_FTPDIR 1
472 #endif
473
474 #if !defined(ENABLE_FULLSCREEN_API)
475 #define ENABLE_FULLSCREEN_API 0
476 #endif
477
478 #if !defined(ENABLE_GAMEPAD)
479 #define ENABLE_GAMEPAD 0
480 #endif
481
482 #if !defined(ENABLE_GAMEPAD_DEPRECATED)
483 #define ENABLE_GAMEPAD_DEPRECATED 0
484 #endif
485
486 #if !defined(ENABLE_GEOLOCATION)
487 #define ENABLE_GEOLOCATION 0
488 #endif
489
490 #if !defined(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING)
491 #define ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING 0
492 #endif
493
494 #if !defined(ENABLE_ICONDATABASE)
495 #define ENABLE_ICONDATABASE 1
496 #endif
497
498 #if !defined(ENABLE_IMAGE_DECODER_DOWN_SAMPLING)
499 #define ENABLE_IMAGE_DECODER_DOWN_SAMPLING 0
500 #endif
501
502 #if !defined(ENABLE_INDEXED_DATABASE)
503 #define ENABLE_INDEXED_DATABASE 0
504 #endif
505
506 #if !defined(ENABLE_INDEXED_DATABASE_IN_WORKERS)
507 #define ENABLE_INDEXED_DATABASE_IN_WORKERS 0
508 #endif
509
510 #if !defined(ENABLE_INPUT_TYPE_COLOR)
511 #define ENABLE_INPUT_TYPE_COLOR 0
512 #endif
513
514 #if !defined(ENABLE_INPUT_TYPE_COLOR_POPOVER)
515 #define ENABLE_INPUT_TYPE_COLOR_POPOVER 0
516 #endif
517
518 #if !defined(ENABLE_INPUT_TYPE_DATE)
519 #define ENABLE_INPUT_TYPE_DATE 0
520 #endif
521
522 #if !defined(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE)
523 #define ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE 0
524 #endif
525
526 #if !defined(ENABLE_INPUT_TYPE_DATETIMELOCAL)
527 #define ENABLE_INPUT_TYPE_DATETIMELOCAL 0
528 #endif
529
530 #if !defined(ENABLE_INPUT_TYPE_MONTH)
531 #define ENABLE_INPUT_TYPE_MONTH 0
532 #endif
533
534 #if !defined(ENABLE_INPUT_TYPE_TIME)
535 #define ENABLE_INPUT_TYPE_TIME 0
536 #endif
537
538 #if !defined(ENABLE_INPUT_TYPE_WEEK)
539 #define ENABLE_INPUT_TYPE_WEEK 0
540 #endif
541
542 #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)
543 #if !defined(ENABLE_DATE_AND_TIME_INPUT_TYPES)
544 #define ENABLE_DATE_AND_TIME_INPUT_TYPES 1
545 #endif
546 #endif
547
548 #if !defined(ENABLE_INSPECTOR)
549 #define ENABLE_INSPECTOR 1
550 #endif
551
552 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
553 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 0
554 #endif
555
556 #if !defined(ENABLE_INTL)
557 #define ENABLE_INTL 0
558 #endif
559
560 #if !defined(ENABLE_JAVASCRIPT_I18N_API)
561 #define ENABLE_JAVASCRIPT_I18N_API 0
562 #endif
563
564 #if !defined(ENABLE_LEGACY_CSS_VENDOR_PREFIXES)
565 #define ENABLE_LEGACY_CSS_VENDOR_PREFIXES 0
566 #endif
567
568 #if !defined(ENABLE_LEGACY_NOTIFICATIONS)
569 #define ENABLE_LEGACY_NOTIFICATIONS 0
570 #endif
571
572 #if !defined(ENABLE_LEGACY_VENDOR_PREFIXES)
573 #define ENABLE_LEGACY_VENDOR_PREFIXES 0
574 #endif
575
576 #if !defined(ENABLE_LETTERPRESS)
577 #define ENABLE_LETTERPRESS 0
578 #endif
579
580 #if !defined(ENABLE_LINK_PREFETCH)
581 #define ENABLE_LINK_PREFETCH 0
582 #endif
583
584 #if !defined(ENABLE_MATHML)
585 #define ENABLE_MATHML 1
586 #endif
587
588 #if !defined(ENABLE_MEDIA_CAPTURE)
589 #define ENABLE_MEDIA_CAPTURE 0
590 #endif
591
592 #if !defined(ENABLE_MEDIA_CONTROLS_SCRIPT)
593 #define ENABLE_MEDIA_CONTROLS_SCRIPT 0
594 #endif
595
596 #if !defined(ENABLE_MEDIA_SOURCE)
597 #define ENABLE_MEDIA_SOURCE 0
598 #endif
599
600 #if !defined(ENABLE_MEDIA_STATISTICS)
601 #define ENABLE_MEDIA_STATISTICS 0
602 #endif
603
604 #if !defined(ENABLE_MEDIA_STREAM)
605 #define ENABLE_MEDIA_STREAM 0
606 #endif
607
608 #if !defined(ENABLE_METER_ELEMENT)
609 #define ENABLE_METER_ELEMENT 1
610 #endif
611
612 #if !defined(ENABLE_MHTML)
613 #define ENABLE_MHTML 0
614 #endif
615
616 #if !defined(ENABLE_MOUSE_CURSOR_SCALE)
617 #define ENABLE_MOUSE_CURSOR_SCALE 0
618 #endif
619
620 #if !defined(ENABLE_MOUSE_FORCE_EVENTS)
621 #define ENABLE_MOUSE_FORCE_EVENTS 1
622 #endif
623
624 #if !defined(ENABLE_NAVIGATOR_CONTENT_UTILS)
625 #define ENABLE_NAVIGATOR_CONTENT_UTILS 0
626 #endif
627
628 #if !defined(ENABLE_NAVIGATOR_HWCONCURRENCY)
629 #define ENABLE_NAVIGATOR_HWCONCURRENCY 1
630 #endif
631
632 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
633 #define ENABLE_NETSCAPE_PLUGIN_API 1
634 #endif
635
636 #if !defined(ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE)
637 #define ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE 0
638 #endif
639
640 #if !defined(ENABLE_NOTIFICATIONS)
641 #define ENABLE_NOTIFICATIONS 0
642 #endif
643
644 #if !defined(ENABLE_OPENTYPE_VERTICAL)
645 #define ENABLE_OPENTYPE_VERTICAL 0
646 #endif
647
648 #if !defined(ENABLE_ORIENTATION_EVENTS)
649 #define ENABLE_ORIENTATION_EVENTS 0
650 #endif
651
652 #if OS(WINDOWS)
653 #if !defined(ENABLE_PAN_SCROLLING)
654 #define ENABLE_PAN_SCROLLING 1
655 #endif
656 #endif
657
658 #if !defined(ENABLE_POINTER_LOCK)
659 #define ENABLE_POINTER_LOCK 0
660 #endif
661
662 #if !defined(ENABLE_PROXIMITY_EVENTS)
663 #define ENABLE_PROXIMITY_EVENTS 0
664 #endif
665
666 #if !defined(ENABLE_QUOTA)
667 #define ENABLE_QUOTA 0
668 #endif
669
670 #if !defined(ENABLE_REMOTE_INSPECTOR)
671 #define ENABLE_REMOTE_INSPECTOR 0
672 #endif
673
674 #if !defined(ENABLE_REQUEST_ANIMATION_FRAME)
675 #define ENABLE_REQUEST_ANIMATION_FRAME 0
676 #endif
677
678 #if !defined(ENABLE_REQUEST_AUTOCOMPLETE)
679 #define ENABLE_REQUEST_AUTOCOMPLETE 0
680 #endif
681
682 #if !defined(ENABLE_RUBBER_BANDING)
683 #define ENABLE_RUBBER_BANDING 0
684 #endif
685
686 #if !defined(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
687 #define ENABLE_SATURATED_LAYOUT_ARITHMETIC 1
688 #endif
689
690 #if !defined(ENABLE_SHADOW_DOM)
691 #define ENABLE_SHADOW_DOM 0
692 #endif
693
694 #if !defined(ENABLE_SMOOTH_SCROLLING)
695 #define ENABLE_SMOOTH_SCROLLING 0
696 #endif
697
698 #if !defined(ENABLE_SPEECH_SYNTHESIS)
699 #define ENABLE_SPEECH_SYNTHESIS 0
700 #endif
701
702 #if !defined(ENABLE_SPELLCHECK)
703 #define ENABLE_SPELLCHECK 0
704 #endif
705
706 #if !defined(ENABLE_STREAMS_API)
707 #if PLATFORM(WIN)
708 #define ENABLE_STREAMS_API 0
709 #else
710 #define ENABLE_STREAMS_API 1
711 #endif
712 #endif
713
714 #if !defined(ENABLE_SVG_FONTS)
715 #define ENABLE_SVG_FONTS 1
716 #endif
717
718 #if !defined(ENABLE_TEMPLATE_ELEMENT)
719 #define ENABLE_TEMPLATE_ELEMENT 1
720 #endif
721
722 #if !defined(ENABLE_TEXT_AUTOSIZING)
723 #define ENABLE_TEXT_AUTOSIZING 0
724 #endif
725
726 #if !defined(ENABLE_TEXT_CARET)
727 #define ENABLE_TEXT_CARET 1
728 #endif
729
730 #if !defined(ENABLE_TEXT_SELECTION)
731 #define ENABLE_TEXT_SELECTION 1
732 #endif
733
734 #if !defined(ENABLE_ASYNC_SCROLLING)
735 #define ENABLE_ASYNC_SCROLLING 0
736 #endif
737
738 #if !defined(ENABLE_TOUCH_EVENTS)
739 #define ENABLE_TOUCH_EVENTS 0
740 #endif
741
742 #if !defined(ENABLE_TOUCH_ICON_LOADING)
743 #define ENABLE_TOUCH_ICON_LOADING 0
744 #endif
745
746 #if !defined(ENABLE_VIBRATION)
747 #define ENABLE_VIBRATION 0
748 #endif
749
750 #if !defined(ENABLE_VIDEO)
751 #define ENABLE_VIDEO 0
752 #endif
753
754 #if !defined(ENABLE_VIDEO_TRACK)
755 #define ENABLE_VIDEO_TRACK 0
756 #endif
757
758 #if !defined(ENABLE_DATACUE_VALUE)
759 #define ENABLE_DATACUE_VALUE 0
760 #endif
761
762 #if !defined(ENABLE_VIEWPORT)
763 #define ENABLE_VIEWPORT 0
764 #endif
765
766 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
767 #define ENABLE_VIEW_MODE_CSS_MEDIA 1
768 #endif
769
770 #if !defined(ENABLE_WEBGL)
771 #define ENABLE_WEBGL 0
772 #endif
773
774 #if !defined(ENABLE_WEBGL2)
775 #define ENABLE_WEBGL2 0
776 #endif
777
778 #if !defined(ENABLE_GRAPHICS_CONTEXT_3D)
779 #define ENABLE_GRAPHICS_CONTEXT_3D ENABLE_WEBGL
780 #endif
781
782 #if !defined(ENABLE_WEB_ANIMATIONS)
783 #define ENABLE_WEB_ANIMATIONS 0
784 #endif
785
786 #if !defined(ENABLE_WEB_ARCHIVE)
787 #define ENABLE_WEB_ARCHIVE 0
788 #endif
789
790 #if !defined(ENABLE_WEB_AUDIO)
791 #define ENABLE_WEB_AUDIO 0
792 #endif
793
794 #if !defined(ENABLE_WEB_REPLAY)
795 #define ENABLE_WEB_REPLAY 0
796 #endif
797
798 #if !defined(ENABLE_WEB_SOCKETS)
799 #define ENABLE_WEB_SOCKETS 1
800 #endif
801
802 #if !defined(ENABLE_CURRENTSRC)
803 #define ENABLE_CURRENTSRC 0
804 #endif
805
806 #if !defined(ENABLE_WEB_TIMING)
807 #define ENABLE_WEB_TIMING 0
808 #endif
809
810 #if !defined(ENABLE_WILL_REVEAL_EDGE_EVENTS)
811 #define ENABLE_WILL_REVEAL_EDGE_EVENTS 1
812 #endif
813
814 #if !defined(ENABLE_XSLT)
815 #define ENABLE_XSLT 1
816 #endif
817
818 /* Asserts, invariants for macro definitions */
819
820 #if ENABLE(VIDEO_TRACK) && !ENABLE(VIDEO)
821 #error "ENABLE(VIDEO_TRACK) requires ENABLE(VIDEO)"
822 #endif
823
824 #if ENABLE(MEDIA_CONTROLS_SCRIPT) && !ENABLE(VIDEO)
825 #error "ENABLE(MEDIA_CONTROLS_SCRIPT) requires ENABLE(VIDEO)"
826 #endif
827
828 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) && !ENABLE(REMOTE_INSPECTOR)
829 #error "ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) requires ENABLE(REMOTE_INSPECTOR)"
830 #endif
831
832 #if ENABLE(IOS_TOUCH_EVENTS) && !ENABLE(TOUCH_EVENTS)
833 #error "ENABLE(IOS_TOUCH_EVENTS) requires ENABLE(TOUCH_EVENTS)"
834 #endif
835
836 #if ENABLE(WEBGL) && !ENABLE(GRAPHICS_CONTEXT_3D)
837 #error "ENABLE(WEBGL) requires ENABLE(GRAPHICS_CONTEXT_3D)"
838 #endif
839
840 #endif /* WTF_FeatureDefines_h */