JSC should support SharedArrayBuffer
[WebKit-https.git] / Source / WebKit / mac / WebView / WebPreferencesPrivate.h
1 /*
2  * Copyright (C) 2005-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  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer. 
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution. 
13  * 3.  Neither the name of Apple Inc. ("Apple") nor the names of
14  *     its contributors may be used to endorse or promote products derived
15  *     from this software without specific prior written permission. 
16  *
17  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 #import <WebKitLegacy/WebPreferences.h>
30
31 #if !TARGET_OS_IPHONE
32 #import <Quartz/Quartz.h>
33 #endif
34
35 typedef enum {
36     WebKitEditableLinkDefaultBehavior,
37     WebKitEditableLinkAlwaysLive,
38     WebKitEditableLinkOnlyLiveWithShiftKey,
39     WebKitEditableLinkLiveWhenNotFocused,
40     WebKitEditableLinkNeverLive
41 } WebKitEditableLinkBehavior;
42
43 typedef enum {
44     WebTextDirectionSubmenuNeverIncluded,
45     WebTextDirectionSubmenuAutomaticallyIncluded,
46     WebTextDirectionSubmenuAlwaysIncluded
47 } WebTextDirectionSubmenuInclusionBehavior;
48
49 typedef enum {
50     WebAllowAllStorage = 0,
51     WebBlockThirdPartyStorage,
52     WebBlockAllStorage
53 } WebStorageBlockingPolicy;
54
55 typedef enum {
56     WebKitJavaScriptRuntimeFlagsSharedArrayBufferEnabled = 1u << 0,
57     WebKitJavaScriptRuntimeFlagsAllEnabled = WebKitJavaScriptRuntimeFlagsSharedArrayBufferEnabled
58 } WebKitJavaScriptRuntimeFlags;
59
60 extern NSString *WebPreferencesChangedNotification;
61 extern NSString *WebPreferencesRemovedNotification;
62 extern NSString *WebPreferencesChangedInternalNotification;
63 extern NSString *WebPreferencesCacheModelChangedInternalNotification;
64
65 @interface WebPreferences (WebPrivate)
66
67 // Preferences that might be public in a future release
68
69 - (BOOL)isDNSPrefetchingEnabled;
70 - (void)setDNSPrefetchingEnabled:(BOOL)flag;
71
72 - (BOOL)developerExtrasEnabled;
73 - (void)setDeveloperExtrasEnabled:(BOOL)flag;
74
75 - (WebKitJavaScriptRuntimeFlags)javaScriptRuntimeFlags;
76 - (void)setJavaScriptRuntimeFlags:(WebKitJavaScriptRuntimeFlags)flags;
77
78 - (BOOL)authorAndUserStylesEnabled;
79 - (void)setAuthorAndUserStylesEnabled:(BOOL)flag;
80
81 - (BOOL)applicationChromeModeEnabled;
82 - (void)setApplicationChromeModeEnabled:(BOOL)flag;
83
84 - (BOOL)usesEncodingDetector;
85 - (void)setUsesEncodingDetector:(BOOL)flag;
86
87 #if !TARGET_OS_IPHONE
88 - (BOOL)respectStandardStyleKeyEquivalents;
89 - (void)setRespectStandardStyleKeyEquivalents:(BOOL)flag;
90
91 - (BOOL)showsURLsInToolTips;
92 - (void)setShowsURLsInToolTips:(BOOL)flag;
93
94 - (BOOL)showsToolTipOverTruncatedText;
95 - (void)setShowsToolTipOverTruncatedText:(BOOL)flag;
96
97 - (BOOL)textAreasAreResizable;
98 - (void)setTextAreasAreResizable:(BOOL)flag;
99
100 - (PDFDisplayMode)PDFDisplayMode;
101 - (void)setPDFDisplayMode:(PDFDisplayMode)mode;
102 #endif
103
104 - (BOOL)shrinksStandaloneImagesToFit;
105 - (void)setShrinksStandaloneImagesToFit:(BOOL)flag;
106
107 - (BOOL)automaticallyDetectsCacheModel;
108 - (void)setAutomaticallyDetectsCacheModel:(BOOL)automaticallyDetectsCacheModel;
109
110 - (BOOL)domTimersThrottlingEnabled;
111 - (void)setDOMTimersThrottlingEnabled:(BOOL)domTimersThrottlingEnabled;
112
113 - (BOOL)webArchiveDebugModeEnabled;
114 - (void)setWebArchiveDebugModeEnabled:(BOOL)webArchiveDebugModeEnabled;
115
116 - (BOOL)localFileContentSniffingEnabled;
117 - (void)setLocalFileContentSniffingEnabled:(BOOL)localFileContentSniffingEnabled;
118
119 - (BOOL)offlineWebApplicationCacheEnabled;
120 - (void)setOfflineWebApplicationCacheEnabled:(BOOL)offlineWebApplicationCacheEnabled;
121
122 - (BOOL)databasesEnabled;
123 - (void)setDatabasesEnabled:(BOOL)databasesEnabled;
124
125 #if TARGET_OS_IPHONE
126 - (BOOL)storageTrackerEnabled;
127 - (void)setStorageTrackerEnabled:(BOOL)storageTrackerEnabled;
128 #endif
129
130 - (BOOL)localStorageEnabled;
131 - (void)setLocalStorageEnabled:(BOOL)localStorageEnabled;
132
133 - (BOOL)isWebSecurityEnabled;
134 - (void)setWebSecurityEnabled:(BOOL)flag;
135
136 - (BOOL)allowUniversalAccessFromFileURLs;
137 - (void)setAllowUniversalAccessFromFileURLs:(BOOL)flag;
138
139 - (BOOL)allowFileAccessFromFileURLs;
140 - (void)setAllowFileAccessFromFileURLs:(BOOL)flag;
141
142 - (BOOL)zoomsTextOnly;
143 - (void)setZoomsTextOnly:(BOOL)zoomsTextOnly;
144
145 - (BOOL)javaScriptCanAccessClipboard;
146 - (void)setJavaScriptCanAccessClipboard:(BOOL)flag;
147
148 - (BOOL)isXSSAuditorEnabled;
149 - (void)setXSSAuditorEnabled:(BOOL)flag;
150
151 - (BOOL)experimentalNotificationsEnabled;
152 - (void)setExperimentalNotificationsEnabled:(BOOL)notificationsEnabled;
153
154 - (BOOL)isFrameFlatteningEnabled;
155 - (void)setFrameFlatteningEnabled:(BOOL)flag;
156
157 - (BOOL)isSpatialNavigationEnabled;
158 - (void)setSpatialNavigationEnabled:(BOOL)flag;
159
160 #if !TARGET_OS_IPHONE
161 // zero means do AutoScale
162 - (float)PDFScaleFactor;
163 - (void)setPDFScaleFactor:(float)scale;
164 #endif
165
166 - (int64_t)applicationCacheTotalQuota;
167 - (void)setApplicationCacheTotalQuota:(int64_t)quota;
168
169 - (int64_t)applicationCacheDefaultOriginQuota;
170 - (void)setApplicationCacheDefaultOriginQuota:(int64_t)quota;
171
172 - (WebKitEditableLinkBehavior)editableLinkBehavior;
173 - (void)setEditableLinkBehavior:(WebKitEditableLinkBehavior)behavior;
174
175 - (WebTextDirectionSubmenuInclusionBehavior)textDirectionSubmenuInclusionBehavior;
176 - (void)setTextDirectionSubmenuInclusionBehavior:(WebTextDirectionSubmenuInclusionBehavior)behavior;
177
178 // Used to set preference specified in the test via LayoutTestController.overridePreference(..).
179 // For use with DumpRenderTree only.
180 - (void)_setPreferenceForTestWithValue:(NSString *)value forKey:(NSString *)key;
181
182 // If site-specific spoofing is enabled, some pages that do inappropriate user-agent string checks will be
183 // passed a nonstandard user-agent string to get them to work correctly. This method might be removed in
184 // the future when there's no more need for it.
185 - (BOOL)_useSiteSpecificSpoofing;
186 - (void)_setUseSiteSpecificSpoofing:(BOOL)newValue;
187
188 // WARNING: Allowing paste through the DOM API opens a security hole. We only use it for testing purposes.
189 - (BOOL)isDOMPasteAllowed;
190 - (void)setDOMPasteAllowed:(BOOL)DOMPasteAllowed;
191
192 - (NSString *)_ftpDirectoryTemplatePath;
193 - (void)_setFTPDirectoryTemplatePath:(NSString *)path;
194
195 - (void)_setForceFTPDirectoryListings:(BOOL)force;
196 - (BOOL)_forceFTPDirectoryListings;
197
198 - (NSString *)_localStorageDatabasePath;
199 - (void)_setLocalStorageDatabasePath:(NSString *)path;
200
201 - (BOOL)acceleratedDrawingEnabled;
202 - (void)setAcceleratedDrawingEnabled:(BOOL)enabled;
203
204 - (BOOL)displayListDrawingEnabled;
205 - (void)setDisplayListDrawingEnabled:(BOOL)enabled;
206
207 - (BOOL)resourceLoadStatisticsEnabled;
208 - (void)setResourceLoadStatisticsEnabled:(BOOL)enabled;
209
210 - (BOOL)canvasUsesAcceleratedDrawing;
211 - (void)setCanvasUsesAcceleratedDrawing:(BOOL)enabled;
212
213 - (BOOL)acceleratedCompositingEnabled;
214 - (void)setAcceleratedCompositingEnabled:(BOOL)enabled;
215
216 - (BOOL)showDebugBorders;
217 - (void)setShowDebugBorders:(BOOL)show;
218
219 - (BOOL)simpleLineLayoutDebugBordersEnabled;
220 - (void)setSimpleLineLayoutDebugBordersEnabled:(BOOL)enabled;
221
222 - (BOOL)showRepaintCounter;
223 - (void)setShowRepaintCounter:(BOOL)show;
224
225 - (BOOL)webAudioEnabled;
226 - (void)setWebAudioEnabled:(BOOL)enabled;
227
228 - (BOOL)subpixelCSSOMElementMetricsEnabled;
229 - (void)setSubpixelCSSOMElementMetricsEnabled:(BOOL)enabled;
230
231 - (BOOL)webGLEnabled;
232 - (void)setWebGLEnabled:(BOOL)enabled;
233
234 - (BOOL)webGL2Enabled;
235 - (void)setWebGL2Enabled:(BOOL)enabled;
236
237 - (BOOL)forceSoftwareWebGLRendering;
238 - (void)setForceSoftwareWebGLRendering:(BOOL)forced;
239
240 - (BOOL)accelerated2dCanvasEnabled;
241 - (void)setAccelerated2dCanvasEnabled:(BOOL)enabled;
242
243 - (BOOL)paginateDuringLayoutEnabled;
244 - (void)setPaginateDuringLayoutEnabled:(BOOL)flag;
245
246 - (BOOL)hyperlinkAuditingEnabled;
247 - (void)setHyperlinkAuditingEnabled:(BOOL)enabled;
248
249 // Deprecated. Use -setVideoPlaybackRequiresUserGesture and -setAudioPlaybackRequiresUserGesture instead.
250 - (void)setMediaPlaybackRequiresUserGesture:(BOOL)flag;
251 // Deprecated. Use -videoPlaybackRequiresUserGesture and -audioPlaybackRequiresUserGesture instead.
252 - (BOOL)mediaPlaybackRequiresUserGesture;
253
254 - (void)setVideoPlaybackRequiresUserGesture:(BOOL)flag;
255 - (BOOL)videoPlaybackRequiresUserGesture;
256
257 - (void)setAudioPlaybackRequiresUserGesture:(BOOL)flag;
258 - (BOOL)audioPlaybackRequiresUserGesture;
259
260 - (void)setOverrideUserGestureRequirementForMainContent:(BOOL)flag;
261 - (BOOL)overrideUserGestureRequirementForMainContent;
262
263 - (void)setMediaPlaybackAllowsInline:(BOOL)flag;
264 - (BOOL)mediaPlaybackAllowsInline;
265
266 - (void)setInlineMediaPlaybackRequiresPlaysInlineAttribute:(BOOL)flag;
267 - (BOOL)inlineMediaPlaybackRequiresPlaysInlineAttribute;
268
269 - (void)setInvisibleAutoplayNotPermitted:(BOOL)flag;
270 - (BOOL)invisibleAutoplayNotPermitted;
271
272 - (void)setMediaControlsScaleWithPageZoom:(BOOL)flag;
273 - (BOOL)mediaControlsScaleWithPageZoom;
274
275 - (void)setAllowsAlternateFullscreen:(BOOL)flag;
276 - (BOOL)allowsAlternateFullscreen;
277
278 - (void)setAllowsPictureInPictureMediaPlayback:(BOOL)flag;
279 - (BOOL)allowsPictureInPictureMediaPlayback;
280
281 - (NSString *)pictographFontFamily;
282 - (void)setPictographFontFamily:(NSString *)family;
283
284 - (BOOL)pageCacheSupportsPlugins;
285 - (void)setPageCacheSupportsPlugins:(BOOL)flag;
286
287 // This is a global setting.
288 - (BOOL)mockScrollbarsEnabled;
289 - (void)setMockScrollbarsEnabled:(BOOL)flag;
290
291 #if TARGET_OS_IPHONE
292 // This is a global setting.
293 - (unsigned)audioSessionCategoryOverride;
294 - (void)setAudioSessionCategoryOverride:(unsigned)override;
295
296 - (BOOL)avKitEnabled;
297 - (void)setAVKitEnabled:(bool)flag;
298
299 // WARNING: this affect network performance. This must not be enabled for production use.
300 // Enabling this makes WebCore reports the network data usage.
301 // This is a global setting.
302 - (void)setNetworkDataUsageTrackingEnabled:(bool)trackingEnabled;
303 - (BOOL)networkDataUsageTrackingEnabled;
304
305 - (void)setNetworkInterfaceName:(NSString *)name;
306 - (NSString *)networkInterfaceName;
307
308 - (void)_setMinimumZoomFontSize:(float)size;
309 - (float)_minimumZoomFontSize;
310
311 // Deprecated. Has no effect.
312 - (void)setDiskImageCacheEnabled:(BOOL)enabled;
313
314 - (void)setMediaPlaybackAllowsAirPlay:(BOOL)flag;
315 - (BOOL)mediaPlaybackAllowsAirPlay;
316 #endif
317
318 - (void)_setTextAutosizingEnabled:(BOOL)enabled;
319 - (BOOL)_textAutosizingEnabled;
320
321 - (BOOL)isInheritURIQueryComponentEnabled;
322 - (void)setEnableInheritURIQueryComponent:(BOOL)flag;
323
324 // Other private methods
325 #if TARGET_OS_IPHONE
326 - (BOOL)_standalone;
327 - (void)_setStandalone:(BOOL)flag;
328 - (void)_setTelephoneNumberParsingEnabled:(BOOL)flag;
329 - (BOOL)_telephoneNumberParsingEnabled;
330 - (void)_setAllowMultiElementImplicitFormSubmission:(BOOL)flag;
331 - (BOOL)_allowMultiElementImplicitFormSubmission;
332 - (void)_setAlwaysRequestGeolocationPermission:(BOOL)flag;
333 - (BOOL)_alwaysRequestGeolocationPermission;
334 - (void)_setAlwaysUseAcceleratedOverflowScroll:(BOOL)flag;
335 - (BOOL)_alwaysUseAcceleratedOverflowScroll;
336 - (void)_setLayoutInterval:(int)l;
337 - (int)_layoutInterval;
338 - (void)_setMaxParseDuration:(float)d;
339 - (float)_maxParseDuration;
340 - (void)_setInterpolationQuality:(int)quality;
341 - (int)_interpolationQuality;
342 - (BOOL)_allowPasswordEcho;
343 - (float)_passwordEchoDuration;
344 #endif
345 - (void)_postPreferencesChangedNotification;
346 - (void)_postPreferencesChangedAPINotification;
347 + (WebPreferences *)_getInstanceForIdentifier:(NSString *)identifier;
348 + (void)_setInstance:(WebPreferences *)instance forIdentifier:(NSString *)identifier;
349 + (void)_removeReferenceForIdentifier:(NSString *)identifier;
350 - (NSTimeInterval)_backForwardCacheExpirationInterval;
351 + (CFStringEncoding)_systemCFStringEncoding;
352 + (void)_setInitialDefaultTextEncodingToSystemEncoding;
353 + (void)_setIBCreatorID:(NSString *)string;
354
355 // For DumpRenderTree use only.
356 + (void)_switchNetworkLoaderToNewTestingSession;
357 + (void)_setCurrentNetworkLoaderSessionCookieAcceptPolicy:(NSHTTPCookieAcceptPolicy)cookieAcceptPolicy;
358 + (void)_clearNetworkLoaderSession;
359
360 + (void)setWebKitLinkTimeVersion:(int)version;
361
362 // For WebView's use only.
363 - (void)willAddToWebView;
364 - (void)didRemoveFromWebView;
365
366 // Full screen support is dependent on WebCore/WebKit being
367 // compiled with ENABLE_FULLSCREEN_API. 
368 - (void)setFullScreenEnabled:(BOOL)flag;
369 - (BOOL)fullScreenEnabled;
370
371 - (void)setAsynchronousSpellCheckingEnabled:(BOOL)flag;
372 - (BOOL)asynchronousSpellCheckingEnabled;
373
374 - (void)setUsePreHTML5ParserQuirks:(BOOL)flag;
375 - (BOOL)usePreHTML5ParserQuirks;
376
377 - (void)setLoadsSiteIconsIgnoringImageLoadingPreference: (BOOL)flag;
378 - (BOOL)loadsSiteIconsIgnoringImageLoadingPreference;
379
380 // AVFoundation support is dependent on WebCore/WebKit being
381 // compiled with USE_AVFOUNDATION.
382 - (void)setAVFoundationEnabled:(BOOL)flag;
383 - (BOOL)isAVFoundationEnabled;
384
385 - (void)setAVFoundationNSURLSessionEnabled:(BOOL)flag;
386 - (BOOL)isAVFoundationNSURLSessionEnabled;
387
388 - (void)setQTKitEnabled:(BOOL)flag;
389 - (BOOL)isQTKitEnabled;
390
391 // Deprecated, has no effect.
392 - (void)setVideoPluginProxyEnabled:(BOOL)flag;
393 - (BOOL)isVideoPluginProxyEnabled;
394
395 // WebSocket support depends on ENABLE(WEB_SOCKETS).
396 - (void)setHixie76WebSocketProtocolEnabled:(BOOL)flag;
397 - (BOOL)isHixie76WebSocketProtocolEnabled;
398
399 #if TARGET_OS_IPHONE
400 - (void)_invalidateCachedPreferences;
401 - (void)_synchronizeWebStoragePolicyWithCookiePolicy;
402 #endif
403
404 - (void)setBackspaceKeyNavigationEnabled:(BOOL)flag;
405 - (BOOL)backspaceKeyNavigationEnabled;
406
407 - (void)setWantsBalancedSetDefersLoadingBehavior:(BOOL)flag;
408 - (BOOL)wantsBalancedSetDefersLoadingBehavior;
409
410 - (void)setShouldDisplaySubtitles:(BOOL)flag;
411 - (BOOL)shouldDisplaySubtitles;
412
413 - (void)setShouldDisplayCaptions:(BOOL)flag;
414 - (BOOL)shouldDisplayCaptions;
415
416 - (void)setShouldDisplayTextDescriptions:(BOOL)flag;
417 - (BOOL)shouldDisplayTextDescriptions;
418
419 - (void)setNotificationsEnabled:(BOOL)flag;
420 - (BOOL)notificationsEnabled;
421
422 - (void)setShouldRespectImageOrientation:(BOOL)flag;
423 - (BOOL)shouldRespectImageOrientation;
424
425 - (BOOL)requestAnimationFrameEnabled;
426 - (void)setRequestAnimationFrameEnabled:(BOOL)enabled;
427
428 - (void)setIncrementalRenderingSuppressionTimeoutInSeconds:(NSTimeInterval)timeout;
429 - (NSTimeInterval)incrementalRenderingSuppressionTimeoutInSeconds;
430
431 - (BOOL)diagnosticLoggingEnabled;
432 - (void)setDiagnosticLoggingEnabled:(BOOL)enabled;
433
434 - (void)setStorageBlockingPolicy:(WebStorageBlockingPolicy)storageBlockingPolicy;
435 - (WebStorageBlockingPolicy)storageBlockingPolicy;
436
437 - (BOOL)plugInSnapshottingEnabled;
438 - (void)setPlugInSnapshottingEnabled:(BOOL)enabled;
439
440 - (BOOL)hiddenPageDOMTimerThrottlingEnabled;
441 - (void)setHiddenPageDOMTimerThrottlingEnabled:(BOOL)flag;
442
443 - (BOOL)hiddenPageCSSAnimationSuspensionEnabled;
444 - (void)setHiddenPageCSSAnimationSuspensionEnabled:(BOOL)flag;
445
446 - (BOOL)lowPowerVideoAudioBufferSizeEnabled;
447 - (void)setLowPowerVideoAudioBufferSizeEnabled:(BOOL)enabled;
448
449 - (void)setUseLegacyTextAlignPositionedElementBehavior:(BOOL)flag;
450 - (BOOL)useLegacyTextAlignPositionedElementBehavior;
451
452 - (void)setMediaSourceEnabled:(BOOL)flag;
453 - (BOOL)mediaSourceEnabled;
454
455 - (void)setShouldConvertPositionStyleOnCopy:(BOOL)flag;
456 - (BOOL)shouldConvertPositionStyleOnCopy;
457
458 - (void)setImageControlsEnabled:(BOOL)flag;
459 - (BOOL)imageControlsEnabled;
460
461 - (void)setServiceControlsEnabled:(BOOL)flag;
462 - (BOOL)serviceControlsEnabled;
463
464 - (void)setGamepadsEnabled:(BOOL)flag;
465 - (BOOL)gamepadsEnabled;
466
467 - (void)setMediaKeysStorageDirectory:(NSString *)directory;
468 - (NSString *)mediaKeysStorageDirectory;
469
470 - (void)setMetaRefreshEnabled:(BOOL)flag;
471 - (BOOL)metaRefreshEnabled;
472
473 - (void)setHTTPEquivEnabled:(BOOL)flag;
474 - (BOOL)httpEquivEnabled;
475
476 - (void)setMockCaptureDevicesEnabled:(BOOL)flag;
477 - (BOOL)mockCaptureDevicesEnabled;
478
479 - (void)setShadowDOMEnabled:(BOOL)flag;
480 - (BOOL)shadowDOMEnabled;
481
482 - (void)setCustomElementsEnabled:(BOOL)flag;
483 - (BOOL)customElementsEnabled;
484
485 - (void)setDOMIteratorEnabled:(BOOL)flag;
486 - (BOOL)DOMIteratorEnabled;
487
488 - (void)setFetchAPIEnabled:(BOOL)flag;
489 - (BOOL)fetchAPIEnabled;
490
491 - (void)setDownloadAttributeEnabled:(BOOL)flag;
492 - (BOOL)downloadAttributeEnabled;
493
494 - (void)setCSSGridLayoutEnabled:(BOOL)flag;
495 - (BOOL)isCSSGridLayoutEnabled;
496
497 - (void)setWebAnimationsEnabled:(BOOL)flag;
498 - (BOOL)webAnimationsEnabled;
499
500 - (void)setModernMediaControlsEnabled:(BOOL)flag;
501 - (BOOL)modernMediaControlsEnabled;
502
503 @property (nonatomic) BOOL visualViewportEnabled;
504 @property (nonatomic) BOOL javaScriptMarkupEnabled;
505 @property (nonatomic) BOOL mediaDataLoadsAutomatically;
506 @property (nonatomic) BOOL attachmentElementEnabled;
507 @property (nonatomic) BOOL allowsInlineMediaPlaybackAfterFullscreen;
508
509
510 @end