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