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