Always enable ENABLE(XPATH)
[WebKit-https.git] / Source / WebKit / chromium / features.gypi
1 #
2 # Copyright (C) 2009 Google Inc. All rights reserved.
3
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7
8 #     * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 #     * Redistributions in binary form must reproduce the above
11 # copyright notice, this list of conditions and the following disclaimer
12 # in the documentation and/or other materials provided with the
13 # distribution.
14 #     * Neither the name of Google Inc. nor the names of its
15 # contributors may be used to endorse or promote products derived from
16 # this software without specific prior written permission.
17
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 #
30
31 {
32   # The following defines turn WebKit features on and off.
33   'variables': {
34     'feature_defines': [
35       'ENABLE_3D_PLUGIN=1',
36       'ENABLE_BLOB=1',
37       'ENABLE_BLOB_SLICE=1',
38       'ENABLE_CHANNEL_MESSAGING=1',
39       'ENABLE_CLIENT_BASED_GEOLOCATION=1',
40       'ENABLE_DASHBOARD_SUPPORT=0',
41       'ENABLE_DATA_TRANSFER_ITEMS=1',
42       'ENABLE_DETAILS=1',
43       'ENABLE_DEVICE_ORIENTATION=1',
44       'ENABLE_DIRECTORY_UPLOAD=1',
45       'ENABLE_DOWNLOAD_ATTRIBUTE=1',
46       'ENABLE_FILE_SYSTEM=1',
47       'ENABLE_FILTERS=1',
48       'ENABLE_FULLSCREEN_API=1',
49       'ENABLE_GAMEPAD=1',
50       'ENABLE_GEOLOCATION=1',
51       'ENABLE_GESTURE_EVENTS=1',
52       'ENABLE_GESTURE_RECOGNIZER=1',
53       'ENABLE_ICONDATABASE=0',
54       'ENABLE_INDEXED_DATABASE=1',
55       'ENABLE_INPUT_SPEECH=1',
56       'ENABLE_INPUT_TYPE_COLOR=0',
57       'ENABLE_INPUT_TYPE_DATE=0',
58       'ENABLE_INPUT_TYPE_DATETIME=0',
59       'ENABLE_INPUT_TYPE_DATETIMELOCAL=0',
60       'ENABLE_INPUT_TYPE_MONTH=0',
61       'ENABLE_INPUT_TYPE_TIME=0',
62       'ENABLE_INPUT_TYPE_WEEK=0',
63       'ENABLE_JAVASCRIPT_DEBUGGER=1',
64       'ENABLE_JAVASCRIPT_I18N_API=1',
65       'ENABLE_LINK_PREFETCH=1',
66       'ENABLE_MEDIA_STATISTICS=1',
67       'ENABLE_MEDIA_STREAM=1',
68       'ENABLE_METER_TAG=1',
69       'ENABLE_MHTML=1',
70       'ENABLE_MICRODATA=0',
71       'ENABLE_MUTATION_OBSERVERS=<(enable_mutation_observers)',
72       'ENABLE_NOTIFICATIONS=1',
73       'ENABLE_ORIENTATION_EVENTS=0',
74       'ENABLE_PAGE_VISIBILITY_API=1',
75       'ENABLE_PROGRESS_TAG=1',
76       'ENABLE_QUOTA=1',
77       'ENABLE_REQUEST_ANIMATION_FRAME=1',
78       'ENABLE_RUBY=1',
79       'ENABLE_SANDBOX=1',
80       'ENABLE_SHARED_WORKERS=1',
81       'ENABLE_SMOOTH_SCROLLING=1',
82       'ENABLE_SQL_DATABASE=1',
83       'ENABLE_SVG=<(enable_svg)',
84       'ENABLE_SVG_FONTS=<(enable_svg)',
85       'ENABLE_TOUCH_EVENTS=<(enable_touch_events)',
86       'ENABLE_TOUCH_ICON_LOADING=<(enable_touch_icon_loading)',
87       'ENABLE_V8_SCRIPT_DEBUG_SERVER=1',
88       'ENABLE_VIDEO=1',
89       'ENABLE_VIDEO_TRACK=1',
90       'ENABLE_WEBGL=1',
91       'ENABLE_WEB_SOCKETS=1',
92       'ENABLE_WEB_TIMING=1',
93       'ENABLE_WORKERS=1',
94       'ENABLE_XHR_RESPONSE_BLOB=1',
95       'ENABLE_XSLT=1',
96       'WTF_USE_LEVELDB=1',
97       'WTF_USE_BUILTIN_UTF8_CODEC=1',
98       # WTF_USE_DYNAMIC_ANNOTATIONS=1 may be defined in build/common.gypi
99       # We can't define it here because it should be present only
100       # in Debug or release_valgrind_build=1 builds.
101       'WTF_USE_OPENTYPE_SANITIZER=1',
102       'WTF_USE_SKIA_TEXT=<(enable_skia_text)',
103       'WTF_USE_WEBP=1',
104       'WTF_USE_WEBKIT_IMAGE_DECODERS=1',
105     ],
106     # We have to nest variables inside variables so that they can be overridden
107     # through GYP_DEFINES.
108     'variables': {
109       'use_accelerated_compositing%': 1,
110       'use_threaded_compositing%': 0,
111       'enable_skia_text%': 0,
112       'enable_svg%': 1,
113       'enable_touch_events%': 1,
114       'use_skia%': 0,
115       'enable_touch_icon_loading%' : 0,
116       'enable_css3_flexbox%': 0,
117       'enable_mutation_observers%': 0,
118     },
119     'use_accelerated_compositing%': '<(use_accelerated_compositing)',
120     'use_threaded_compositing%': '<(use_threaded_compositing)',
121     'enable_skia_text%': '<(enable_skia_text)',
122     'enable_svg%': '<(enable_svg)',
123     'enable_touch_events%': '<(enable_touch_events)',
124     'use_skia%': '<(use_skia)',
125     'conditions': [
126       ['OS=="android"', {
127         'feature_defines': [
128           'ENABLE_WEB_AUDIO=0',
129         ],
130       }, {
131         'feature_defines': [
132           'ENABLE_WEB_AUDIO=1',
133         ],
134       }],
135       ['use_accelerated_compositing==1', {
136         'feature_defines': [
137           'WTF_USE_ACCELERATED_COMPOSITING=1',
138           'ENABLE_3D_RENDERING=1',
139         ],
140       }],
141       ['use_accelerated_compositing==1 and (OS!="mac" or use_skia==1)', {
142         'feature_defines': [
143           'ENABLE_ACCELERATED_2D_CANVAS=1',
144         ],
145       }],
146       ['use_accelerated_compositing==1 and use_threaded_compositing==1', {
147         'feature_defines': [
148           'WTF_USE_THREADED_COMPOSITING=1',
149         ],
150       }],
151       ['touchui==1', {
152         'enable_touch_icon_loading': 1,
153       }],
154       # Mac OS X uses Accelerate.framework FFT by default instead of FFmpeg.
155       ['OS!="mac"', {
156         'feature_defines': [
157           'WTF_USE_WEBAUDIO_FFMPEG=1',
158         ],
159         'use_skia%': 1,
160       }],
161       ['enable_register_protocol_handler==1', {
162         'feature_defines': [
163           'ENABLE_REGISTER_PROTOCOL_HANDLER=1',
164         ],
165       }],
166       ['OS=="mac"', {
167         'feature_defines': [
168           'ENABLE_RUBBER_BANDING=1',
169           'WTF_USE_SKIA_ON_MAC_CHROMIUM=<(use_skia)',
170         ],
171       }],
172       ['enable_css3_flexbox==1', {
173         'feature_defines': [
174           'ENABLE_CSS3_FLEXBOX=1',
175         ],
176       }],
177     ],
178   },
179 }