e9f5964b17a287184fd22e8b4f6bb175342535c6
[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 COMPUTER, 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 COMPUTER, 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 /* PLATFORM(IOS) is a specialization of PLATFORM(MAC). */
56 /* PLATFORM(MAC) is always enabled when PLATFORM(IOS) is enabled. */
57 #if PLATFORM(IOS)
58
59 #if !defined(ENABLE_ASYNC_SCROLLING)
60 #define ENABLE_ASYNC_SCROLLING 1
61 #endif
62
63 #if !defined(ENABLE_8BIT_TEXTRUN)
64 #define ENABLE_8BIT_TEXTRUN 1
65 #endif
66
67 #if !defined(ENABLE_CONTEXT_MENUS)
68 #define ENABLE_CONTEXT_MENUS 0
69 #endif
70
71 #if !defined(ENABLE_CSS_IMAGE_SET)
72 #define ENABLE_CSS_IMAGE_SET 1
73 #endif
74
75 #if !defined(ENABLE_CURSOR_SUPPORT)
76 #define ENABLE_CURSOR_SUPPORT 0
77 #endif
78
79 #if !defined(ENABLE_DISK_IMAGE_CACHE)
80 #define ENABLE_DISK_IMAGE_CACHE 1
81 #endif
82
83 #if !defined(ENABLE_DRAG_SUPPORT)
84 #define ENABLE_DRAG_SUPPORT 0
85 #endif
86
87 #if !defined(ENABLE_GEOLOCATION)
88 #define ENABLE_GEOLOCATION 1
89 #endif
90
91 #if !defined(ENABLE_ICONDATABASE)
92 #define ENABLE_ICONDATABASE 0
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)
104 #define ENABLE_IOS_GESTURE_EVENTS 1
105 #endif
106
107 #if !defined(ENABLE_IOS_TEXT_AUTOSIZING)
108 #define ENABLE_IOS_TEXT_AUTOSIZING 1
109 #endif
110
111 #if !defined(ENABLE_IOS_TOUCH_EVENTS)
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_REPAINT_THROTTLING)
136 #define ENABLE_REPAINT_THROTTLING 0
137 #endif
138
139 #if !defined(ENABLE_RESPECT_EXIF_ORIENTATION)
140 #define ENABLE_RESPECT_EXIF_ORIENTATION 1
141 #endif
142
143 #if !defined(ENABLE_TEXT_CARET)
144 #define ENABLE_TEXT_CARET 0
145 #endif
146
147 #if !defined(ENABLE_TEXT_SELECTION)
148 #define ENABLE_TEXT_SELECTION 0
149 #endif
150
151 #if !defined(ENABLE_TOUCH_EVENTS)
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_WEBGL)
164 #define ENABLE_WEBGL 1
165 #endif
166
167 #endif /* PLATFORM(IOS) */
168
169 /* --------- Apple MAC port (not IOS) --------- */
170 #if PLATFORM(MAC) && !PLATFORM(IOS)
171
172 #if !defined(ENABLE_8BIT_TEXTRUN)
173 #define ENABLE_8BIT_TEXTRUN 1
174 #endif
175
176 #if !defined(ENABLE_CSS_IMAGE_SET)
177 #define ENABLE_CSS_IMAGE_SET 1
178 #endif
179
180 #if !defined(ENABLE_DASHBOARD_SUPPORT)
181 #define ENABLE_DASHBOARD_SUPPORT 1
182 #endif
183
184 #if !defined(ENABLE_DELETION_UI)
185 #define ENABLE_DELETION_UI 1
186 #endif
187
188 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
189 #if !defined(ENABLE_ENCRYPTED_MEDIA)
190 #define ENABLE_ENCRYPTED_MEDIA 1
191 #endif
192 #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
193 #define ENABLE_ENCRYPTED_MEDIA_V2 1
194 #endif
195 #endif
196
197 #if !defined(ENABLE_FULLSCREEN_API)
198 #define ENABLE_FULLSCREEN_API 1
199 #endif
200
201 #if !defined(ENABLE_REMOTE_INSPECTOR)
202 #define ENABLE_REMOTE_INSPECTOR 1
203 #endif
204
205 #if !defined(ENABLE_RUBBER_BANDING)
206 #define ENABLE_RUBBER_BANDING 1
207 #endif
208
209 #if !defined(ENABLE_SMOOTH_SCROLLING)
210 #define ENABLE_SMOOTH_SCROLLING 1
211 #endif
212
213 #if !defined(ENABLE_ASYNC_SCROLLING)
214 #define ENABLE_ASYNC_SCROLLING 1
215 #endif
216
217 #if ENABLE(VIDEO)
218 #if !defined(ENABLE_VIDEO_TRACK)
219 #define ENABLE_VIDEO_TRACK 1
220 #endif
221 #endif
222
223 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
224 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
225 #endif
226
227 #if !defined(ENABLE_WEB_ARCHIVE)
228 #define ENABLE_WEB_ARCHIVE 1
229 #endif
230
231 #if !defined(ENABLE_WEB_AUDIO)
232 #define ENABLE_WEB_AUDIO 1
233 #endif
234
235 #if !defined(ENABLE_CURSOR_VISIBILITY)
236 #define ENABLE_CURSOR_VISIBILITY 1
237 #endif
238
239 #if !defined(ENABLE_INPUT_TYPE_COLOR)
240 #define ENABLE_INPUT_TYPE_COLOR 1
241 #endif
242
243 #if !defined(ENABLE_INPUT_TYPE_COLOR_POPOVER)
244 #define ENABLE_INPUT_TYPE_COLOR_POPOVER 1
245 #endif
246
247 #if !defined(ENABLE_MEDIA_SOURCE)
248 #define ENABLE_MEDIA_SOURCE 1
249 #endif
250
251 #endif /* PLATFORM(MAC) && !PLATFORM(IOS) */
252
253 /* --------- Apple Windows port --------- */
254 #if PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO)
255
256 #if !defined(ENABLE_FULLSCREEN_API)
257 #define ENABLE_FULLSCREEN_API 1
258 #endif
259
260 #if !defined(ENABLE_WEB_ARCHIVE)
261 #define ENABLE_WEB_ARCHIVE 1
262 #endif
263
264 #endif /* PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO) */
265
266 /* --------- WinCE port --------- */
267 /* WinCE port is a specialization of PLATFORM(WIN). */
268 /* PLATFORM(WIN) is always enabled when building for the WinCE port. */
269 #if PLATFORM(WIN) && OS(WINCE)
270
271 #if !defined(ENABLE_DRAG_SUPPORT)
272 #define ENABLE_DRAG_SUPPORT 0
273 #endif
274
275 #if !defined(ENABLE_FTPDIR)
276 #define ENABLE_FTPDIR 0
277 #endif
278
279 #if !defined(ENABLE_INSPECTOR)
280 #define ENABLE_INSPECTOR 0
281 #endif
282
283 #endif /* PLATFORM(WIN) && OS(WINCE) */
284
285 /* --------- Windows CAIRO port --------- */
286 /* PLATFORM(WIN_CAIRO) is a specialization of PLATFORM(WIN). */
287 /* PLATFORM(WIN) is always enabled when PLATFORM(WIN_CAIRO) is enabled. */
288 #if PLATFORM(WIN_CAIRO)
289
290 #if !defined(ENABLE_WEB_ARCHIVE)
291 #define ENABLE_WEB_ARCHIVE 1
292 #endif
293
294 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
295 #define ENABLE_VIEW_MODE_CSS_MEDIA 0
296 #endif
297
298 #if !defined(ENABLE_WEBGL)
299 #define ENABLE_WEBGL 1
300 #endif
301
302 #endif /* PLATFORM(WIN_CAIRO) */
303
304 /* --------- EFL port (Unix) --------- */
305 #if PLATFORM(EFL)
306
307 #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
308 #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 1
309 #endif
310
311 #if !defined(ENABLE_SUBPIXEL_LAYOUT)
312 #define ENABLE_SUBPIXEL_LAYOUT 1
313 #endif
314
315 #if !defined(ENABLE_8BIT_TEXTRUN)
316 #define ENABLE_8BIT_TEXTRUN 1
317 #endif
318
319 #endif /* PLATFORM(EFL) */
320
321 /* --------- Gtk port (Unix, Windows, Mac) --------- */
322 #if PLATFORM(GTK)
323
324 #if OS(UNIX)
325 #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
326 #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 1
327 #endif
328 #endif
329
330 #if !defined(ENABLE_8BIT_TEXTRUN)
331 #define ENABLE_8BIT_TEXTRUN 1
332 #endif
333
334 #endif /* PLATFORM(GTK) */
335
336 /* ENABLE macro defaults for WebCore */
337 /* Do not use PLATFORM() tests in this section ! */
338
339 #if !defined(ENABLE_3D_RENDERING)
340 #define ENABLE_3D_RENDERING 0
341 #endif
342
343 #if !defined(ENABLE_8BIT_TEXTRUN)
344 #define ENABLE_8BIT_TEXTRUN 0
345 #endif
346
347 #if !defined(ENABLE_ACCELERATED_2D_CANVAS)
348 #define ENABLE_ACCELERATED_2D_CANVAS 0
349 #endif
350
351 #if !defined(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)
352 #define ENABLE_ACCELERATED_OVERFLOW_SCROLLING 0
353 #endif
354
355 #if !defined(ENABLE_BATTERY_STATUS)
356 #define ENABLE_BATTERY_STATUS 0
357 #endif
358
359 #if !defined(ENABLE_BLOB)
360 #define ENABLE_BLOB 0
361 #endif
362
363 #if !defined(ENABLE_CANVAS_PATH)
364 #define ENABLE_CANVAS_PATH 1
365 #endif
366
367 #if !defined(ENABLE_CANVAS_PROXY)
368 #define ENABLE_CANVAS_PROXY 0
369 #endif
370
371 #if !defined(ENABLE_CHANNEL_MESSAGING)
372 #define ENABLE_CHANNEL_MESSAGING 1
373 #endif
374
375 #if !defined(ENABLE_CONTEXT_MENUS)
376 #define ENABLE_CONTEXT_MENUS 1
377 #endif
378
379 #if !defined(ENABLE_CSP_NEXT)
380 #define ENABLE_CSP_NEXT 0
381 #endif
382
383 #if !defined(ENABLE_CSS3_CONDITIONAL_RULES)
384 #define ENABLE_CSS3_CONDITIONAL_RULES 0
385 #endif
386
387 #if !defined(ENABLE_CSS3_TEXT)
388 #define ENABLE_CSS3_TEXT 0
389 #endif
390
391 #if !defined(ENABLE_CSS_BOX_DECORATION_BREAK)
392 #define ENABLE_CSS_BOX_DECORATION_BREAK 1
393 #endif
394
395 #if !defined(ENABLE_CSS_DEVICE_ADAPTATION)
396 #define ENABLE_CSS_DEVICE_ADAPTATION 0
397 #endif
398
399 #if !defined(ENABLE_CSS_COMPOSITING)
400 #define ENABLE_CSS_COMPOSITING 0
401 #endif
402
403 #if !defined(ENABLE_CSS_FILTERS)
404 #define ENABLE_CSS_FILTERS 0
405 #endif
406
407 #if !defined(ENABLE_CSS_IMAGE_ORIENTATION)
408 #define ENABLE_CSS_IMAGE_ORIENTATION 0
409 #endif
410
411 #if !defined(ENABLE_CSS_IMAGE_RESOLUTION)
412 #define ENABLE_CSS_IMAGE_RESOLUTION 0
413 #endif
414
415 #if !defined(ENABLE_CSS_IMAGE_SET)
416 #define ENABLE_CSS_IMAGE_SET 0
417 #endif
418
419 #if !defined(ENABLE_CSS_STICKY_POSITION)
420 #define ENABLE_CSS_STICKY_POSITION 0
421 #endif
422
423 #if !defined(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED)
424 #define ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED 0
425 #endif
426
427 #if !defined(ENABLE_CURSOR_SUPPORT)
428 #define ENABLE_CURSOR_SUPPORT 1
429 #endif
430
431 #if !defined(ENABLE_CUSTOM_SCHEME_HANDLER)
432 #define ENABLE_CUSTOM_SCHEME_HANDLER 0
433 #endif
434
435 #if !defined(ENABLE_DASHBOARD_SUPPORT)
436 #define ENABLE_DASHBOARD_SUPPORT 0
437 #endif
438
439 #if !defined(ENABLE_DATALIST_ELEMENT)
440 #define ENABLE_DATALIST_ELEMENT 0
441 #endif
442
443 #if !defined(ENABLE_DATA_TRANSFER_ITEMS)
444 #define ENABLE_DATA_TRANSFER_ITEMS 0
445 #endif
446
447 #if !defined(ENABLE_DELETION_UI)
448 #define ENABLE_DELETION_UI 0
449 #endif
450
451 #if !defined(ENABLE_DETAILS_ELEMENT)
452 #define ENABLE_DETAILS_ELEMENT 1
453 #endif
454
455 #if !defined(ENABLE_DEVICE_ORIENTATION)
456 #define ENABLE_DEVICE_ORIENTATION 0
457 #endif
458
459 #if !defined(ENABLE_DIRECTORY_UPLOAD)
460 #define ENABLE_DIRECTORY_UPLOAD 0
461 #endif
462
463 #if !defined(ENABLE_DOWNLOAD_ATTRIBUTE)
464 #define ENABLE_DOWNLOAD_ATTRIBUTE 0
465 #endif
466
467 #if !defined(ENABLE_DRAG_SUPPORT)
468 #define ENABLE_DRAG_SUPPORT 1
469 #endif
470
471 #if !defined(ENABLE_ENCRYPTED_MEDIA)
472 #define ENABLE_ENCRYPTED_MEDIA 0
473 #endif
474
475 #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
476 #define ENABLE_ENCRYPTED_MEDIA_V2 0
477 #endif
478
479 #if !defined(ENABLE_FAST_MOBILE_SCROLLING)
480 #define ENABLE_FAST_MOBILE_SCROLLING 0
481 #endif
482
483 #if !defined(ENABLE_FILTERS)
484 #define ENABLE_FILTERS 0
485 #endif
486
487 #if !defined(ENABLE_FONT_LOAD_EVENTS)
488 #define ENABLE_FONT_LOAD_EVENTS 0
489 #endif
490
491 #if !defined(ENABLE_FTPDIR)
492 #define ENABLE_FTPDIR 1
493 #endif
494
495 #if !defined(ENABLE_FULLSCREEN_API)
496 #define ENABLE_FULLSCREEN_API 0
497 #endif
498
499 #if !defined(ENABLE_GAMEPAD)
500 #define ENABLE_GAMEPAD 0
501 #endif
502
503 #if !defined(ENABLE_GEOLOCATION)
504 #define ENABLE_GEOLOCATION 0
505 #endif
506
507 #if !defined(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING)
508 #define ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING 0
509 #endif
510
511 #if !defined(ENABLE_HIGH_DPI_CANVAS)
512 #define ENABLE_HIGH_DPI_CANVAS 0
513 #endif
514
515 #if !defined(ENABLE_ICONDATABASE)
516 #define ENABLE_ICONDATABASE 1
517 #endif
518
519 #if !defined(ENABLE_IFRAME_SEAMLESS)
520 #define ENABLE_IFRAME_SEAMLESS 1
521 #endif
522
523 #if !defined(ENABLE_IMAGE_DECODER_DOWN_SAMPLING)
524 #define ENABLE_IMAGE_DECODER_DOWN_SAMPLING 0
525 #endif
526
527 #if !defined(ENABLE_INDEXED_DATABASE)
528 #define ENABLE_INDEXED_DATABASE 0
529 #endif
530
531 #if !defined(ENABLE_INPUT_SPEECH)
532 #define ENABLE_INPUT_SPEECH 0
533 #endif
534
535 #if !defined(ENABLE_INPUT_TYPE_COLOR)
536 #define ENABLE_INPUT_TYPE_COLOR 0
537 #endif
538
539 #if !defined(ENABLE_INPUT_TYPE_COLOR_POPOVER)
540 #define ENABLE_INPUT_TYPE_COLOR_POPOVER 0
541 #endif
542
543 #if !defined(ENABLE_INPUT_TYPE_DATE)
544 #define ENABLE_INPUT_TYPE_DATE 0
545 #endif
546
547 #if !defined(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE)
548 #define ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE 0
549 #endif
550
551 #if !defined(ENABLE_INPUT_TYPE_DATETIMELOCAL)
552 #define ENABLE_INPUT_TYPE_DATETIMELOCAL 0
553 #endif
554
555 #if !defined(ENABLE_INPUT_TYPE_MONTH)
556 #define ENABLE_INPUT_TYPE_MONTH 0
557 #endif
558
559 #if !defined(ENABLE_INPUT_TYPE_TIME)
560 #define ENABLE_INPUT_TYPE_TIME 0
561 #endif
562
563 #if !defined(ENABLE_INPUT_TYPE_WEEK)
564 #define ENABLE_INPUT_TYPE_WEEK 0
565 #endif
566
567 #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)
568 #if !defined(ENABLE_DATE_AND_TIME_INPUT_TYPES)
569 #define ENABLE_DATE_AND_TIME_INPUT_TYPES 1
570 #endif
571 #endif
572
573 #if !defined(ENABLE_INSPECTOR)
574 #define ENABLE_INSPECTOR 1
575 #endif
576
577 #if !defined(ENABLE_JAVASCRIPT_DEBUGGER)
578 #define ENABLE_JAVASCRIPT_DEBUGGER 1
579 #endif
580
581 #if !defined(ENABLE_JAVASCRIPT_I18N_API)
582 #define ENABLE_JAVASCRIPT_I18N_API 0
583 #endif
584
585 #if !defined(ENABLE_LEGACY_CSS_VENDOR_PREFIXES)
586 #define ENABLE_LEGACY_CSS_VENDOR_PREFIXES 0
587 #endif
588
589 #if !defined(ENABLE_LEGACY_NOTIFICATIONS)
590 #define ENABLE_LEGACY_NOTIFICATIONS 0
591 #endif
592
593 #if !defined(ENABLE_LEGACY_VENDOR_PREFIXES)
594 #define ENABLE_LEGACY_VENDOR_PREFIXES 0
595 #endif
596
597 #if !defined(ENABLE_LEGACY_VIEWPORT_ADAPTION)
598 #define ENABLE_LEGACY_VIEWPORT_ADAPTION 0
599 #endif
600
601 #if !defined(ENABLE_LETTERPRESS)
602 #define ENABLE_LETTERPRESS 0
603 #endif
604
605 #if !defined(ENABLE_LINK_PREFETCH)
606 #define ENABLE_LINK_PREFETCH 0
607 #endif
608
609 #if !defined(ENABLE_MATHML)
610 #define ENABLE_MATHML 1
611 #endif
612
613 #if !defined(ENABLE_MEDIA_CAPTURE)
614 #define ENABLE_MEDIA_CAPTURE 0
615 #endif
616
617 #if !defined(ENABLE_MEDIA_CONTROLS_SCRIPT)
618 #define ENABLE_MEDIA_CONTROLS_SCRIPT 0
619 #endif
620
621 #if !defined(ENABLE_MEDIA_SOURCE)
622 #define ENABLE_MEDIA_SOURCE 0
623 #endif
624
625 #if !defined(ENABLE_MEDIA_STATISTICS)
626 #define ENABLE_MEDIA_STATISTICS 0
627 #endif
628
629 #if !defined(ENABLE_MEDIA_STREAM)
630 #define ENABLE_MEDIA_STREAM 0
631 #endif
632
633 #if !defined(ENABLE_METER_ELEMENT)
634 #define ENABLE_METER_ELEMENT 1
635 #endif
636
637 #if !defined(ENABLE_MHTML)
638 #define ENABLE_MHTML 0
639 #endif
640
641 #if !defined(ENABLE_MOUSE_CURSOR_SCALE)
642 #define ENABLE_MOUSE_CURSOR_SCALE 0
643 #endif
644
645 #if !defined(ENABLE_NAVIGATOR_CONTENT_UTILS)
646 #define ENABLE_NAVIGATOR_CONTENT_UTILS 0
647 #endif
648
649 #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
650 #define ENABLE_NETSCAPE_PLUGIN_API 1
651 #endif
652
653 #if !defined(ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE)
654 #define ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE 0
655 #endif
656
657 #if !defined(ENABLE_NETWORK_INFO)
658 #define ENABLE_NETWORK_INFO 0
659 #endif
660
661 #if !defined(ENABLE_NOTIFICATIONS)
662 #define ENABLE_NOTIFICATIONS 0
663 #endif
664
665 #if !defined(ENABLE_OBJECT_MARK_LOGGING)
666 #define ENABLE_OBJECT_MARK_LOGGING 0
667 #endif
668
669 #if !defined(ENABLE_OPENCL)
670 #define ENABLE_OPENCL 0
671 #endif
672
673 #if !defined(ENABLE_OPENTYPE_VERTICAL)
674 #define ENABLE_OPENTYPE_VERTICAL 0
675 #endif
676
677 #if !defined(ENABLE_ORIENTATION_EVENTS)
678 #define ENABLE_ORIENTATION_EVENTS 0
679 #endif
680
681 #if !defined(ENABLE_PAGE_VISIBILITY_API)
682 #define ENABLE_PAGE_VISIBILITY_API 0
683 #endif
684
685 #if OS(WINDOWS)
686 #if !defined(ENABLE_PAN_SCROLLING)
687 #define ENABLE_PAN_SCROLLING 1
688 #endif
689 #endif
690
691 #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
692 #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 0
693 #endif
694
695 #if !defined(ENABLE_PLUGIN_PROXY_FOR_VIDEO)
696 #define ENABLE_PLUGIN_PROXY_FOR_VIDEO 0
697 #endif
698
699 #if !defined(ENABLE_POINTER_LOCK)
700 #define ENABLE_POINTER_LOCK 0
701 #endif
702
703 #if !defined(ENABLE_PROGRESS_ELEMENT)
704 #define ENABLE_PROGRESS_ELEMENT 0
705 #endif
706
707 #if !defined(ENABLE_PROMISES)
708 #define ENABLE_PROMISES 0
709 #endif
710
711 #if !defined(ENABLE_PROXIMITY_EVENTS)
712 #define ENABLE_PROXIMITY_EVENTS 0
713 #endif
714
715 #if !defined(ENABLE_QUOTA)
716 #define ENABLE_QUOTA 0
717 #endif
718
719 #if !defined(ENABLE_REPAINT_THROTTLING)
720 #define ENABLE_REPAINT_THROTTLING 0
721 #endif
722
723 #if !defined(ENABLE_REMOTE_INSPECTOR)
724 #define ENABLE_REMOTE_INSPECTOR 0
725 #endif
726
727 #if !defined(ENABLE_REQUEST_ANIMATION_FRAME)
728 #define ENABLE_REQUEST_ANIMATION_FRAME 0
729 #endif
730
731 #if !defined(ENABLE_RUBBER_BANDING)
732 #define ENABLE_RUBBER_BANDING 0
733 #endif
734
735 #if !defined(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
736 #define ENABLE_SATURATED_LAYOUT_ARITHMETIC 0
737 #endif
738
739 #if !defined(ENABLE_SCRIPTED_SPEECH)
740 #define ENABLE_SCRIPTED_SPEECH 0
741 #endif
742
743 #if !defined(ENABLE_SHADOW_DOM)
744 #define ENABLE_SHADOW_DOM 0
745 #endif
746
747 #if !defined(ENABLE_SHARED_WORKERS)
748 #define ENABLE_SHARED_WORKERS 0
749 #endif
750
751 #if !defined(ENABLE_SMOOTH_SCROLLING)
752 #define ENABLE_SMOOTH_SCROLLING 0
753 #endif
754
755 #if !defined(ENABLE_SPEECH_SYNTHESIS)
756 #define ENABLE_SPEECH_SYNTHESIS 0
757 #endif
758
759 #if !defined(ENABLE_SPELLCHECK)
760 #define ENABLE_SPELLCHECK 0
761 #endif
762
763 #if !defined(ENABLE_SQL_DATABASE)
764 #define ENABLE_SQL_DATABASE 1
765 #endif
766
767 #if !defined(ENABLE_SUBPIXEL_LAYOUT)
768 #define ENABLE_SUBPIXEL_LAYOUT 0
769 #endif
770
771 #if !defined(ENABLE_SVG)
772 #define ENABLE_SVG 1
773 #endif
774
775 #if ENABLE(SVG)
776 #if !defined(ENABLE_SVG_FONTS)
777 #define ENABLE_SVG_FONTS 1
778 #endif
779 #endif
780
781 #if !defined(ENABLE_TEMPLATE_ELEMENT)
782 #define ENABLE_TEMPLATE_ELEMENT 1
783 #endif
784
785 #if !defined(ENABLE_TEXT_AUTOSIZING)
786 #define ENABLE_TEXT_AUTOSIZING 0
787 #endif
788
789 #if !defined(ENABLE_TEXT_CARET)
790 #define ENABLE_TEXT_CARET 1
791 #endif
792
793 #if !defined(ENABLE_TEXT_SELECTION)
794 #define ENABLE_TEXT_SELECTION 1
795 #endif
796
797 #if !defined(ENABLE_ASYNC_SCROLLING)
798 #define ENABLE_ASYNC_SCROLLING 0
799 #endif
800
801 #if !defined(ENABLE_TOUCH_EVENTS)
802 #define ENABLE_TOUCH_EVENTS 0
803 #endif
804
805 #if !defined(ENABLE_TOUCH_ICON_LOADING)
806 #define ENABLE_TOUCH_ICON_LOADING 0
807 #endif
808
809 #if !defined(ENABLE_VIBRATION)
810 #define ENABLE_VIBRATION 0
811 #endif
812
813 #if !defined(ENABLE_VIDEO)
814 #define ENABLE_VIDEO 0
815 #endif
816
817 #if !defined(ENABLE_VIDEO_TRACK)
818 #define ENABLE_VIDEO_TRACK 0
819 #endif
820
821 #if !defined(ENABLE_VIEWPORT)
822 #define ENABLE_VIEWPORT 0
823 #endif
824
825 #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
826 #define ENABLE_VIEW_MODE_CSS_MEDIA 1
827 #endif
828
829 #if !defined(ENABLE_WEBGL)
830 #define ENABLE_WEBGL 0
831 #endif
832
833 #if !defined(ENABLE_WEB_ANIMATIONS)
834 #define ENABLE_WEB_ANIMATIONS 0
835 #endif
836
837 #if !defined(ENABLE_WEB_ARCHIVE)
838 #define ENABLE_WEB_ARCHIVE 0
839 #endif
840
841 #if !defined(ENABLE_WEB_AUDIO)
842 #define ENABLE_WEB_AUDIO 0
843 #endif
844
845 #if !defined(ENABLE_WEB_REPLAY)
846 #define ENABLE_WEB_REPLAY 0
847 #endif
848
849 #if !defined(ENABLE_WEB_SOCKETS)
850 #define ENABLE_WEB_SOCKETS 1
851 #endif
852
853 #if !defined(ENABLE_WEB_TIMING)
854 #define ENABLE_WEB_TIMING 0
855 #endif
856
857 #if !defined(ENABLE_WILL_REVEAL_EDGE_EVENTS)
858 #define ENABLE_WILL_REVEAL_EDGE_EVENTS 1
859 #endif
860
861 #if !defined(ENABLE_XHR_TIMEOUT)
862 #define ENABLE_XHR_TIMEOUT 0
863 #endif
864
865 #if !defined(ENABLE_XSLT)
866 #define ENABLE_XSLT 1
867 #endif
868
869 /* Asserts, invariants for macro definitions */
870
871 #if ENABLE(SATURATED_LAYOUT_ARITHMETIC) && !ENABLE(SUBPIXEL_LAYOUT)
872 #error "ENABLE(SATURATED_LAYOUT_ARITHMETIC) requires ENABLE(SUBPIXEL_LAYOUT)"
873 #endif
874
875 #if ENABLE(SVG_FONTS) && !ENABLE(SVG)
876 #error "ENABLE(SVG_FONTS) requires ENABLE(SVG)"
877 #endif
878
879 #if ENABLE(VIDEO_TRACK) && !ENABLE(VIDEO)
880 #error "ENABLE(VIDEO_TRACK) requires ENABLE(VIDEO)"
881 #endif
882
883 #if ENABLE(REMOTE_INSPECTOR) && !ENABLE(INSPECTOR)
884 #error "ENABLE(REMOTE_INSPECTOR) requires ENABLE(INSPECTOR)"
885 #endif
886
887 #if ENABLE(IOS_TOUCH_EVENTS) && !ENABLE(TOUCH_EVENTS)
888 #error "ENABLE(IOS_TOUCH_EVENTS) requires ENABLE(TOUCH_EVENTS)"
889 #endif
890
891 #endif /* WTF_FeatureDefines_h */