Unreviewed, rolling out r96108, r96111, r96113, and r96116.
[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_DOM_STORAGE=1',
46       'ENABLE_DOWNLOAD_ATTRIBUTE=1',
47       'ENABLE_FILE_SYSTEM=1',
48       'ENABLE_FILTERS=1',
49       'ENABLE_FULLSCREEN_API=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_JAVASCRIPT_DEBUGGER=1',
57       'ENABLE_JAVASCRIPT_I18N_API=1',
58       'ENABLE_LINK_PREFETCH=1',
59       'ENABLE_MEDIA_STATISTICS=1',
60       'ENABLE_MEDIA_STREAM=1',
61       'ENABLE_METER_TAG=1',
62       'ENABLE_MHTML=1',
63       'ENABLE_MUTATION_OBSERVERS=0',
64       'ENABLE_NOTIFICATIONS=1',
65       'ENABLE_ORIENTATION_EVENTS=0',
66       'ENABLE_PAGE_VISIBILITY_API=1',
67       'ENABLE_PROGRESS_TAG=1',
68       'ENABLE_QUOTA=1',
69       'ENABLE_REQUEST_ANIMATION_FRAME=1',
70       'ENABLE_RUBY=1',
71       'ENABLE_SANDBOX=1',
72       'ENABLE_SHARED_WORKERS=1',
73       'ENABLE_SKIA_GPU=<(use_skia_gpu)',
74       'ENABLE_SMOOTH_SCROLLING=1',
75       'ENABLE_SQL_DATABASE=1',
76       'ENABLE_SVG=<(enable_svg)',
77       'ENABLE_SVG_FONTS=<(enable_svg)',
78       'ENABLE_TOUCH_EVENTS=<(enable_touch_events)',
79       'ENABLE_TOUCH_ICON_LOADING=<(enable_touch_icon_loading)',
80       'ENABLE_V8_SCRIPT_DEBUG_SERVER=1',
81       'ENABLE_VIDEO=1',
82       'ENABLE_WEBGL=1',
83       'ENABLE_WEB_SOCKETS=1',
84       'ENABLE_WEB_TIMING=1',
85       'ENABLE_WORKERS=1',
86       'ENABLE_XHR_RESPONSE_BLOB=1',
87       'ENABLE_XPATH=1',
88       'ENABLE_XSLT=1',
89       'WTF_USE_LEVELDB=1',
90       'WTF_USE_BUILTIN_UTF8_CODEC=1',
91       # WTF_USE_DYNAMIC_ANNOTATIONS=1 may be defined in build/common.gypi
92       # We can't define it here because it should be present only
93       # in Debug or release_valgrind_build=1 builds.
94       'WTF_USE_OPENTYPE_SANITIZER=1',
95       'WTF_USE_WEBP=1',
96       'WTF_USE_WEBKIT_IMAGE_DECODERS=1',
97     ],
98     # We have to nest variables inside variables so that they can be overridden
99     # through GYP_DEFINES.
100     'variables': {
101       'use_accelerated_compositing%': 1,
102       'use_threaded_compositing%': 0,
103       'enable_svg%': 1,
104       'enable_touch_events%': 1,
105       'use_skia_gpu%': 0,
106       'use_skia%': 0,
107       'enable_touch_icon_loading%' : 0,
108       'enable_css3_flexbox%': 0,
109     },
110     'use_accelerated_compositing%': '<(use_accelerated_compositing)',
111     'use_threaded_compositing%': '<(use_threaded_compositing)',
112     'enable_svg%': '<(enable_svg)',
113     'enable_touch_events%': '<(enable_touch_events)',
114     'use_skia%': '<(use_skia)',
115     'conditions': [
116       ['OS=="android"', {
117         'feature_defines': [
118           'ENABLE_WEB_AUDIO=0',
119         ],
120       }, {
121         'feature_defines': [
122           'ENABLE_WEB_AUDIO=1',
123         ],
124       }],
125       ['use_accelerated_compositing==1', {
126         'feature_defines': [
127           'WTF_USE_ACCELERATED_COMPOSITING=1',
128           'ENABLE_3D_RENDERING=1',
129         ],
130       }],
131       ['use_accelerated_compositing==1 and (OS!="mac" or use_skia==1)', {
132         'feature_defines': [
133           'ENABLE_ACCELERATED_2D_CANVAS=1',
134         ],
135       }],
136       ['use_accelerated_compositing==1 and use_threaded_compositing==1', {
137         'feature_defines': [
138           'WTF_USE_THREADED_COMPOSITING=1',
139         ],
140       }],
141       ['touchui==1', {
142         'enable_touch_icon_loading': 1,
143       }],
144       # Mac OS X uses Accelerate.framework FFT by default instead of FFmpeg.
145       ['OS!="mac"', {
146         'feature_defines': [
147           'WTF_USE_WEBAUDIO_FFMPEG=1',
148         ],
149         'use_skia%': 1,
150       }],
151       ['enable_register_protocol_handler==1', {
152         'feature_defines': [
153           'ENABLE_REGISTER_PROTOCOL_HANDLER=1',
154         ],
155       }],
156       ['OS=="mac"', {
157         'feature_defines': [
158           'ENABLE_RUBBER_BANDING=1',
159           'WTF_USE_SKIA_ON_MAC_CHROMIUM=<(use_skia)',
160         ],
161       }],
162       ['enable_css3_flexbox==1', {
163         'feature_defines': [
164           'ENABLE_CSS3_FLEXBOX=1',
165         ],
166       }],
167     ],
168   },
169 }