Unreviewed, rolling out r234489.
[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_AIRPLAY_PICKER)
58 #if !PLATFORM(IOSMAC)
59 #define ENABLE_AIRPLAY_PICKER 1
60 #endif
61 #endif
62
63 #if !defined(ENABLE_ASYNC_SCROLLING)
64 #define ENABLE_ASYNC_SCROLLING 1
65 #endif
66
67 #if !defined(ENABLE_CONTENT_EXTENSIONS)
68 #define ENABLE_CONTENT_EXTENSIONS 1
69 #endif
70
71 #if !defined(ENABLE_CONTEXT_MENUS)
72 #define ENABLE_CONTEXT_MENUS 0
73 #endif
74
75 #if !defined(ENABLE_CURSOR_SUPPORT)
76 #define ENABLE_CURSOR_SUPPORT 0
77 #endif
78
79 #if !defined(ENABLE_DRAG_SUPPORT)
80 #define ENABLE_DRAG_SUPPORT 0
81 #endif
82
83 #if !defined(ENABLE_GEOLOCATION)
84 #define ENABLE_GEOLOCATION 1
85 #endif
86
87 #if !defined(ENABLE_ICONDATABASE)
88 #define ENABLE_ICONDATABASE 0
89 #endif
90
91 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
92 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 1
93 #endif
94
95 #if !defined(ENABLE_LETTERPRESS)
96 #define ENABLE_LETTERPRESS 1
97 #endif
98
99 #if !defined(ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE)
100 #define ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE 1
101 #endif
102
103 #if !defined(ENABLE_IOS_GESTURE_EVENTS) && USE(APPLE_INTERNAL_SDK)
104 #define ENABLE_IOS_GESTURE_EVENTS 1
105 #endif
106
107 #if !defined(ENABLE_TEXT_AUTOSIZING)
108 #define ENABLE_TEXT_AUTOSIZING 1
109 #endif
110
111 #if !defined(ENABLE_IOS_TOUCH_EVENTS) && USE(APPLE_INTERNAL_SDK)
112 #define ENABLE_IOS_TOUCH_EVENTS 1
113 #endif
114
115 #if !defined(ENABLE_METER_ELEMENT)
116 #define ENABLE_METER_ELEMENT 0
117 #endif
118
119 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
120 #define ENABLE_NETSCAPE_PLUGIN_API 0
121 #endif
122
123 #if !defined(ENABLE_ORIENTATION_EVENTS)
124 #define ENABLE_ORIENTATION_EVENTS 1
125 #endif
126
127 #if !defined(ENABLE_POINTER_LOCK)
128 #define ENABLE_POINTER_LOCK 0
129 #endif
130
131 #if !defined(ENABLE_REMOTE_INSPECTOR)
132 #define ENABLE_REMOTE_INSPECTOR 1
133 #endif
134
135 #if !defined(ENABLE_RESPECT_EXIF_ORIENTATION)
136 #define ENABLE_RESPECT_EXIF_ORIENTATION 1
137 #endif
138
139 #if !defined(ENABLE_TEXT_CARET)
140 #define ENABLE_TEXT_CARET 0
141 #endif
142
143 #if !defined(ENABLE_TEXT_SELECTION)
144 #define ENABLE_TEXT_SELECTION 0
145 #endif
146
147 /* FIXME: Remove the USE(APPLE_INTERNAL_SDK) conjunct once we support touch events when building against
148 the public iOS SDK. See <https://webkit.org/b/179167>. */
149 #if !defined(ENABLE_TOUCH_EVENTS) && USE(APPLE_INTERNAL_SDK)
150 #define ENABLE_TOUCH_EVENTS 1
151 #endif
152
153 #if !defined(ENABLE_WEB_ARCHIVE)
154 #define ENABLE_WEB_ARCHIVE 1
155 #endif
156
157 #if !defined(ENABLE_WEBGL)
158 #define ENABLE_WEBGL 1
159 #endif
160
161 #if !defined(ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC)
162 #define ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC 1
163 #endif
164
165 #if !defined(ENABLE_DOWNLOAD_ATTRIBUTE)
166 #define ENABLE_DOWNLOAD_ATTRIBUTE 0
167 #endif
168
169 #if !defined(ENABLE_WKLEGACYPDFVIEW)
170 #if PLATFORM(IOS) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV) && !PLATFORM(IOSMAC) && __IPHONE_OS_VERSION_MIN_REQUIRED < 120000
171 #define ENABLE_WKLEGACYPDFVIEW 1
172 #endif
173 #endif
174
175 #if !defined(ENABLE_WKPDFVIEW)
176 #if PLATFORM(IOS) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV) && !PLATFORM(IOSMAC) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000
177 #define ENABLE_WKPDFVIEW 1
178 #endif
179 #endif
180
181 #endif /* PLATFORM(IOS) */
182
183 /* --------- Apple MAC port (not IOS) --------- */
184 #if PLATFORM(MAC)
185
186 #if !defined(ENABLE_CONTENT_EXTENSIONS)
187 #define ENABLE_CONTENT_EXTENSIONS 1
188 #endif
189
190 #if !defined(ENABLE_DASHBOARD_SUPPORT)
191 #define ENABLE_DASHBOARD_SUPPORT 1
192 #endif
193
194 #if !defined(ENABLE_FULLSCREEN_API)
195 #define ENABLE_FULLSCREEN_API 1
196 #endif
197
198 #if !defined(ENABLE_REMOTE_INSPECTOR)
199 #define ENABLE_REMOTE_INSPECTOR 1
200 #endif
201
202 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
203 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 1
204 #endif
205
206 #if !defined(ENABLE_SMOOTH_SCROLLING)
207 #define ENABLE_SMOOTH_SCROLLING 1
208 #endif
209
210 #if !defined(ENABLE_ASYNC_SCROLLING)
211 #define ENABLE_ASYNC_SCROLLING 1
212 #endif
213
214 #if ENABLE(VIDEO)
215 #if !defined(ENABLE_VIDEO_TRACK)
216 #define ENABLE_VIDEO_TRACK 1
217 #endif
218 #endif
219
220 #if !defined(ENABLE_WEB_ARCHIVE)
221 #define ENABLE_WEB_ARCHIVE 1
222 #endif
223
224 #if !defined(ENABLE_WEB_AUDIO)
225 #define ENABLE_WEB_AUDIO 1
226 #endif
227
228 #if !defined(ENABLE_CURSOR_VISIBILITY)
229 #define ENABLE_CURSOR_VISIBILITY 1
230 #endif
231
232 #if !defined(ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC)
233 #define ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC 1
234 #endif
235
236 #if !defined(ENABLE_MAC_GESTURE_EVENTS) && USE(APPLE_INTERNAL_SDK)
237 #define ENABLE_MAC_GESTURE_EVENTS 1
238 #endif
239
240 #if !defined(ENABLE_WEBPROCESS_NSRUNLOOP)
241 #define ENABLE_WEBPROCESS_NSRUNLOOP __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
242 #endif
243
244 #if !defined(ENABLE_WEBPROCESS_WINDOWSERVER_BLOCKING)
245 #define ENABLE_WEBPROCESS_WINDOWSERVER_BLOCKING ENABLE_WEBPROCESS_NSRUNLOOP
246 #endif
247
248 #endif /* PLATFORM(MAC) */
249
250 #if PLATFORM(COCOA)
251
252 #if !defined(ENABLE_LEGACY_ENCRYPTED_MEDIA)
253 #if PLATFORM(IOSMAC)
254 #define ENABLE_LEGACY_ENCRYPTED_MEDIA 0
255 #else
256 #define ENABLE_LEGACY_ENCRYPTED_MEDIA 1
257 #endif
258 #endif
259
260 #if !defined(ENABLE_FILE_REPLACEMENT)
261 #define ENABLE_FILE_REPLACEMENT 1
262 #endif
263
264 #if !defined(ENABLE_KEYBOARD_KEY_ATTRIBUTE)
265 #define ENABLE_KEYBOARD_KEY_ATTRIBUTE 1
266 #endif
267
268 #if !defined(ENABLE_KEYBOARD_CODE_ATTRIBUTE)
269 #define ENABLE_KEYBOARD_CODE_ATTRIBUTE 1
270 #endif
271
272 #if !defined(ENABLE_PAYMENT_REQUEST)
273 #define ENABLE_PAYMENT_REQUEST 1
274 #endif
275
276 #endif /* PLATFORM(COCOA) */
277
278 #if !PLATFORM(COCOA)
279
280 #if !defined(JSC_OBJC_API_ENABLED)
281 #define JSC_OBJC_API_ENABLED 0
282 #endif
283
284 #endif /* !PLATFORM(COCOA) */
285
286
287 /* --------- Apple Windows port --------- */
288 #if PLATFORM(WIN) && !PLATFORM(WIN_CAIRO)
289
290 #if !defined(ENABLE_FULLSCREEN_API)
291 #define ENABLE_FULLSCREEN_API 1
292 #endif
293
294 #if !defined(ENABLE_WEB_ARCHIVE)
295 #define ENABLE_WEB_ARCHIVE 1
296 #endif
297
298 #if !defined(ENABLE_WEBGL)
299 #define ENABLE_WEBGL 0
300 #endif
301
302 #if !defined(ENABLE_GEOLOCATION)
303 #define ENABLE_GEOLOCATION 1
304 #endif
305
306 #endif /* PLATFORM(WIN) && !PLATFORM(WIN_CAIRO) */
307
308 /* --------- Windows CAIRO port --------- */
309 /* PLATFORM(WIN_CAIRO) is a specialization of PLATFORM(WIN). */
310 /* PLATFORM(WIN) is always enabled when PLATFORM(WIN_CAIRO) is enabled. */
311 #if PLATFORM(WIN_CAIRO)
312
313 #if !defined(ENABLE_WEB_ARCHIVE)
314 #define ENABLE_WEB_ARCHIVE 1
315 #endif
316
317 #if !defined(ENABLE_WEBGL)
318 #define ENABLE_WEBGL 1
319 #endif
320
321 #if !defined(ENABLE_GEOLOCATION)
322 #define ENABLE_GEOLOCATION 1
323 #endif
324
325 #endif /* PLATFORM(WIN_CAIRO) */
326
327 /* --------- Gtk port (Unix, Windows, Mac) and WPE --------- */
328 #if PLATFORM(GTK) || PLATFORM(WPE)
329 #if !defined(ENABLE_KEYBOARD_KEY_ATTRIBUTE)
330 #define ENABLE_KEYBOARD_KEY_ATTRIBUTE 1
331 #endif
332
333 #if !defined(ENABLE_KEYBOARD_CODE_ATTRIBUTE)
334 #define ENABLE_KEYBOARD_CODE_ATTRIBUTE 1
335 #endif
336 #endif /* PLATFORM(GTK) || PLATFORM(WPE) */
337
338 /* ENABLE macro defaults for WebCore */
339 /* Do not use PLATFORM() tests in this section ! */
340
341 #if !defined(ENABLE_3D_TRANSFORMS)
342 #define ENABLE_3D_TRANSFORMS 0
343 #endif
344
345 #if !defined(ENABLE_ACCELERATED_2D_CANVAS)
346 #define ENABLE_ACCELERATED_2D_CANVAS 0
347 #endif
348
349 #if !defined(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)
350 #define ENABLE_ACCELERATED_OVERFLOW_SCROLLING 0
351 #endif
352
353 #if !defined(ENABLE_APNG)
354 #define ENABLE_APNG 1
355 #endif
356
357 #if !defined(ENABLE_CHANNEL_MESSAGING)
358 #define ENABLE_CHANNEL_MESSAGING 1
359 #endif
360
361 #if !defined(ENABLE_CONTENT_EXTENSIONS)
362 #define ENABLE_CONTENT_EXTENSIONS 0
363 #endif
364
365 #if !defined(ENABLE_CONTEXT_MENUS)
366 #define ENABLE_CONTEXT_MENUS 1
367 #endif
368
369 #if !defined(ENABLE_CSS3_TEXT)
370 #define ENABLE_CSS3_TEXT 0
371 #endif
372
373 #if !defined(ENABLE_CSS_BOX_DECORATION_BREAK)
374 #define ENABLE_CSS_BOX_DECORATION_BREAK 1
375 #endif
376
377 #if !defined(ENABLE_CSS_DEVICE_ADAPTATION)
378 #define ENABLE_CSS_DEVICE_ADAPTATION 0
379 #endif
380
381 #if !defined(ENABLE_CSS_COMPOSITING)
382 #define ENABLE_CSS_COMPOSITING 0
383 #endif
384
385 #if !defined(ENABLE_CSS_IMAGE_ORIENTATION)
386 #define ENABLE_CSS_IMAGE_ORIENTATION 0
387 #endif
388
389 #if !defined(ENABLE_CSS_IMAGE_RESOLUTION)
390 #define ENABLE_CSS_IMAGE_RESOLUTION 0
391 #endif
392
393 #if !defined(ENABLE_CURSOR_SUPPORT)
394 #define ENABLE_CURSOR_SUPPORT 1
395 #endif
396
397 #if !defined(ENABLE_CUSTOM_SCHEME_HANDLER)
398 #define ENABLE_CUSTOM_SCHEME_HANDLER 0
399 #endif
400
401 #if !defined(ENABLE_DASHBOARD_SUPPORT)
402 #define ENABLE_DASHBOARD_SUPPORT 0
403 #endif
404
405 #if !defined(ENABLE_DATALIST_ELEMENT)
406 #define ENABLE_DATALIST_ELEMENT 0
407 #endif
408
409 #if !defined(ENABLE_DEVICE_ORIENTATION)
410 #define ENABLE_DEVICE_ORIENTATION 0
411 #endif
412
413 #if !defined(ENABLE_DOWNLOAD_ATTRIBUTE)
414 #define ENABLE_DOWNLOAD_ATTRIBUTE 1
415 #endif
416
417 #if !defined(ENABLE_DRAG_SUPPORT)
418 #define ENABLE_DRAG_SUPPORT 1
419 #endif
420
421 #if !defined(ENABLE_ENCRYPTED_MEDIA)
422 #define ENABLE_ENCRYPTED_MEDIA 0
423 #endif
424
425 #if !defined(ENABLE_FILTERS_LEVEL_2)
426 #define ENABLE_FILTERS_LEVEL_2 0
427 #endif
428
429 #if !defined(ENABLE_FTPDIR)
430 #define ENABLE_FTPDIR 1
431 #endif
432
433 #if !defined(ENABLE_FULLSCREEN_API)
434 #define ENABLE_FULLSCREEN_API 0
435 #endif
436
437 #if !defined(ENABLE_GAMEPAD)
438 #define ENABLE_GAMEPAD 0
439 #endif
440
441 #if !defined(ENABLE_GEOLOCATION)
442 #define ENABLE_GEOLOCATION 0
443 #endif
444
445 #if !defined(ENABLE_ICONDATABASE)
446 #define ENABLE_ICONDATABASE 1
447 #endif
448
449 #if !defined(ENABLE_INDEXED_DATABASE)
450 #define ENABLE_INDEXED_DATABASE 0
451 #endif
452
453 #if !defined(ENABLE_INDEXED_DATABASE_IN_WORKERS)
454 #define ENABLE_INDEXED_DATABASE_IN_WORKERS 0
455 #endif
456
457 #if !defined(ENABLE_INPUT_TYPE_COLOR)
458 #define ENABLE_INPUT_TYPE_COLOR 0
459 #endif
460
461 #if !defined(ENABLE_INPUT_TYPE_COLOR_POPOVER)
462 #define ENABLE_INPUT_TYPE_COLOR_POPOVER 0
463 #endif
464
465 #if !defined(ENABLE_INPUT_TYPE_DATE)
466 #define ENABLE_INPUT_TYPE_DATE 0
467 #endif
468
469 #if !defined(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE)
470 #define ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE 0
471 #endif
472
473 #if !defined(ENABLE_INPUT_TYPE_DATETIMELOCAL)
474 #define ENABLE_INPUT_TYPE_DATETIMELOCAL 0
475 #endif
476
477 #if !defined(ENABLE_INPUT_TYPE_MONTH)
478 #define ENABLE_INPUT_TYPE_MONTH 0
479 #endif
480
481 #if !defined(ENABLE_INPUT_TYPE_TIME)
482 #define ENABLE_INPUT_TYPE_TIME 0
483 #endif
484
485 #if !defined(ENABLE_INPUT_TYPE_WEEK)
486 #define ENABLE_INPUT_TYPE_WEEK 0
487 #endif
488
489 #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)
490 #if !defined(ENABLE_DATE_AND_TIME_INPUT_TYPES)
491 #define ENABLE_DATE_AND_TIME_INPUT_TYPES 1
492 #endif
493 #endif
494
495 #if !defined(ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS)
496 #define ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS 0
497 #endif
498
499 #if !defined(ENABLE_INTL)
500 #define ENABLE_INTL 0
501 #endif
502
503 #if !defined(ENABLE_LAYOUT_FORMATTING_CONTEXT)
504 #define ENABLE_LAYOUT_FORMATTING_CONTEXT 0
505 #endif
506
507 #if !defined(ENABLE_LEGACY_CSS_VENDOR_PREFIXES)
508 #define ENABLE_LEGACY_CSS_VENDOR_PREFIXES 0
509 #endif
510
511 #if !defined(ENABLE_LETTERPRESS)
512 #define ENABLE_LETTERPRESS 0
513 #endif
514
515 #if !defined(ENABLE_MATHML)
516 #define ENABLE_MATHML 1
517 #endif
518
519 #if !defined(ENABLE_MEDIA_CAPTURE)
520 #define ENABLE_MEDIA_CAPTURE 0
521 #endif
522
523 #if !defined(ENABLE_MEDIA_CONTROLS_SCRIPT)
524 #define ENABLE_MEDIA_CONTROLS_SCRIPT 0
525 #endif
526
527 #if !defined(ENABLE_MEDIA_SOURCE)
528 #define ENABLE_MEDIA_SOURCE 0
529 #endif
530
531 #if !defined(ENABLE_MEDIA_STATISTICS)
532 #define ENABLE_MEDIA_STATISTICS 0
533 #endif
534
535 #if !defined(ENABLE_MEDIA_STREAM)
536 #define ENABLE_MEDIA_STREAM 0
537 #endif
538
539 #if !defined(ENABLE_METER_ELEMENT)
540 #define ENABLE_METER_ELEMENT 1
541 #endif
542
543 #if !defined(ENABLE_MHTML)
544 #define ENABLE_MHTML 0
545 #endif
546
547 #if !defined(ENABLE_MOUSE_CURSOR_SCALE)
548 #define ENABLE_MOUSE_CURSOR_SCALE 0
549 #endif
550
551 #if !defined(ENABLE_MOUSE_FORCE_EVENTS)
552 #define ENABLE_MOUSE_FORCE_EVENTS 1
553 #endif
554
555 #if !defined(ENABLE_NAVIGATOR_CONTENT_UTILS)
556 #define ENABLE_NAVIGATOR_CONTENT_UTILS 0
557 #endif
558
559 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
560 #define ENABLE_NETSCAPE_PLUGIN_API 1
561 #endif
562
563 #if !defined(ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE)
564 #define ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE 0
565 #endif
566
567 #if !defined(ENABLE_NOTIFICATIONS)
568 #define ENABLE_NOTIFICATIONS 0
569 #endif
570
571 #if !defined(ENABLE_OPENTYPE_VERTICAL)
572 #define ENABLE_OPENTYPE_VERTICAL 0
573 #endif
574
575 #if !defined(ENABLE_ORIENTATION_EVENTS)
576 #define ENABLE_ORIENTATION_EVENTS 0
577 #endif
578
579 #if OS(WINDOWS)
580 #if !defined(ENABLE_PAN_SCROLLING)
581 #define ENABLE_PAN_SCROLLING 1
582 #endif
583 #endif
584
585 #if !defined(ENABLE_PAYMENT_REQUEST)
586 #define ENABLE_PAYMENT_REQUEST 0
587 #endif
588
589 #if !defined(ENABLE_POINTER_LOCK)
590 #define ENABLE_POINTER_LOCK 1
591 #endif
592
593 #if !defined(ENABLE_QUOTA)
594 #define ENABLE_QUOTA 0
595 #endif
596
597 #if !defined(ENABLE_REMOTE_INSPECTOR)
598 #define ENABLE_REMOTE_INSPECTOR 0
599 #endif
600
601 #if !defined(ENABLE_RUBBER_BANDING)
602 #define ENABLE_RUBBER_BANDING 0
603 #endif
604
605 #if !defined(ENABLE_SMOOTH_SCROLLING)
606 #define ENABLE_SMOOTH_SCROLLING 0
607 #endif
608
609 #if !defined(ENABLE_SPEECH_SYNTHESIS)
610 #define ENABLE_SPEECH_SYNTHESIS 0
611 #endif
612
613 #if !defined(ENABLE_SPELLCHECK)
614 #define ENABLE_SPELLCHECK 0
615 #endif
616
617 #if !defined(ENABLE_STREAMS_API)
618 #define ENABLE_STREAMS_API 1
619 #endif
620
621 #if !defined(ENABLE_SVG_FONTS)
622 #define ENABLE_SVG_FONTS 1
623 #endif
624
625 #if !defined(ENABLE_TEXT_CARET)
626 #define ENABLE_TEXT_CARET 1
627 #endif
628
629 #if !defined(ENABLE_TEXT_SELECTION)
630 #define ENABLE_TEXT_SELECTION 1
631 #endif
632
633 #if !defined(ENABLE_ASYNC_SCROLLING)
634 #define ENABLE_ASYNC_SCROLLING 0
635 #endif
636
637 #if !defined(ENABLE_TOUCH_EVENTS)
638 #define ENABLE_TOUCH_EVENTS 0
639 #endif
640
641 #if !defined(ENABLE_VIDEO)
642 #define ENABLE_VIDEO 0
643 #endif
644
645 #if !defined(ENABLE_VIDEO_TRACK)
646 #define ENABLE_VIDEO_TRACK 0
647 #endif
648
649 #if !defined(ENABLE_DATACUE_VALUE)
650 #define ENABLE_DATACUE_VALUE 0
651 #endif
652
653 #if !defined(ENABLE_WEBGL)
654 #define ENABLE_WEBGL 0
655 #endif
656
657 #if !defined(ENABLE_GRAPHICS_CONTEXT_3D)
658 #define ENABLE_GRAPHICS_CONTEXT_3D ENABLE_WEBGL
659 #endif
660
661 #if !defined(ENABLE_WEB_ARCHIVE)
662 #define ENABLE_WEB_ARCHIVE 0
663 #endif
664
665 #if !defined(ENABLE_WEB_AUDIO)
666 #define ENABLE_WEB_AUDIO 0
667 #endif
668
669 #if !defined(ENABLE_XSLT)
670 #define ENABLE_XSLT 1
671 #endif
672
673 #if !defined(ENABLE_KEYBOARD_KEY_ATTRIBUTE)
674 #define ENABLE_KEYBOARD_KEY_ATTRIBUTE 0
675 #endif
676
677 #if !defined(ENABLE_KEYBOARD_CODE_ATTRIBUTE)
678 #define ENABLE_KEYBOARD_CODE_ATTRIBUTE 0
679 #endif
680
681 #if !defined(ENABLE_DATA_INTERACTION)
682 #define ENABLE_DATA_INTERACTION 0
683 #endif
684
685 #if !defined(ENABLE_SERVICE_WORKER)
686 #define ENABLE_SERVICE_WORKER 1
687 #endif
688
689 /* Asserts, invariants for macro definitions */
690
691 #if ENABLE(VIDEO_TRACK) && !ENABLE(VIDEO)
692 #error "ENABLE(VIDEO_TRACK) requires ENABLE(VIDEO)"
693 #endif
694
695 #if ENABLE(MEDIA_CONTROLS_SCRIPT) && !ENABLE(VIDEO)
696 #error "ENABLE(MEDIA_CONTROLS_SCRIPT) requires ENABLE(VIDEO)"
697 #endif
698
699 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) && !ENABLE(REMOTE_INSPECTOR)
700 #error "ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) requires ENABLE(REMOTE_INSPECTOR)"
701 #endif
702
703 #if ENABLE(IOS_TOUCH_EVENTS) && !ENABLE(TOUCH_EVENTS)
704 #error "ENABLE(IOS_TOUCH_EVENTS) requires ENABLE(TOUCH_EVENTS)"
705 #endif
706
707 #if ENABLE(WEBGL) && !ENABLE(GRAPHICS_CONTEXT_3D)
708 #error "ENABLE(WEBGL) requires ENABLE(GRAPHICS_CONTEXT_3D)"
709 #endif
710
711 #if ENABLE(WEBGL2) && !ENABLE(WEBGL)
712 #error "ENABLE(WEBGL2) requires ENABLE(WEBGL)"
713 #endif
714
715 #endif /* WTF_FeatureDefines_h */