1/*
2 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
3 *
4 * Copyright (C) 2017 Apple Inc. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
17 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
19 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
25 * THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28#include "config.h"
29#include "WebPreferencesStore.h"
30
31#include "WebPreferencesDefaultValues.h"
32#include "WebPreferencesKeys.h"
33#include <wtf/NeverDestroyed.h>
34#include <wtf/Variant.h>
35
36// FIXME: These should added via options in WebPreferences.yaml, rather than hardcoded.
37#include <WebCore/DeprecatedGlobalSettings.h>
38#include <WebCore/LibWebRTCProvider.h>
39#include <WebCore/SecurityOrigin.h>
40#include <WebCore/Settings.h>
41#include <WebCore/TextEncodingRegistry.h>
42
43namespace WebKit {
44using namespace WebCore;
45
46WebPreferencesStore::ValueMap& WebPreferencesStore::defaults()
47{
48 static NeverDestroyed<ValueMap> defaults;
49 if (defaults.get().isEmpty()) {
50#if USE(AVFOUNDATION)
51 defaults.get().set(WebPreferencesKey::isAVFoundationEnabledKey(), Value(bool(DEFAULT_AVFOUNDATION_ENABLED)));
52#endif
53#if USE(AVFOUNDATION)
54 defaults.get().set(WebPreferencesKey::isAVFoundationNSURLSessionEnabledKey(), Value(bool(true)));
55#endif
56 defaults.get().set(WebPreferencesKey::accelerated2dCanvasEnabledKey(), Value(bool(false)));
57 defaults.get().set(WebPreferencesKey::acceleratedCompositingEnabledKey(), Value(bool(true)));
58 defaults.get().set(WebPreferencesKey::acceleratedDrawingEnabledKey(), Value(bool(DEFAULT_ACCELERATED_DRAWING_ENABLED)));
59 defaults.get().set(WebPreferencesKey::accessibilityObjectModelEnabledKey(), Value(bool(false)));
60 defaults.get().set(WebPreferencesKey::adClickAttributionDebugModeEnabledKey(), Value(bool(false)));
61 defaults.get().set(WebPreferencesKey::adClickAttributionEnabledKey(), Value(bool(false)));
62 defaults.get().set(WebPreferencesKey::aggressiveTileRetentionEnabledKey(), Value(bool(false)));
63 defaults.get().set(WebPreferencesKey::allowCrossOriginSubresourcesToAskForCredentialsKey(), Value(bool(false)));
64 defaults.get().set(WebPreferencesKey::allowFileAccessFromFileURLsKey(), Value(bool(false)));
65 defaults.get().set(WebPreferencesKey::allowMediaContentTypesRequiringHardwareSupportAsFallbackKey(), Value(bool(DEFAULT_ALLOW_MEDIA_CONTENT_TYPES_REQUIRING_HARDWARE_SUPPORT_AS_FALLBACK)));
66 defaults.get().set(WebPreferencesKey::allowMultiElementImplicitSubmissionKey(), Value(bool(false)));
67 defaults.get().set(WebPreferencesKey::allowSettingAnyXHRHeaderFromFileURLsKey(), Value(bool(false)));
68 defaults.get().set(WebPreferencesKey::allowUniversalAccessFromFileURLsKey(), Value(bool(false)));
69#if ENABLE(WIRELESS_PLAYBACK_TARGET)
70 defaults.get().set(WebPreferencesKey::allowsAirPlayForMediaPlaybackKey(), Value(bool(true)));
71#endif
72 defaults.get().set(WebPreferencesKey::allowsInlineMediaPlaybackKey(), Value(bool(DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK)));
73 defaults.get().set(WebPreferencesKey::allowsInlineMediaPlaybackAfterFullscreenKey(), Value(bool(DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_AFTER_FULLSCREEN)));
74 defaults.get().set(WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey(), Value(bool(DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK)));
75 defaults.get().set(WebPreferencesKey::alwaysUseAcceleratedOverflowScrollKey(), Value(bool(false)));
76 defaults.get().set(WebPreferencesKey::animatedImageAsyncDecodingEnabledKey(), Value(bool(true)));
77#if ENABLE(APPLE_PAY)
78 defaults.get().set(WebPreferencesKey::applePayCapabilityDisclosureAllowedKey(), Value(bool(true)));
79#endif
80#if ENABLE(APPLE_PAY)
81 defaults.get().set(WebPreferencesKey::applePayEnabledKey(), Value(bool(DEFAULT_APPLE_PAY_ENABLED)));
82#endif
83#if ENABLE(APPLE_PAY_REMOTE_UI)
84 defaults.get().set(WebPreferencesKey::applePayRemoteUIEnabledKey(), Value(bool(true)));
85#endif
86 defaults.get().set(WebPreferencesKey::ariaReflectionEnabledKey(), Value(bool(true)));
87 defaults.get().set(WebPreferencesKey::artificialPluginInitializationDelayEnabledKey(), Value(bool(false)));
88 defaults.get().set(WebPreferencesKey::asyncFrameScrollingEnabledKey(), Value(bool(DEFAULT_ASYNC_FRAME_SCROLLING_ENABLED)));
89 defaults.get().set(WebPreferencesKey::asyncOverflowScrollingEnabledKey(), Value(bool(DEFAULT_ASYNC_OVERFLOW_SCROLLING_ENABLED)));
90 defaults.get().set(WebPreferencesKey::asynchronousPluginInitializationEnabledKey(), Value(bool(false)));
91 defaults.get().set(WebPreferencesKey::asynchronousPluginInitializationEnabledForAllPluginsKey(), Value(bool(false)));
92 defaults.get().set(WebPreferencesKey::asynchronousSpellCheckingEnabledKey(), Value(bool(false)));
93#if ENABLE(ATTACHMENT_ELEMENT)
94 defaults.get().set(WebPreferencesKey::attachmentElementEnabledKey(), Value(bool(false)));
95#endif
96 defaults.get().set(WebPreferencesKey::authorAndUserStylesEnabledKey(), Value(bool(true)));
97 defaults.get().set(WebPreferencesKey::autostartOriginPlugInSnapshottingEnabledKey(), Value(bool(true)));
98 defaults.get().set(WebPreferencesKey::backspaceKeyNavigationEnabledKey(), Value(bool(DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED)));
99 defaults.get().set(WebPreferencesKey::beaconAPIEnabledKey(), Value(bool(true)));
100 defaults.get().set(WebPreferencesKey::blankAnchorTargetImpliesNoOpenerEnabledKey(), Value(bool(true)));
101 defaults.get().set(WebPreferencesKey::blockingOfSmallPluginsEnabledKey(), Value(bool(true)));
102 defaults.get().set(WebPreferencesKey::cssCustomPropertiesAndValuesEnabledKey(), Value(bool(false)));
103 defaults.get().set(WebPreferencesKey::cssLogicalEnabledKey(), Value(bool(false)));
104 defaults.get().set(WebPreferencesKey::cssOMViewScrollingAPIEnabledKey(), Value(bool(true)));
105#if ENABLE(CSS_PAINTING_API)
106 defaults.get().set(WebPreferencesKey::cssPaintingAPIEnabledKey(), Value(bool(false)));
107#endif
108#if ENABLE(CSS_TYPED_OM)
109 defaults.get().set(WebPreferencesKey::cssTypedOMEnabledKey(), Value(bool(false)));
110#endif
111 defaults.get().set(WebPreferencesKey::cacheAPIEnabledKey(), Value(bool(true)));
112 defaults.get().set(WebPreferencesKey::canvasUsesAcceleratedDrawingKey(), Value(bool(DEFAULT_CANVAS_USES_ACCELERATED_DRAWING)));
113#if ENABLE(MEDIA_STREAM)
114 defaults.get().set(WebPreferencesKey::captureAudioInUIProcessEnabledKey(), Value(bool(DEFAULT_CAPTURE_AUDIO_IN_UIPROCESS)));
115#endif
116#if ENABLE(MEDIA_STREAM)
117 defaults.get().set(WebPreferencesKey::captureVideoInUIProcessEnabledKey(), Value(bool(false)));
118#endif
119 defaults.get().set(WebPreferencesKey::caretBrowsingEnabledKey(), Value(bool(false)));
120 defaults.get().set(WebPreferencesKey::colorFilterEnabledKey(), Value(bool(false)));
121 defaults.get().set(WebPreferencesKey::compositingBordersVisibleKey(), Value(bool(false)));
122 defaults.get().set(WebPreferencesKey::compositingRepaintCountersVisibleKey(), Value(bool(false)));
123 defaults.get().set(WebPreferencesKey::constantPropertiesEnabledKey(), Value(bool(true)));
124#if PLATFORM(IOS_FAMILY)
125 defaults.get().set(WebPreferencesKey::contentChangeObserverEnabledKey(), Value(bool(true)));
126#endif
127 defaults.get().set(WebPreferencesKey::cookieEnabledKey(), Value(bool(true)));
128 defaults.get().set(WebPreferencesKey::coreMathMLEnabledKey(), Value(bool(DEFAULT_CORE_MATHML_ENABLED)));
129 defaults.get().set(WebPreferencesKey::crossOriginResourcePolicyEnabledKey(), Value(bool(true)));
130 defaults.get().set(WebPreferencesKey::cursiveFontFamilyKey(), Value(String(DEFAULT_CURSIVE_FONT_FAMILY)));
131 defaults.get().set(WebPreferencesKey::customElementsEnabledKey(), Value(bool(true)));
132 defaults.get().set(WebPreferencesKey::customPasteboardDataEnabledKey(), Value(bool(defaultCustomPasteboardDataEnabled())));
133 defaults.get().set(WebPreferencesKey::dnsPrefetchingEnabledKey(), Value(bool(false)));
134 defaults.get().set(WebPreferencesKey::domPasteAccessRequestsEnabledKey(), Value(bool(DEFAULT_DOM_PASTE_ACCESS_REQUESTS_ENABLED)));
135 defaults.get().set(WebPreferencesKey::domPasteAllowedKey(), Value(bool(false)));
136 defaults.get().set(WebPreferencesKey::domTimersThrottlingEnabledKey(), Value(bool(true)));
137#if ENABLE(DARK_MODE_CSS)
138 defaults.get().set(WebPreferencesKey::darkModeCSSEnabledKey(), Value(bool(true)));
139#endif
140#if ENABLE(DATA_DETECTION)
141 defaults.get().set(WebPreferencesKey::dataDetectorTypesKey(), Value(uint32_t(0)));
142#endif
143#if ENABLE(DATALIST_ELEMENT)
144 defaults.get().set(WebPreferencesKey::dataListElementEnabledKey(), Value(bool(DEFAULT_DATALIST_ELEMENT_ENABLED)));
145#endif
146 defaults.get().set(WebPreferencesKey::dataTransferItemsEnabledKey(), Value(bool(DEFAULT_DATA_TRANSFER_ITEMS_ENABLED)));
147 defaults.get().set(WebPreferencesKey::databasesEnabledKey(), Value(bool(true)));
148 defaults.get().set(WebPreferencesKey::defaultFixedFontSizeKey(), Value(double(13)));
149 defaults.get().set(WebPreferencesKey::defaultFontSizeKey(), Value(double(16)));
150 defaults.get().set(WebPreferencesKey::defaultTextEncodingNameKey(), Value(String(defaultTextEncodingNameForSystemLanguage())));
151 defaults.get().set(WebPreferencesKey::deferredCSSParserEnabledKey(), Value(bool(false)));
152 defaults.get().set(WebPreferencesKey::developerExtrasEnabledKey(), Value(bool(false)));
153 defaults.get().set(WebPreferencesKey::deviceHeightKey(), Value(uint32_t(0)));
154#if ENABLE(DEVICE_ORIENTATION)
155 defaults.get().set(WebPreferencesKey::deviceOrientationEventEnabledKey(), Value(bool(true)));
156#endif
157#if ENABLE(DEVICE_ORIENTATION)
158 defaults.get().set(WebPreferencesKey::deviceOrientationPermissionAPIEnabledKey(), Value(bool(false)));
159#endif
160 defaults.get().set(WebPreferencesKey::deviceWidthKey(), Value(uint32_t(0)));
161 defaults.get().set(WebPreferencesKey::diagnosticLoggingEnabledKey(), Value(bool(false)));
162 defaults.get().set(WebPreferencesKey::directoryUploadEnabledKey(), Value(bool(DEFAULT_DIRECTORY_UPLOAD_ENABLED)));
163#if PLATFORM(IOS_FAMILY)
164 defaults.get().set(WebPreferencesKey::disableScreenSizeOverrideKey(), Value(bool(false)));
165#endif
166 defaults.get().set(WebPreferencesKey::disabledAdaptationsMetaTagEnabledKey(), Value(bool(DISABLED_ADAPTATIONS_META_TAG_ENABLED)));
167 defaults.get().set(WebPreferencesKey::displayContentsEnabledKey(), Value(bool(true)));
168 defaults.get().set(WebPreferencesKey::displayListDrawingEnabledKey(), Value(bool(false)));
169#if ENABLE(DOWNLOAD_ATTRIBUTE)
170 defaults.get().set(WebPreferencesKey::downloadAttributeEnabledKey(), Value(bool(true)));
171#endif
172 defaults.get().set(WebPreferencesKey::editableImagesEnabledKey(), Value(bool(false)));
173 defaults.get().set(WebPreferencesKey::editableLinkBehaviorKey(), Value(uint32_t(WebCore::EditableLinkNeverLive)));
174 defaults.get().set(WebPreferencesKey::enableInheritURIQueryComponentKey(), Value(bool(false)));
175#if ENABLE(ENCRYPTED_MEDIA)
176 defaults.get().set(WebPreferencesKey::encryptedMediaAPIEnabledKey(), Value(bool(true)));
177#endif
178 defaults.get().set(WebPreferencesKey::enumeratingAllNetworkInterfacesEnabledKey(), Value(bool(false)));
179 defaults.get().set(WebPreferencesKey::experimentalPlugInSandboxProfilesEnabledKey(), Value(bool(false)));
180 defaults.get().set(WebPreferencesKey::ftpDirectoryTemplatePathKey(), Value(String("")));
181 defaults.get().set(WebPreferencesKey::fantasyFontFamilyKey(), Value(String(DEFAULT_FANTASY_FONT_FAMILY)));
182#if PLATFORM(IOS_FAMILY)
183 defaults.get().set(WebPreferencesKey::fastClicksEverywhereKey(), Value(bool(DEFAULT_FAST_CLICKS_EVERYWHERE)));
184#endif
185#if PLATFORM(IOS_FAMILY)
186 defaults.get().set(WebPreferencesKey::fasterClicksEnabledKey(), Value(bool(true)));
187#endif
188 defaults.get().set(WebPreferencesKey::fetchAPIEnabledKey(), Value(bool(true)));
189 defaults.get().set(WebPreferencesKey::fetchAPIKeepAliveEnabledKey(), Value(bool(true)));
190 defaults.get().set(WebPreferencesKey::fixedFontFamilyKey(), Value(String(DEFAULT_FIXED_FONT_FAMILY)));
191#if PLATFORM(IOS_FAMILY)
192 defaults.get().set(WebPreferencesKey::forceAlwaysUserScalableKey(), Value(bool(false)));
193#endif
194 defaults.get().set(WebPreferencesKey::forceCompositingModeKey(), Value(bool(false)));
195 defaults.get().set(WebPreferencesKey::forceFTPDirectoryListingsKey(), Value(bool(false)));
196 defaults.get().set(WebPreferencesKey::forceSoftwareWebGLRenderingKey(), Value(bool(false)));
197 defaults.get().set(WebPreferencesKey::forceUpdateScrollbarsOnMainThreadForPerformanceTestingKey(), Value(bool(false)));
198 defaults.get().set(WebPreferencesKey::frameFlatteningEnabledKey(), Value(bool(DEFAULT_FRAME_FLATTENING)));
199#if ENABLE(FULLSCREEN_API)
200 defaults.get().set(WebPreferencesKey::fullScreenEnabledKey(), Value(bool(false)));
201#endif
202#if USE(GSTREAMER)
203 defaults.get().set(WebPreferencesKey::isGStreamerEnabledKey(), Value(bool(true)));
204#endif
205#if ENABLE(GAMEPAD)
206 defaults.get().set(WebPreferencesKey::gamepadsEnabledKey(), Value(bool(true)));
207#endif
208 defaults.get().set(WebPreferencesKey::httpEquivEnabledKey(), Value(bool(true)));
209 defaults.get().set(WebPreferencesKey::httpSUpgradeEnabledKey(), Value(bool(false)));
210 defaults.get().set(WebPreferencesKey::hiddenPageCSSAnimationSuspensionEnabledKey(), Value(bool(DEFAULT_HIDDEN_PAGE_CSS_ANIMATION_SUSPENSION_ENABLED)));
211 defaults.get().set(WebPreferencesKey::hiddenPageDOMTimerThrottlingAutoIncreasesKey(), Value(bool(false)));
212 defaults.get().set(WebPreferencesKey::hiddenPageDOMTimerThrottlingEnabledKey(), Value(bool(DEFAULT_HIDDEN_PAGE_DOM_TIMER_THROTTLING_ENABLED)));
213 defaults.get().set(WebPreferencesKey::hyperlinkAuditingEnabledKey(), Value(bool(true)));
214 defaults.get().set(WebPreferencesKey::iceCandidateFilteringEnabledKey(), Value(bool(true)));
215#if PLATFORM(IOS_FAMILY)
216 defaults.get().set(WebPreferencesKey::ignoreViewportScalingConstraintsKey(), Value(bool(false)));
217#endif
218 defaults.get().set(WebPreferencesKey::imageBitmapOffscreenCanvasEnabledKey(), Value(bool(DEFAULT_EXPERIMENTAL_FEATURES_ENABLED)));
219#if ENABLE(SERVICE_CONTROLS)
220 defaults.get().set(WebPreferencesKey::imageControlsEnabledKey(), Value(bool(false)));
221#endif
222 defaults.get().set(WebPreferencesKey::inactiveMediaCaptureSteamRepromptIntervalInMinutesKey(), Value(double(DEFAULT_INTERACTIVE_MEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES)));
223 defaults.get().set(WebPreferencesKey::incompleteImageBorderEnabledKey(), Value(bool(false)));
224 defaults.get().set(WebPreferencesKey::incrementalRenderingSuppressionTimeoutKey(), Value(double(5)));
225 defaults.get().set(WebPreferencesKey::inlineMediaPlaybackRequiresPlaysInlineAttributeKey(), Value(bool(DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE)));
226 defaults.get().set(WebPreferencesKey::inputEventsEnabledKey(), Value(bool(true)));
227#if ENABLE(INPUT_TYPE_COLOR)
228 defaults.get().set(WebPreferencesKey::inputTypeColorEnabledKey(), Value(bool(DEFAULT_INPUT_TYPE_COLOR_ENABLED)));
229#endif
230 defaults.get().set(WebPreferencesKey::inspectorAdditionsEnabledKey(), Value(bool(false)));
231 defaults.get().set(WebPreferencesKey::inspectorAttachedHeightKey(), Value(uint32_t(300)));
232 defaults.get().set(WebPreferencesKey::inspectorAttachedWidthKey(), Value(uint32_t(750)));
233 defaults.get().set(WebPreferencesKey::inspectorAttachmentSideKey(), Value(uint32_t(0)));
234 defaults.get().set(WebPreferencesKey::inspectorStartsAttachedKey(), Value(bool(true)));
235 defaults.get().set(WebPreferencesKey::inspectorWindowFrameKey(), Value(String("")));
236 defaults.get().set(WebPreferencesKey::interactiveFormValidationEnabledKey(), Value(bool(true)));
237#if ENABLE(INTERSECTION_OBSERVER)
238 defaults.get().set(WebPreferencesKey::intersectionObserverEnabledKey(), Value(bool(true)));
239#endif
240 defaults.get().set(WebPreferencesKey::invisibleAutoplayNotPermittedKey(), Value(bool(DEFAULT_INVISIBLE_AUTOPLAY_NOT_PERMITTED)));
241 defaults.get().set(WebPreferencesKey::isITPDatabaseEnabledKey(), Value(bool(false)));
242 defaults.get().set(WebPreferencesKey::isITPFirstPartyWebsiteDataRemovalEnabledKey(), Value(bool(true)));
243 defaults.get().set(WebPreferencesKey::isSecureContextAttributeEnabledKey(), Value(bool(true)));
244 defaults.get().set(WebPreferencesKey::itpDebugModeEnabledKey(), Value(bool(false)));
245 defaults.get().set(WebPreferencesKey::javaEnabledKey(), Value(bool(false)));
246 defaults.get().set(WebPreferencesKey::javaEnabledForLocalFilesKey(), Value(bool(false)));
247 defaults.get().set(WebPreferencesKey::javaScriptCanAccessClipboardKey(), Value(bool(false)));
248 defaults.get().set(WebPreferencesKey::javaScriptCanOpenWindowsAutomaticallyKey(), Value(bool(DEFAULT_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY)));
249 defaults.get().set(WebPreferencesKey::javaScriptEnabledKey(), Value(bool(true)));
250 defaults.get().set(WebPreferencesKey::javaScriptMarkupEnabledKey(), Value(bool(true)));
251 defaults.get().set(WebPreferencesKey::javaScriptRuntimeFlagsKey(), Value(uint32_t(0)));
252 defaults.get().set(WebPreferencesKey::largeImageAsyncDecodingEnabledKey(), Value(bool(true)));
253 defaults.get().set(WebPreferencesKey::layoutFallbackWidthKey(), Value(uint32_t(980)));
254#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
255 defaults.get().set(WebPreferencesKey::layoutFormattingContextEnabledKey(), Value(bool(false)));
256#endif
257 defaults.get().set(WebPreferencesKey::layoutIntervalKey(), Value(double(-1)));
258 defaults.get().set(WebPreferencesKey::layoutViewportHeightExpansionFactorKey(), Value(double(DEFAULT_VISUAL_VIEWPORT_HEIGHT_EXPANSION_FACTOR)));
259#if ENABLE(LEGACY_ENCRYPTED_MEDIA)
260 defaults.get().set(WebPreferencesKey::legacyEncryptedMediaAPIEnabledKey(), Value(bool(true)));
261#endif
262#if ENABLE(OVERFLOW_SCROLLING_TOUCH)
263 defaults.get().set(WebPreferencesKey::legacyOverflowScrollingTouchEnabledKey(), Value(bool(true)));
264#endif
265 defaults.get().set(WebPreferencesKey::linkPreconnectKey(), Value(bool(DEFAULT_LINK_PRECONNECT_ENABLED)));
266 defaults.get().set(WebPreferencesKey::linkPrefetchEnabledKey(), Value(bool(false)));
267 defaults.get().set(WebPreferencesKey::linkPreloadEnabledKey(), Value(bool(true)));
268 defaults.get().set(WebPreferencesKey::loadsImagesAutomaticallyKey(), Value(bool(true)));
269 defaults.get().set(WebPreferencesKey::loadsSiteIconsIgnoringImageLoadingPreferenceKey(), Value(bool(false)));
270 defaults.get().set(WebPreferencesKey::localFileContentSniffingEnabledKey(), Value(bool(false)));
271 defaults.get().set(WebPreferencesKey::localStorageEnabledKey(), Value(bool(true)));
272 defaults.get().set(WebPreferencesKey::logsPageMessagesToSystemConsoleEnabledKey(), Value(bool(false)));
273 defaults.get().set(WebPreferencesKey::longRunningMediaCaptureStreamRepromptIntervalInHoursKey(), Value(double(24)));
274 defaults.get().set(WebPreferencesKey::lowPowerVideoAudioBufferSizeEnabledKey(), Value(bool(true)));
275 defaults.get().set(WebPreferencesKey::mainContentUserGestureOverrideEnabledKey(), Value(bool(false)));
276 defaults.get().set(WebPreferencesKey::maxParseDurationKey(), Value(double(-1)));
277 defaults.get().set(WebPreferencesKey::mediaCapabilitiesEnabledKey(), Value(bool(true)));
278 defaults.get().set(WebPreferencesKey::mediaCapabilitiesExtensionsEnabledKey(), Value(bool(true)));
279#if ENABLE(MEDIA_STREAM)
280 defaults.get().set(WebPreferencesKey::mediaCaptureRequiresSecureConnectionKey(), Value(bool(true)));
281#endif
282 defaults.get().set(WebPreferencesKey::mediaContentTypesRequiringHardwareSupportKey(), Value(String(WebCore::Settings::defaultMediaContentTypesRequiringHardwareSupport())));
283 defaults.get().set(WebPreferencesKey::mediaControlsScaleWithPageZoomKey(), Value(bool(DEFAULT_MEDIA_CONTROLS_SCALE_WITH_PAGE_ZOOM)));
284 defaults.get().set(WebPreferencesKey::mediaDataLoadsAutomaticallyKey(), Value(bool(DEFAULT_MEDIA_DATA_LOADS_AUTOMATICALLY)));
285#if ENABLE(MEDIA_STREAM)
286 defaults.get().set(WebPreferencesKey::mediaDevicesEnabledKey(), Value(bool(false)));
287#endif
288#if ENABLE(VIDEO)
289 defaults.get().set(WebPreferencesKey::mediaEnabledKey(), Value(bool(true)));
290#endif
291 defaults.get().set(WebPreferencesKey::mediaPreloadingEnabledKey(), Value(bool(false)));
292#if ENABLE(MEDIA_STREAM)
293 defaults.get().set(WebPreferencesKey::mediaRecorderEnabledKey(), Value(bool(false)));
294#endif
295#if ENABLE(MEDIA_SOURCE)
296 defaults.get().set(WebPreferencesKey::mediaSourceEnabledKey(), Value(bool(WebCore::Settings::platformDefaultMediaSourceEnabled())));
297#endif
298#if ENABLE(MEDIA_STREAM)
299 defaults.get().set(WebPreferencesKey::mediaStreamEnabledKey(), Value(bool(true)));
300#endif
301 defaults.get().set(WebPreferencesKey::mediaUserGestureInheritsFromDocumentKey(), Value(bool(false)));
302 defaults.get().set(WebPreferencesKey::menuItemElementEnabledKey(), Value(bool(false)));
303 defaults.get().set(WebPreferencesKey::minimumFontSizeKey(), Value(double(0)));
304 defaults.get().set(WebPreferencesKey::minimumLogicalFontSizeKey(), Value(double(9)));
305#if ENABLE(TEXT_AUTOSIZING)
306 defaults.get().set(WebPreferencesKey::minimumZoomFontSizeKey(), Value(double(WebCore::Settings::defaultMinimumZoomFontSize())));
307#endif
308#if ENABLE(MEDIA_STREAM)
309 defaults.get().set(WebPreferencesKey::mockCaptureDevicesEnabledKey(), Value(bool(DEFAULT_MOCK_CAPTURE_DEVICES_ENABLED)));
310#endif
311 defaults.get().set(WebPreferencesKey::mockCaptureDevicesPromptEnabledKey(), Value(bool(true)));
312 defaults.get().set(WebPreferencesKey::mockScrollbarsEnabledKey(), Value(bool(false)));
313 defaults.get().set(WebPreferencesKey::modernMediaControlsEnabledKey(), Value(bool(DEFAULT_MODERN_MEDIA_CONTROLS_ENABLED)));
314#if ENABLE(TOUCH_EVENTS)
315 defaults.get().set(WebPreferencesKey::mouseEventsSimulationEnabledKey(), Value(bool(false)));
316#endif
317 defaults.get().set(WebPreferencesKey::needsSiteSpecificQuirksKey(), Value(bool(false)));
318 defaults.get().set(WebPreferencesKey::needsStorageAccessFromFileURLsQuirkKey(), Value(bool(true)));
319#if ENABLE(NOTIFICATIONS)
320 defaults.get().set(WebPreferencesKey::notificationsEnabledKey(), Value(bool(true)));
321#endif
322 defaults.get().set(WebPreferencesKey::offlineWebApplicationCacheEnabledKey(), Value(bool(true)));
323#if PLATFORM(COCOA)
324 defaults.get().set(WebPreferencesKey::pdfPluginEnabledKey(), Value(bool(DEFAULT_PDFPLUGIN_ENABLED)));
325#endif
326 defaults.get().set(WebPreferencesKey::pageAtRuleSupportEnabledKey(), Value(bool(false)));
327 defaults.get().set(WebPreferencesKey::pageCacheSupportsPluginsKey(), Value(bool(true)));
328 defaults.get().set(WebPreferencesKey::pageVisibilityBasedProcessSuppressionEnabledKey(), Value(bool(true)));
329 defaults.get().set(WebPreferencesKey::paginateDuringLayoutEnabledKey(), Value(bool(false)));
330 defaults.get().set(WebPreferencesKey::passiveTouchListenersAsDefaultOnDocumentKey(), Value(bool(defaultPassiveTouchListenersAsDefaultOnDocument())));
331 defaults.get().set(WebPreferencesKey::passwordEchoDurationKey(), Value(double(2)));
332 defaults.get().set(WebPreferencesKey::passwordEchoEnabledKey(), Value(bool(DEFAULT_PASSWORD_ECHO_ENABLED)));
333#if ENABLE(WEB_RTC)
334 defaults.get().set(WebPreferencesKey::peerConnectionEnabledKey(), Value(bool(WebCore::LibWebRTCProvider::webRTCAvailable())));
335#endif
336 defaults.get().set(WebPreferencesKey::pictographFontFamilyKey(), Value(String(DEFAULT_PICTOGRAPH_FONT_FAMILY)));
337 defaults.get().set(WebPreferencesKey::plugInSnapshottingEnabledKey(), Value(bool(false)));
338 defaults.get().set(WebPreferencesKey::pluginsEnabledKey(), Value(bool(false)));
339 defaults.get().set(WebPreferencesKey::pointerEventsEnabledKey(), Value(bool(true)));
340 defaults.get().set(WebPreferencesKey::primaryPlugInSnapshotDetectionEnabledKey(), Value(bool(true)));
341 defaults.get().set(WebPreferencesKey::privateBrowsingEnabledKey(), Value(bool(false)));
342 defaults.get().set(WebPreferencesKey::processSwapOnCrossSiteNavigationEnabledKey(), Value(bool(DEFAULT_PROCESS_SWAP_ON_CROSS_SITE_NAVIGATION_ENABLED)));
343 defaults.get().set(WebPreferencesKey::punchOutWhiteBackgroundsInDarkModeKey(), Value(bool(false)));
344 defaults.get().set(WebPreferencesKey::referrerPolicyAttributeEnabledKey(), Value(bool(false)));
345 defaults.get().set(WebPreferencesKey::requestAnimationFrameEnabledKey(), Value(bool(true)));
346 defaults.get().set(WebPreferencesKey::requiresUserGestureForAudioPlaybackKey(), Value(bool(DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK)));
347 defaults.get().set(WebPreferencesKey::requiresUserGestureForMediaPlaybackKey(), Value(bool(false)));
348 defaults.get().set(WebPreferencesKey::requiresUserGestureForVideoPlaybackKey(), Value(bool(false)));
349 defaults.get().set(WebPreferencesKey::requiresUserGestureToLoadVideoKey(), Value(bool(false)));
350#if ENABLE(RESIZE_OBSERVER)
351 defaults.get().set(WebPreferencesKey::resizeObserverEnabledKey(), Value(bool(false)));
352#endif
353 defaults.get().set(WebPreferencesKey::resourceTimingEnabledKey(), Value(bool(true)));
354#if ENABLE(RESOURCE_USAGE)
355 defaults.get().set(WebPreferencesKey::resourceUsageOverlayVisibleKey(), Value(bool(false)));
356#endif
357 defaults.get().set(WebPreferencesKey::restrictedHTTPResponseAccessKey(), Value(bool(true)));
358 defaults.get().set(WebPreferencesKey::safeBrowsingEnabledKey(), Value(bool(false)));
359 defaults.get().set(WebPreferencesKey::sansSerifFontFamilyKey(), Value(String(DEFAULT_SANS_SERIF_FONT_FAMILY)));
360#if ENABLE(MEDIA_STREAM) && PLATFORM(MAC)
361 defaults.get().set(WebPreferencesKey::screenCaptureEnabledKey(), Value(bool(true)));
362#endif
363#if ENABLE(SMOOTH_SCROLLING)
364 defaults.get().set(WebPreferencesKey::scrollAnimatorEnabledKey(), Value(bool(DEFAULT_WEBKIT_SCROLL_ANIMATOR_ENABLED)));
365#endif
366 defaults.get().set(WebPreferencesKey::scrollingPerformanceLoggingEnabledKey(), Value(bool(false)));
367 defaults.get().set(WebPreferencesKey::selectTrailingWhitespaceEnabledKey(), Value(bool(false)));
368 defaults.get().set(WebPreferencesKey::selectionAcrossShadowBoundariesEnabledKey(), Value(bool(true)));
369 defaults.get().set(WebPreferencesKey::selectionPaintingWithoutSelectionGapsEnabledKey(), Value(bool(false)));
370 defaults.get().set(WebPreferencesKey::serifFontFamilyKey(), Value(String(DEFAULT_SERIF_FONT_FAMILY)));
371 defaults.get().set(WebPreferencesKey::serverTimingEnabledKey(), Value(bool(false)));
372#if ENABLE(SERVICE_CONTROLS)
373 defaults.get().set(WebPreferencesKey::serviceControlsEnabledKey(), Value(bool(false)));
374#endif
375#if ENABLE(SERVICE_WORKER)
376 defaults.get().set(WebPreferencesKey::serviceWorkersEnabledKey(), Value(bool(DEFAULT_SERVICE_WORKERS_ENABLED)));
377#endif
378 defaults.get().set(WebPreferencesKey::shadowDOMEnabledKey(), Value(bool(true)));
379 defaults.get().set(WebPreferencesKey::shouldAllowUserInstalledFontsKey(), Value(bool(true)));
380 defaults.get().set(WebPreferencesKey::shouldConvertPositionStyleOnCopyKey(), Value(bool(false)));
381 defaults.get().set(WebPreferencesKey::shouldDecidePolicyBeforeLoadingQuickLookPreviewKey(), Value(bool(false)));
382 defaults.get().set(WebPreferencesKey::shouldDeferAsynchronousScriptsUntilAfterDocumentLoadKey(), Value(bool(false)));
383#if ENABLE(VIDEO_TRACK)
384 defaults.get().set(WebPreferencesKey::shouldDisplayCaptionsKey(), Value(bool(false)));
385#endif
386#if ENABLE(VIDEO_TRACK)
387 defaults.get().set(WebPreferencesKey::shouldDisplaySubtitlesKey(), Value(bool(false)));
388#endif
389#if ENABLE(VIDEO_TRACK)
390 defaults.get().set(WebPreferencesKey::shouldDisplayTextDescriptionsKey(), Value(bool(false)));
391#endif
392#if ENABLE(TEXT_AUTOSIZING)
393 defaults.get().set(WebPreferencesKey::shouldEnableTextAutosizingBoostKey(), Value(bool(false)));
394#endif
395 defaults.get().set(WebPreferencesKey::shouldIgnoreMetaViewportKey(), Value(bool(false)));
396 defaults.get().set(WebPreferencesKey::shouldPrintBackgroundsKey(), Value(bool(DEFAULT_SHOULD_PRINT_BACKGROUNDS)));
397 defaults.get().set(WebPreferencesKey::shouldRespectImageOrientationKey(), Value(bool(DEFAULT_SHOULD_RESPECT_IMAGE_ORIENTATION)));
398 defaults.get().set(WebPreferencesKey::shouldSuppressTextInputFromEditingDuringProvisionalNavigationKey(), Value(bool(false)));
399 defaults.get().set(WebPreferencesKey::showsToolTipOverTruncatedTextKey(), Value(bool(false)));
400 defaults.get().set(WebPreferencesKey::showsURLsInToolTipsEnabledKey(), Value(bool(false)));
401 defaults.get().set(WebPreferencesKey::simpleLineLayoutDebugBordersEnabledKey(), Value(bool(false)));
402 defaults.get().set(WebPreferencesKey::simpleLineLayoutEnabledKey(), Value(bool(true)));
403 defaults.get().set(WebPreferencesKey::smartInsertDeleteEnabledKey(), Value(bool(true)));
404 defaults.get().set(WebPreferencesKey::snapshotAllPlugInsKey(), Value(bool(false)));
405#if ENABLE(MEDIA_SOURCE)
406 defaults.get().set(WebPreferencesKey::sourceBufferChangeTypeEnabledKey(), Value(bool(true)));
407#endif
408 defaults.get().set(WebPreferencesKey::spatialNavigationEnabledKey(), Value(bool(false)));
409 defaults.get().set(WebPreferencesKey::springTimingFunctionEnabledKey(), Value(bool(DEFAULT_EXPERIMENTAL_FEATURES_ENABLED)));
410 defaults.get().set(WebPreferencesKey::standaloneKey(), Value(bool(false)));
411 defaults.get().set(WebPreferencesKey::standardFontFamilyKey(), Value(String(DEFAULT_STANDARD_FONT_FAMILY)));
412 defaults.get().set(WebPreferencesKey::storageAccessAPIEnabledKey(), Value(bool(true)));
413 defaults.get().set(WebPreferencesKey::storageBlockingPolicyKey(), Value(uint32_t(WebCore::SecurityOrigin::BlockThirdPartyStorage)));
414 defaults.get().set(WebPreferencesKey::subpixelAntialiasedLayerTextEnabledKey(), Value(bool(DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED)));
415 defaults.get().set(WebPreferencesKey::subpixelCSSOMElementMetricsEnabledKey(), Value(bool(false)));
416 defaults.get().set(WebPreferencesKey::subresourceIntegrityEnabledKey(), Value(bool(true)));
417 defaults.get().set(WebPreferencesKey::suppressesIncrementalRenderingKey(), Value(bool(false)));
418 defaults.get().set(WebPreferencesKey::systemLayoutDirectionKey(), Value(uint32_t(0)));
419#if USE(SYSTEM_PREVIEW)
420 defaults.get().set(WebPreferencesKey::systemPreviewEnabledKey(), Value(bool(false)));
421#endif
422 defaults.get().set(WebPreferencesKey::tabToLinksEnabledKey(), Value(bool(false)));
423 defaults.get().set(WebPreferencesKey::tabsToLinksKey(), Value(bool(DEFAULT_WEBKIT_TABSTOLINKS_ENABLED)));
424 defaults.get().set(WebPreferencesKey::telephoneNumberParsingEnabledKey(), Value(bool(false)));
425 defaults.get().set(WebPreferencesKey::temporaryTileCohortRetentionEnabledKey(), Value(bool(DEFAULT_TEMPORARY_TILE_COHORT_RETENTION_ENABLED)));
426 defaults.get().set(WebPreferencesKey::textAreasAreResizableKey(), Value(bool(DEFAULT_TEXT_AREAS_ARE_RESIZABLE)));
427#if ENABLE(TEXT_AUTOSIZING)
428 defaults.get().set(WebPreferencesKey::textAutosizingEnabledKey(), Value(bool(WebCore::Settings::defaultTextAutosizingEnabled())));
429#endif
430 defaults.get().set(WebPreferencesKey::thirdPartyIframeRedirectBlockingEnabledKey(), Value(bool(true)));
431 defaults.get().set(WebPreferencesKey::threadedScrollingEnabledKey(), Value(bool(true)));
432 defaults.get().set(WebPreferencesKey::tiledScrollingIndicatorVisibleKey(), Value(bool(false)));
433 defaults.get().set(WebPreferencesKey::undoManagerAPIEnabledKey(), Value(bool(false)));
434 defaults.get().set(WebPreferencesKey::useGiantTilesKey(), Value(bool(false)));
435 defaults.get().set(WebPreferencesKey::useLegacyTextAlignPositionedElementBehaviorKey(), Value(bool(false)));
436 defaults.get().set(WebPreferencesKey::useModernCompatibilityModeByDefaultKey(), Value(bool(false)));
437 defaults.get().set(WebPreferencesKey::userInterfaceDirectionPolicyKey(), Value(uint32_t(0)));
438 defaults.get().set(WebPreferencesKey::userTimingEnabledKey(), Value(bool(true)));
439 defaults.get().set(WebPreferencesKey::usesEncodingDetectorKey(), Value(bool(false)));
440 defaults.get().set(WebPreferencesKey::usesPageCacheKey(), Value(bool(true)));
441#if ENABLE(VIDEO)
442 defaults.get().set(WebPreferencesKey::videoQualityIncludesDisplayCompositingEnabledKey(), Value(bool(false)));
443#endif
444 defaults.get().set(WebPreferencesKey::viewGestureDebuggingEnabledKey(), Value(bool(false)));
445 defaults.get().set(WebPreferencesKey::viewportFitEnabledKey(), Value(bool(true)));
446 defaults.get().set(WebPreferencesKey::visibleDebugOverlayRegionsKey(), Value(uint32_t(0)));
447 defaults.get().set(WebPreferencesKey::visualViewportAPIEnabledKey(), Value(bool(true)));
448 defaults.get().set(WebPreferencesKey::wantsBalancedSetDefersLoadingBehaviorKey(), Value(bool(false)));
449 defaults.get().set(WebPreferencesKey::webAPIStatisticsEnabledKey(), Value(bool(false)));
450 defaults.get().set(WebPreferencesKey::webAnimationsCSSIntegrationEnabledKey(), Value(bool(false)));
451 defaults.get().set(WebPreferencesKey::webAnimationsEnabledKey(), Value(bool(DEFAULT_EXPERIMENTAL_FEATURES_ENABLED)));
452#if ENABLE(WEB_ARCHIVE)
453 defaults.get().set(WebPreferencesKey::webArchiveDebugModeEnabledKey(), Value(bool(false)));
454#endif
455#if ENABLE(WEB_AUDIO)
456 defaults.get().set(WebPreferencesKey::webAudioEnabledKey(), Value(bool(true)));
457#endif
458#if ENABLE(WEB_AUTHN)
459 defaults.get().set(WebPreferencesKey::webAuthenticationEnabledKey(), Value(bool(true)));
460#endif
461#if ENABLE(WEB_AUTHN)
462 defaults.get().set(WebPreferencesKey::webAuthenticationLocalAuthenticatorEnabledKey(), Value(bool(false)));
463#endif
464#if ENABLE(WEBGL2)
465 defaults.get().set(WebPreferencesKey::webGL2EnabledKey(), Value(bool(false)));
466#endif
467 defaults.get().set(WebPreferencesKey::webGLCompressedTextureASTCSupportEnabledKey(), Value(bool(false)));
468 defaults.get().set(WebPreferencesKey::webGLEnabledKey(), Value(bool(true)));
469#if ENABLE(WEBGPU)
470 defaults.get().set(WebPreferencesKey::webGPUEnabledKey(), Value(bool(false)));
471#endif
472#if ENABLE(WEB_RTC)
473 defaults.get().set(WebPreferencesKey::webRTCH264SimulcastEnabledKey(), Value(bool(true)));
474#endif
475#if ENABLE(WEB_RTC)
476 defaults.get().set(WebPreferencesKey::webRTCMDNSICECandidatesEnabledKey(), Value(bool(true)));
477#endif
478#if ENABLE(WEB_RTC)
479 defaults.get().set(WebPreferencesKey::webRTCUnifiedPlanEnabledKey(), Value(bool(true)));
480#endif
481#if ENABLE(WEB_RTC)
482 defaults.get().set(WebPreferencesKey::webRTCVP8CodecEnabledKey(), Value(bool(true)));
483#endif
484 defaults.get().set(WebPreferencesKey::webSQLDisabledKey(), Value(bool(true)));
485 defaults.get().set(WebPreferencesKey::webSecurityEnabledKey(), Value(bool(true)));
486 defaults.get().set(WebPreferencesKey::webShareEnabledKey(), Value(bool(DEFAULT_WEB_SHARE_ENABLED)));
487#if PLATFORM(GTK) || PLATFORM(WPE)
488 defaults.get().set(WebPreferencesKey::webVREnabledKey(), Value(bool(DEFAULT_EXPERIMENTAL_FEATURES_ENABLED)));
489#endif
490 defaults.get().set(WebPreferencesKey::xssAuditorEnabledKey(), Value(bool(true)));
491 }
492
493 return defaults;
494}
495
496} // namespace WebKit
497