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