[iOS] Implement safe browsing in WebKit
[WebKit-https.git] / Source / WebKit / Shared / WebPreferencesDefaultValues.h
1 /*
2  * Copyright (C) 2010-2016 Apple 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
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #pragma once
27
28 #if PLATFORM(GTK)
29 #define DEFAULT_WEBKIT_TABSTOLINKS_ENABLED true
30 #else
31 #define DEFAULT_WEBKIT_TABSTOLINKS_ENABLED false
32 #endif
33
34 #if ENABLE(SMOOTH_SCROLLING)
35 #define DEFAULT_WEBKIT_SCROLL_ANIMATOR_ENABLED true
36 #else
37 #define DEFAULT_WEBKIT_SCROLL_ANIMATOR_ENABLED false
38 #endif
39
40 #if PLATFORM(COCOA) || PLATFORM(GTK)
41 #define DEFAULT_HIDDEN_PAGE_DOM_TIMER_THROTTLING_ENABLED true
42 #define DEFAULT_HIDDEN_PAGE_CSS_ANIMATION_SUSPENSION_ENABLED true
43 #else
44 #define DEFAULT_HIDDEN_PAGE_DOM_TIMER_THROTTLING_ENABLED false
45 #define DEFAULT_HIDDEN_PAGE_CSS_ANIMATION_SUSPENSION_ENABLED false
46 #endif
47
48 #if ENABLE(SERVER_PRECONNECT)
49 #define DEFAULT_LINK_PRECONNECT_ENABLED true
50 #else
51 #define DEFAULT_LINK_PRECONNECT_ENABLED false
52 #endif
53
54 #if PLATFORM(COCOA)
55 #define DEFAULT_PDFPLUGIN_ENABLED true
56 #else
57 #define DEFAULT_PDFPLUGIN_ENABLED false
58 #endif
59
60 #if PLATFORM(IOS_FAMILY)
61 #define DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK true
62 #define DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED false
63 #define DEFAULT_FRAME_FLATTENING true
64 #define DEFAULT_SHOULD_PRINT_BACKGROUNDS true
65 #define DEFAULT_TEXT_AREAS_ARE_RESIZABLE false
66 #define DEFAULT_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY false
67 #define DEFAULT_SHOULD_RESPECT_IMAGE_ORIENTATION true
68 #define DEFAULT_PASSWORD_ECHO_ENABLED true
69 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK false
70 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_AFTER_FULLSCREEN true
71 #define DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE true
72 #define DEFAULT_INVISIBLE_AUTOPLAY_NOT_PERMITTED true
73 #define DEFAULT_MEDIA_DATA_LOADS_AUTOMATICALLY false
74 #define DEFAULT_MEDIA_CONTROLS_SCALE_WITH_PAGE_ZOOM false
75 #define DEFAULT_TEMPORARY_TILE_COHORT_RETENTION_ENABLED false
76 #define DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK true
77 #define DEFAULT_INTERACTIVE_MEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES 1
78 #define EXPERIMENTAL_FULLSCREEN_API_HIDDEN false
79 #else
80 #define DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK false
81 #define DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED true
82 #define DEFAULT_FRAME_FLATTENING false
83 #define DEFAULT_SHOULD_PRINT_BACKGROUNDS false
84 #define DEFAULT_TEXT_AREAS_ARE_RESIZABLE true
85 #define DEFAULT_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY true
86 #define DEFAULT_SHOULD_RESPECT_IMAGE_ORIENTATION false
87 #define DEFAULT_PASSWORD_ECHO_ENABLED false
88 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK true
89 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_AFTER_FULLSCREEN false
90 #define DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE false
91 #define DEFAULT_INVISIBLE_AUTOPLAY_NOT_PERMITTED false
92 #define DEFAULT_MEDIA_DATA_LOADS_AUTOMATICALLY true
93 #define DEFAULT_MEDIA_CONTROLS_SCALE_WITH_PAGE_ZOOM true
94 #define DEFAULT_TEMPORARY_TILE_COHORT_RETENTION_ENABLED true
95 #define DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK false
96 #define DEFAULT_INTERACTIVE_MEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES 10
97 #define EXPERIMENTAL_FULLSCREEN_API_HIDDEN true
98 #endif
99
100 #if PLATFORM(COCOA)
101 #define DEFAULT_ALLOW_MEDIA_CONTENT_TYPES_REQUIRING_HARDWARE_SUPPORT_AS_FALLBACK true
102 #else
103 #define DEFAULT_ALLOW_MEDIA_CONTENT_TYPES_REQUIRING_HARDWARE_SUPPORT_AS_FALLBACK false
104 #endif
105
106 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
107 #define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED true
108 #else
109 #define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED false
110 #endif
111
112 #if PLATFORM(IOS_FAMILY_SIMULATOR)
113 #define DEFAULT_ACCELERATED_DRAWING_ENABLED false
114 #define DEFAULT_CANVAS_USES_ACCELERATED_DRAWING false
115 #define DEFAULT_MOCK_CAPTURE_DEVICES_ENABLED true
116 #else
117 #define DEFAULT_ACCELERATED_DRAWING_ENABLED true
118 #define DEFAULT_CANVAS_USES_ACCELERATED_DRAWING true
119 #define DEFAULT_MOCK_CAPTURE_DEVICES_ENABLED false
120 #endif
121
122 #if PLATFORM(COCOA)
123 #define DEFAULT_SHOULD_CAPTURE_AUDIO_IN_UIPROCESS true
124 #else
125 #define DEFAULT_SHOULD_CAPTURE_AUDIO_IN_UIPROCESS false
126 #endif
127
128 #if PLATFORM(COCOA)
129 #define DEFAULT_MODERN_MEDIA_CONTROLS_ENABLED true
130 #else
131 #define DEFAULT_MODERN_MEDIA_CONTROLS_ENABLED false
132 #endif
133
134 #if PLATFORM(COCOA)
135 #define DEFAULT_DATA_TRANSFER_ITEMS_ENABLED true
136 #define DEFAULT_DIRECTORY_UPLOAD_ENABLED true
137 #else
138 #define DEFAULT_DATA_TRANSFER_ITEMS_ENABLED false
139 #define DEFAULT_DIRECTORY_UPLOAD_ENABLED false
140 #endif
141
142 #if PLATFORM(COCOA)
143
144 #if PLATFORM(WATCHOS)
145 #define DEFAULT_STANDARD_FONT_FAMILY "system-ui"
146 #else
147 #define DEFAULT_STANDARD_FONT_FAMILY "Times"
148 #endif
149
150 #define DEFAULT_FANTASY_FONT_FAMILY "Papyrus"
151 #define DEFAULT_FIXED_FONT_FAMILY "Courier"
152 #define DEFAULT_SANS_SERIF_FONT_FAMILY "Helvetica"
153 #define DEFAULT_SERIF_FONT_FAMILY "Times"
154
155 #if PLATFORM(IOS_FAMILY)
156 #define DEFAULT_CURSIVE_FONT_FAMILY "Snell Roundhand"
157 #define DEFAULT_PICTOGRAPH_FONT_FAMILY "AppleColorEmoji"
158 #else
159 #define DEFAULT_CURSIVE_FONT_FAMILY "Apple Chancery"
160 #define DEFAULT_PICTOGRAPH_FONT_FAMILY "Apple Color Emoji"
161 #endif
162
163 #else
164
165 #define DEFAULT_STANDARD_FONT_FAMILY "Times"
166 #define DEFAULT_CURSIVE_FONT_FAMILY "Comic Sans MS"
167 #define DEFAULT_FANTASY_FONT_FAMILY "Impact"
168 #define DEFAULT_FIXED_FONT_FAMILY "Courier New"
169 #define DEFAULT_SANS_SERIF_FONT_FAMILY "Helvetica"
170 #define DEFAULT_SERIF_FONT_FAMILY "Times"
171 #define DEFAULT_PICTOGRAPH_FONT_FAMILY "Times"
172
173 #endif
174
175 #if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
176 #define DEFAULT_WEB_SHARE_ENABLED true
177 #else
178 #define DEFAULT_WEB_SHARE_ENABLED false
179 #endif
180
181 #if !PLATFORM(WATCHOS)
182 #define DEFAULT_AVFOUNDATION_ENABLED true
183 #else
184 #define DEFAULT_AVFOUNDATION_ENABLED false
185 #endif
186
187 #if PLATFORM(WATCHOS)
188 #define DEFAULT_VISUAL_VIEWPORT_HEIGHT_EXPANSION_FACTOR 1
189 #else
190 #define DEFAULT_VISUAL_VIEWPORT_HEIGHT_EXPANSION_FACTOR 0
191 #endif
192
193 #if PLATFORM(WATCHOS)
194 #define DISABLED_ADAPTATIONS_META_TAG_ENABLED true
195 #else
196 #define DISABLED_ADAPTATIONS_META_TAG_ENABLED false
197 #endif
198
199 #if ENABLE(EXPERIMENTAL_FEATURES)
200 #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED true
201 #else
202 #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED false
203 #endif
204
205 #if ENABLE(EXPERIMENTAL_FEATURES) || PLATFORM(COCOA)
206 #define DEFAULT_SERVICE_WORKERS_ENABLED true
207 #else
208 #define DEFAULT_SERVICE_WORKERS_ENABLED false
209 #endif
210
211 #if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(WATCHOS)
212 #define DEFAULT_CONIC_GRADIENT_ENABLED true
213 #else
214 #define DEFAULT_CONIC_GRADIENT_ENABLED false
215 #endif
216
217 bool defaultPassiveTouchListenersAsDefaultOnDocument();
218 bool defaultCustomPasteboardDataEnabled();
219
220 #if PLATFORM(WATCHOS)
221 #define DEFAULT_INPUT_TYPE_COLOR_ENABLED false
222 #define DEFAULT_DATALIST_ELEMENT_ENABLED false
223 #else
224 #define DEFAULT_INPUT_TYPE_COLOR_ENABLED true
225 #define DEFAULT_DATALIST_ELEMENT_ENABLED true
226 #endif