[Chromium] Disable registerProtocolHandler on Android
[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=0',
37       'ENABLE_BLOB=1',
38       'ENABLE_BLOB_SLICE=1',
39       'ENABLE_CANVAS_PATH=1',
40       'ENABLE_CANVAS_PROXY=1',
41       'ENABLE_CHANNEL_MESSAGING=1',
42       'ENABLE_CSP_NEXT=1',
43       'ENABLE_CSS3_CONDITIONAL_RULES=0',
44       'ENABLE_CSS3_TEXT=0',
45       'ENABLE_CSS_BOX_DECORATION_BREAK=1',
46       'ENABLE_CSS_COMPOSITING=0',
47       'ENABLE_CSS_DEVICE_ADAPTATION=0',
48       'ENABLE_CSS_EXCLUSIONS=1',
49       'ENABLE_CSS_FILTERS=1',
50       'ENABLE_CSS_IMAGE_SET=1',
51       'ENABLE_CSS_IMAGE_RESOLUTION=0',
52       'ENABLE_CSS_REGIONS=1',
53       'ENABLE_CSS_SHADERS=1',
54       'ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=0',
55       'ENABLE_CSS_VARIABLES=1',
56       'ENABLE_CSS_STICKY_POSITION=1',
57       'ENABLE_CUSTOM_ELEMENTS=1',
58       'ENABLE_CUSTOM_SCHEME_HANDLER=0',
59       'ENABLE_DASHBOARD_SUPPORT=0',
60       'ENABLE_DATA_TRANSFER_ITEMS=1',
61       'ENABLE_DETAILS_ELEMENT=1',
62       'ENABLE_DEVICE_ORIENTATION=1',
63       'ENABLE_DIALOG_ELEMENT=1',
64       'ENABLE_DIRECTORY_UPLOAD=1',
65       'ENABLE_DOM4_EVENTS_CONSTRUCTOR=1',
66       'ENABLE_DOWNLOAD_ATTRIBUTE=1',
67       'ENABLE_DRAGGABLE_REGION=1',
68       'ENABLE_ENCRYPTED_MEDIA=1',
69       'ENABLE_FILE_SYSTEM=1',
70       'ENABLE_FILTERS=1',
71       'ENABLE_FULLSCREEN_API=1',
72       'ENABLE_GAMEPAD=1',
73       'ENABLE_GEOLOCATION=1',
74       'ENABLE_GESTURE_EVENTS=1',
75       'ENABLE_ICONDATABASE=0',
76       'ENABLE_IFRAME_SEAMLESS=1',
77       'ENABLE_INDEXED_DATABASE=1',
78       'ENABLE_INPUT_TYPE_DATE=1',
79       'ENABLE_INPUT_TYPE_DATETIMELOCAL=1',
80       'ENABLE_INPUT_TYPE_MONTH=1',
81       'ENABLE_INPUT_TYPE_TIME=1',
82       'ENABLE_JAVASCRIPT_DEBUGGER=1',
83       'ENABLE_JAVASCRIPT_I18N_API=1',
84       'ENABLE_LEGACY_CSS_VENDOR_PREFIXES=0',
85       'ENABLE_LEGACY_VIEWPORT_ADAPTION=1',
86       'ENABLE_LEGACY_VENDOR_PREFIXES=0',
87       'ENABLE_LEGACY_WEB_AUDIO=1',
88       'ENABLE_LINK_PREFETCH=1',
89       'ENABLE_LINK_PRERENDER=1',
90       'ENABLE_MATHML=0',
91       'ENABLE_MEDIA_SOURCE=1',
92       'ENABLE_MEDIA_STATISTICS=1',
93       'ENABLE_MEDIA_STREAM=<(enable_webrtc)',
94       'ENABLE_METER_ELEMENT=1',
95       'ENABLE_MHTML=1',
96       'ENABLE_MICRODATA=0',
97       'ENABLE_MOUSE_CURSOR_SCALE=1',
98       'ENABLE_NOSNIFF=1',
99       'ENABLE_PAGE_VISIBILITY_API=1',
100       'ENABLE_PERFORMANCE_TIMELINE=1',
101       'ENABLE_POINTER_LOCK=1',
102       'ENABLE_PROGRESS_ELEMENT=1',
103       'ENABLE_PROXIMITY_EVENTS=0',
104       'ENABLE_QUOTA=1',
105       'ENABLE_REQUEST_ANIMATION_FRAME=1',
106       'ENABLE_REQUEST_AUTOCOMPLETE=1',
107       'ENABLE_RESOLUTION_MEDIA_QUERY=0',
108       'ENABLE_RESOURCE_TIMING=1',
109       'ENABLE_RUBY=1',
110       'ENABLE_SANDBOX=1',
111       'ENABLE_SCRIPTED_SPEECH=1',
112       'ENABLE_SHADOW_DOM=1',
113       'ENABLE_SMOOTH_SCROLLING=1',
114       'ENABLE_SPEECH_SYNTHESIS=0',
115       'ENABLE_SQL_DATABASE=<(enable_sql_database)',
116       'ENABLE_STYLE_SCOPED=1',
117       'ENABLE_SUBPIXEL_LAYOUT=1',
118       'ENABLE_SVG=<(enable_svg)',
119       'ENABLE_SVG_FONTS=<(enable_svg)',
120       'ENABLE_TEMPLATE_ELEMENT=1',
121       'ENABLE_TEXT_AUTOSIZING=1',
122       'ENABLE_THREADED_HTML_PARSER=1',
123       'ENABLE_TOUCH_ADJUSTMENT=1',
124       'ENABLE_TOUCH_EVENTS=<(enable_touch_events)',
125       'ENABLE_TOUCH_EVENT_TRACKING=<(enable_touch_events)',
126       'ENABLE_TOUCH_ICON_LOADING=<(enable_touch_icon_loading)',
127       'ENABLE_TOUCH_SLIDER=1',
128       'ENABLE_USER_TIMING=1',
129       'ENABLE_V8_SCRIPT_DEBUG_SERVER=1',
130       'ENABLE_VIDEO=1',
131       'ENABLE_VIDEO_TRACK=1',
132       'ENABLE_VIEWPORT=1',
133       'ENABLE_WEBGL=1',
134       'ENABLE_WEB_SOCKETS=1',
135       'ENABLE_WEB_TIMING=1',
136       'ENABLE_WORKERS=1',
137       'ENABLE_XHR_TIMEOUT=0',
138       'ENABLE_XSLT=1',
139       'WTF_USE_LEVELDB=1',
140       'WTF_USE_BUILTIN_UTF8_CODEC=1',
141       # WTF_USE_DYNAMIC_ANNOTATIONS=1 may be defined in build/common.gypi
142       # We can't define it here because it should be present only
143       # in Debug or release_valgrind_build=1 builds.
144       'WTF_USE_OPENTYPE_SANITIZER=1',
145       'WTF_USE_RTL_SCROLLBAR=1',
146       'WTF_USE_SKIA_TEXT=<(enable_skia_text)',
147       'WTF_USE_WEBP=1',
148       'WTF_USE_WEBKIT_IMAGE_DECODERS=1',
149     ],
150     # We have to nest variables inside variables so that they can be overridden
151     # through GYP_DEFINES.
152     'variables': {
153       'use_accelerated_compositing%': 1,
154       'enable_skia_text%': 1,
155       'enable_sql_database%': 1,
156       'enable_svg%': 1,
157       'enable_touch_events%': 1,
158       'enable_touch_icon_loading%' : 0,
159     },
160     'use_accelerated_compositing%': '<(use_accelerated_compositing)',
161     'enable_skia_text%': '<(enable_skia_text)',
162     'enable_sql_database%': '<(enable_sql_database)',
163     'enable_svg%': '<(enable_svg)',
164     'enable_touch_events%': '<(enable_touch_events)',
165     'conditions': [
166       ['OS=="android"', {
167         'feature_defines': [
168           'ENABLE_CALENDAR_PICKER=0',
169           'ENABLE_DATALIST_ELEMENT=0',
170           'ENABLE_FAST_MOBILE_SCROLLING=1',
171           'ENABLE_INPUT_SPEECH=0',
172           'ENABLE_INPUT_TYPE_COLOR=0',
173           'ENABLE_INPUT_TYPE_WEEK=0',
174           'ENABLE_LEGACY_NOTIFICATIONS=0',
175           'ENABLE_MEDIA_CAPTURE=1',
176           'ENABLE_NOTIFICATIONS=0',
177           'ENABLE_ORIENTATION_EVENTS=1',
178           'ENABLE_PAGE_POPUP=0',
179           'ENABLE_PRINTING=0',
180           'ENABLE_NAVIGATOR_CONTENT_UTILS=0',
181           # FIXME: Disable once the linking error has been resolved.
182           # https://bugs.webkit.org/show_bug.cgi?id=88636
183           'ENABLE_SHARED_WORKERS=1',
184           'ENABLE_WEB_AUDIO=0',
185           'WTF_USE_NATIVE_FULLSCREEN_VIDEO=1',
186         ],
187         'enable_touch_icon_loading': 1,
188       }, { # OS!="android"
189         'feature_defines': [
190           'ENABLE_CALENDAR_PICKER=1',
191           'ENABLE_DATALIST_ELEMENT=1',
192           'ENABLE_INPUT_SPEECH=1',
193           'ENABLE_INPUT_TYPE_COLOR=1',
194           'ENABLE_INPUT_TYPE_WEEK=1',
195           'ENABLE_INPUT_MULTIPLE_FIELDS_UI=1',
196           'ENABLE_LEGACY_NOTIFICATIONS=1',
197           'ENABLE_MEDIA_CAPTURE=0',
198           'ENABLE_NAVIGATOR_CONTENT_UTILS=1',
199           'ENABLE_NOTIFICATIONS=1',
200           'ENABLE_ORIENTATION_EVENTS=0',
201           'ENABLE_PAGE_POPUP=1',
202           'ENABLE_PRINTING=1',
203           'ENABLE_SHARED_WORKERS=1',
204           'ENABLE_WEB_AUDIO=1',
205         ],
206       }],
207       ['OS=="linux" or OS=="mac"', {
208         'feature_defines': [
209           'ENABLE_BINDING_INTEGRITY=1',
210         ],
211       }, { # OS!="linux"
212         'feature_defines': [
213           'ENABLE_BINDING_INTEGRITY=0',
214         ],
215       }],
216       ['use_accelerated_compositing==1', {
217         'feature_defines': [
218           'ENABLE_3D_RENDERING=1',
219           'ENABLE_ACCELERATED_2D_CANVAS=1',
220           'WTF_USE_ACCELERATED_COMPOSITING=1',
221         ],
222       }],
223       # Mac OS X uses Accelerate.framework FFT by default instead of FFmpeg.
224       ['OS!="mac" and OS!="android"', {
225         'feature_defines': [
226           'WTF_USE_WEBAUDIO_FFMPEG=1',
227         ],
228       }],
229       ['OS=="win" or OS=="android" or use_x11==1', {
230         'feature_defines': [
231           'ENABLE_OPENTYPE_VERTICAL=1',
232         ],
233       }],
234       ['OS=="mac"', {
235         'feature_defines': [
236           'ENABLE_RUBBER_BANDING=1',
237           'WTF_USE_SKIA_ON_MAC_CHROMIUM=1',
238         ],
239       }],
240       ['use_x11==1 or OS=="android"', {
241         'feature_defines': [
242           'WTF_USE_HARFBUZZ=1',
243         ],
244       }],
245       ['chromeos==1', {
246         'feature_defines': [
247           'SK_SUPPORT_HINTING_SCALE_FACTOR',
248         ],
249       }],
250       ['use_default_render_theme==1', {
251         'feature_defines': [
252           'ENABLE_DEFAULT_RENDER_THEME=1',
253         ],
254       }],
255     ],
256   },
257 }