5fb2e9f261bed5a1f58c14c69516a5a1f670e16f
[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_BATTERY_STATUS=1',
37       'ENABLE_BLOB=1',
38       'ENABLE_BLOB_SLICE=1',
39       'ENABLE_CHANNEL_MESSAGING=1',
40       'ENABLE_CSS_FILTERS=1',
41       'ENABLE_CSS_IMAGE_SET=1',
42       'ENABLE_CSS_SHADERS=1',
43       'ENABLE_DATALIST=1',
44       'ENABLE_DASHBOARD_SUPPORT=0',
45       'ENABLE_DATA_TRANSFER_ITEMS=1',
46       'ENABLE_DETAILS=1',
47       'ENABLE_DEVICE_ORIENTATION=1',
48       'ENABLE_DIRECTORY_UPLOAD=1',
49       'ENABLE_DOWNLOAD_ATTRIBUTE=1',
50       'ENABLE_ENCRYPTED_MEDIA=1',
51       'ENABLE_FILE_SYSTEM=1',
52       'ENABLE_FILTERS=1',
53       'ENABLE_FULLSCREEN_API=1',
54       'ENABLE_GAMEPAD=1',
55       'ENABLE_GEOLOCATION=1',
56       'ENABLE_GESTURE_EVENTS=1',
57       'ENABLE_ICONDATABASE=0',
58       'ENABLE_INDEXED_DATABASE=1',
59       'ENABLE_INPUT_SPEECH=1',
60       'ENABLE_INPUT_TYPE_DATE=1',
61       'ENABLE_INPUT_TYPE_DATETIME=0',
62       'ENABLE_INPUT_TYPE_DATETIMELOCAL=0',
63       'ENABLE_INPUT_TYPE_MONTH=0',
64       'ENABLE_INPUT_TYPE_TIME=0',
65       'ENABLE_INPUT_TYPE_WEEK=0',
66       'ENABLE_JAVASCRIPT_DEBUGGER=1',
67       'ENABLE_JAVASCRIPT_I18N_API=1',
68       'ENABLE_LEGACY_CSS_VENDOR_PREFIXES=0',
69       'ENABLE_LEGACY_NOTIFICATIONS=1',
70       'ENABLE_LINK_PREFETCH=1',
71       'ENABLE_LINK_PRERENDER=1',
72       'ENABLE_MEDIA_SOURCE=1',
73       'ENABLE_MEDIA_STATISTICS=1',
74       'ENABLE_MEDIA_STREAM=1',
75       'ENABLE_METER_TAG=1',
76       'ENABLE_MHTML=1',
77       'ENABLE_MICRODATA=0',
78       'ENABLE_MUTATION_OBSERVERS=<(enable_mutation_observers)',
79       'ENABLE_NOTIFICATIONS=1',
80       'ENABLE_ORIENTATION_EVENTS=0',
81       'ENABLE_OVERFLOW_SCROLLING=1',
82       'ENABLE_PAGE_VISIBILITY_API=1',
83       'ENABLE_POINTER_LOCK=1',
84       'ENABLE_PROGRESS_TAG=1',
85       'ENABLE_QUOTA=1',
86       'ENABLE_REQUEST_ANIMATION_FRAME=1',
87       'ENABLE_RUBY=1',
88       'ENABLE_SANDBOX=1',
89       'ENABLE_SCRIPTED_SPEECH=1',
90       'ENABLE_SHADOW_DOM=1',
91       'ENABLE_SHARED_WORKERS=1',
92       'ENABLE_SMOOTH_SCROLLING=1',
93       'ENABLE_SQL_DATABASE=1',
94       'ENABLE_STYLE_SCOPED=1',
95       'ENABLE_SVG=<(enable_svg)',
96       'ENABLE_SVG_FONTS=<(enable_svg)',
97       'ENABLE_TOUCH_EVENTS=<(enable_touch_events)',
98       'ENABLE_TOUCH_ICON_LOADING=<(enable_touch_icon_loading)',
99       'ENABLE_V8_SCRIPT_DEBUG_SERVER=1',
100       'ENABLE_VIDEO=1',
101       'ENABLE_VIDEO_TRACK=1',
102       'ENABLE_VIEWPORT=1',
103       'ENABLE_WEBGL=1',
104       'ENABLE_WEB_SOCKETS=1',
105       'ENABLE_WEB_TIMING=1',
106       'ENABLE_WORKERS=1',
107       'ENABLE_XHR_RESPONSE_BLOB=1',
108       'ENABLE_XSLT=1',
109       'WTF_USE_LEVELDB=1',
110       'WTF_USE_BUILTIN_UTF8_CODEC=1',
111       # WTF_USE_DYNAMIC_ANNOTATIONS=1 may be defined in build/common.gypi
112       # We can't define it here because it should be present only
113       # in Debug or release_valgrind_build=1 builds.
114       'WTF_USE_OPENTYPE_SANITIZER=1',
115       'WTF_USE_RTL_SCROLLBAR=1',
116       'WTF_USE_SKIA_TEXT=<(enable_skia_text)',
117       'WTF_USE_WEBP=1',
118       'WTF_USE_WEBKIT_IMAGE_DECODERS=1',
119     ],
120     # We have to nest variables inside variables so that they can be overridden
121     # through GYP_DEFINES.
122     'variables': {
123       'use_accelerated_compositing%': 1,
124       'enable_skia_text%': 1,
125       'enable_svg%': 1,
126       'enable_viewport%': 0,
127       'enable_touch_events%': 1,
128       'enable_touch_icon_loading%' : 0,
129       'enable_mutation_observers%': 1,
130     },
131     'use_accelerated_compositing%': '<(use_accelerated_compositing)',
132     'enable_skia_text%': '<(enable_skia_text)',
133     'enable_svg%': '<(enable_svg)',
134     'enable_touch_events%': '<(enable_touch_events)',
135     'conditions': [
136       ['OS=="android"', {
137         'feature_defines': [
138           'ENABLE_CALENDAR_PICKER=0',
139           'ENABLE_PAGE_POPUP=0',
140           'ENABLE_WEB_AUDIO=0',
141         ],
142       }, {
143         'feature_defines': [
144           'ENABLE_CALENDAR_PICKER=1',
145           'ENABLE_PAGE_POPUP=1',
146           'ENABLE_WEB_AUDIO=1',
147         ],
148       }],
149       ['OS=="android" or use_aura==1', {
150         'feature_defines': [
151           'ENABLE_INPUT_TYPE_COLOR=0',
152         ],
153       }, {
154         'feature_defines': [
155           'ENABLE_INPUT_TYPE_COLOR=1',
156         ],
157       }],
158       ['use_accelerated_compositing==1', {
159         'feature_defines': [
160           'WTF_USE_ACCELERATED_COMPOSITING=1',
161           'ENABLE_3D_RENDERING=1',
162         ],
163       }],
164       ['use_accelerated_compositing==1', {
165         'feature_defines': [
166           'ENABLE_ACCELERATED_2D_CANVAS=1',
167         ],
168       }],
169       # Mac OS X uses Accelerate.framework FFT by default instead of FFmpeg.
170       ['OS!="mac"', {
171         'feature_defines': [
172           'WTF_USE_WEBAUDIO_FFMPEG=1',
173         ],
174       }],
175       ['enable_register_protocol_handler==1', {
176         'feature_defines': [
177           'ENABLE_REGISTER_PROTOCOL_HANDLER=1',
178         ],
179       }],
180       ['enable_web_intents==1', {
181         'feature_defines': [
182           'ENABLE_WEB_INTENTS=1',
183         ],
184       }],
185       ['OS=="mac"', {
186         'feature_defines': [
187           'ENABLE_RUBBER_BANDING=1',
188           'WTF_USE_SKIA_ON_MAC_CHROMIUM=1',
189         ],
190       }],
191     ],
192   },
193 }