[Preferences] Adopt shared preferences configuration and script in WebKit
[WebKit-https.git] / Source / WTF / Scripts / Preferences / WebPreferencesInternal.yaml
1 # Copyright (c) 2020 Apple Inc. All rights reserved.
2 #
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions
5 # are met:
6 # 1. Redistributions of source code must retain the above copyright
7 #    notice, this list of conditions and the following disclaimer.
8 # 2. Redistributions in binary form must reproduce the above copyright
9 #    notice, this list of conditions and the following disclaimer in the
10 #    documentation and/or other materials provided with the distribution.
11 #
12 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
13 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
14 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
16 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
17 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
18 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
19 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
20 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
22 # THE POSSIBILITY OF SUCH DAMAGE.
23
24 # For internal features:
25 # The type should be boolean.
26 # They must include a humanReadableName and humanReadableDescription. This is
27 #   the text exposed to the user from the WebKit client.
28
29 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
30 AllowViewportShrinkToFitContent:
31   type: bool
32   humanReadableName: "Allow Viewport Shrink to Fit Content"
33   humanReadableDescription: "Allow the viewport shrink to fit content heuristic when appropriate"
34   condition: PLATFORM(IOS_FAMILY)
35   defaultValue:
36     WebKitLegacy:
37       default: false
38     WebKit:
39       default: true
40
41 AlwaysZoomOnDoubleTap:
42   type: bool
43   humanReadableName: "DTTZ always"
44   humanReadableDescription: "Double taps zoom, even if we dispatched a click anywhere"
45   webcoreBinding: none
46   condition: PLATFORM(IOS_FAMILY)
47   exposed: [ WebKit ]
48   defaultValue:
49     WebKit:
50       default: false
51
52 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
53 ApplePayRemoteUIEnabled:
54   type: bool
55   humanReadableDescription: "Enable Apple Pay Remote UI"
56   humanReadableName: "Apple Pay Remote UI"
57   condition: ENABLE(APPLE_PAY_REMOTE_UI)
58   defaultValue:
59     WebKitLegacy:
60       default: false
61     WebKit:
62       default: true
63
64 AriaReflectionEnabled:
65   type: bool
66   humanReadableName: "ARIA Reflection"
67   humanReadableDescription: "ARIA Reflection support"
68   webcoreBinding: RuntimeEnabledFeatures
69   defaultValue:
70     WebKitLegacy:
71       default: true
72     WebKit:
73       default: true
74
75 AsyncFrameScrollingEnabled:
76   type: bool
77   humanReadableName: "Async Frame Scrolling"
78   humanReadableDescription: "Perform frame scrolling off the main thread"
79   defaultValue:
80     WebKitLegacy:
81       default: false
82     WebKit:
83       "USE(NICOSIA)": true
84       "PLATFORM(IOS_FAMILY)": true
85       default: WebKit::defaultAsyncFrameScrollingEnabled()
86
87 AsyncOverflowScrollingEnabled:
88   type: bool
89   humanReadableName: "Async Overflow Scrolling"
90   humanReadableDescription: "Perform overflow scrolling off the main thread"
91   defaultValue:
92     WebKitLegacy:
93       default: false
94     WebKit:
95       "PLATFORM(IOS_FAMILY)": true
96       default: WebKit::defaultAsyncFrameScrollingEnabled()
97
98 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
99 BlockingOfSmallPluginsEnabled:
100   type: bool
101   humanReadableName: "Block small plugins"
102   humanReadableDescription: "Stop plugins smaller than a certain threshold from loading."
103   defaultValue:
104     WebKitLegacy:
105       default: false
106     WebKit:
107       default: true
108
109 CSSLogicalEnabled:
110   type: bool
111   humanReadableName: "CSS Logical Properties and Values"
112   humanReadableDescription: "Enable CSS Logical Properties and Values"
113   webcoreBinding: RuntimeEnabledFeatures
114   defaultValue:
115     WebKitLegacy:
116       default: false
117     WebKit:
118       default: false
119
120 CSSOMViewScrollingAPIEnabled:
121   type: bool
122   humanReadableName: "CSSOM View Scrolling API"
123   humanReadableDescription: "Implement standard behavior for scrollLeft, scrollTop, scrollWidth, scrollHeight, scrollTo, scrollBy and scrollingElement."
124   defaultValue:
125     WebKitLegacy:
126       default: true
127     WebKit:
128       "PLATFORM(IOS_FAMILY)": WebKit::defaultCSSOMViewScrollingAPIEnabled()
129       default: true
130
131 CaptureAudioInGPUProcessEnabled:
132   type: bool
133   humanReadableName: "GPU Process: Audio Capture"
134   humanReadableDescription: "Enable audio capture in GPU Process"
135   webcoreBinding: none
136   condition: ENABLE(MEDIA_STREAM)
137   exposed: [ WebKit ]
138   defaultValue:
139     WebKit:
140       default: WebKit::defaultCaptureAudioInGPUProcessEnabled()
141
142 CaptureAudioInUIProcessEnabled:
143   type: bool
144   humanReadableName: "Capture audio in UI Process"
145   humanReadableDescription: "Enable audio capture in UI Process"
146   webcoreBinding: none
147   condition: ENABLE(MEDIA_STREAM)
148   exposed: [ WebKit ]
149   defaultValue:
150     WebKit:
151       default: WebKit::defaultCaptureAudioInUIProcessEnabled()
152
153 CaptureVideoInGPUProcessEnabled:
154   type: bool
155   humanReadableName: "GPU Process: Video Capture"
156   humanReadableDescription: "Enable video capture in GPU Process"
157   webcoreBinding: none
158   condition: ENABLE(MEDIA_STREAM)
159   exposed: [ WebKit ]
160   defaultValue:
161     WebKit:
162       default: WebKit::defaultCaptureVideoInGPUProcessEnabled()
163
164 CaptureVideoInUIProcessEnabled:
165   type: bool
166   humanReadableName: "Capture video in UI Process"
167   humanReadableDescription: "Enable video capture in UI Process"
168   webcoreBinding: none
169   condition: ENABLE(MEDIA_STREAM)
170   exposed: [ WebKit ]
171   defaultValue:
172     WebKit:
173       default: WebKit::defaultCaptureVideoInUIProcessEnabled()
174
175 DOMPasteAccessRequestsEnabled:
176   type: bool
177   humanReadableName: "DOM Paste Access Requests"
178   humanReadableDescription: "Enable DOM Paste Access Requests"
179   defaultValue:
180     WebKitLegacy:
181       default: false
182     WebKit:
183       "PLATFORM(IOS) || PLATFORM(MAC)": true
184       default: false
185
186 # FIXME: This is on by default in WebKit2 (for everything but WatchOS). Perhaps we should consider turning it on for WebKitLegacy as well.
187 DataListElementEnabled:
188   type: bool
189   humanReadableName: "DataList Element"
190   humanReadableDescription: "Enable datalist elements"
191   webcoreBinding: RuntimeEnabledFeatures
192   condition: ENABLE(DATALIST_ELEMENT)
193   defaultValue:
194     WebKitLegacy:
195       default: false
196     WebKit:
197       "PLATFORM(WATCHOS)": false
198       default: true
199
200 # FIXME: This is on by default in WebKit2 (for macOS at least). Perhaps we should consider turning it on for WebKitLegacy as well.
201 DateTimeInputsEditableComponentsEnabled:
202   type: bool
203   humanReadableName: "Date/Time inputs have editable components"
204   humanReadableDescription: "Enable multiple editable components in date/time inputs"
205   condition: ENABLE(DATE_AND_TIME_INPUT_TYPES)
206   defaultValue:
207     WebKitLegacy:
208       default: false
209     WebKit:
210       "PLATFORM(MAC)": true
211       default: false
212
213 EnterKeyHintEnabled:
214   type: bool
215   defaultValue: DEFAULT_ENTER_KEY_HINT_ENABLED
216   humanReadableName: "Enter Key Hint"
217   humanReadableDescription: "Enable the enterKeyHint HTML attribute"
218   defaultValue:
219     WebKitLegacy:
220       default: false
221     WebKit:
222       "PLATFORM(COCOA)": true
223       default: false
224
225 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
226 ExperimentalPlugInSandboxProfilesEnabled:
227   type: bool
228   humanReadableName: "Sandbox Plug-Ins"
229   humanReadableDescription: "Enable Plug-In sandboxing"
230   webcoreBinding: RuntimeEnabledFeatures
231   defaultValue:
232     WebKitLegacy:
233       default: false
234     WebKit:
235       default: false
236
237 FasterClicksEnabled:
238   type: bool
239   humanReadableName: "Fast clicks"
240   humanReadableDescription: "Support faster clicks on zoomable pages"
241   webcoreBinding: none
242   condition: PLATFORM(IOS_FAMILY)
243   exposed: [ WebKit ]
244   defaultValue:
245     WebKit:
246       default: true
247
248 # FIXME: This should be reconciled with 'FrameFlattening' in WebPreferences.yaml .
249 FrameFlatteningEnabled:
250   type: bool
251   humanReadableName: "Frame flattening"
252   humanReadableDescription: "Enable frame flattening, which adjusts the height of an iframe to fit its contents"
253   webcoreBinding: custom
254   exposed: [ WebKit ]
255   defaultValue:
256     WebKit:
257       "PLATFORM(IOS_FAMILY)": true
258       default: false
259
260 FullScreenEnabled:
261   type: bool
262   humanReadableName: "Fullscreen API"
263   humanReadableDescription: "Fullscreen API"
264   condition: ENABLE(FULLSCREEN_API)
265   hidden: EXPERIMENTAL_FULLSCREEN_API_HIDDEN
266   defaultValue:
267     WebKitLegacy:
268       default: false
269     WebKit:
270       default: false
271
272 ICECandidateFilteringEnabled:
273   type: bool
274   humanReadableName: "Enable ICE Candidate Filtering"
275   humanReadableDescription: "Enable ICE Candidate Filtering"
276   defaultValue:
277     WebKitLegacy:
278       default: true
279     WebKit:
280       default: true
281
282 InputTypeColorEnabled:
283   type: bool
284   humanReadableName: "Color Inputs"
285   humanReadableDescription: "Enable input elements of type color"
286   condition: ENABLE(INPUT_TYPE_COLOR)
287   defaultValue:
288     WebKitLegacy:
289       default: false
290     WebKit:
291       "PLATFORM(WATCHOS)": false
292       default: true
293
294 InputTypeDateEnabled:
295   type: bool
296   humanReadableName: "Date Input"
297   humanReadableDescription: "Enable input elements of type date"
298   condition: ENABLE(INPUT_TYPE_DATE)
299   defaultValue:
300     WebKitLegacy:
301       default: false
302     WebKit:
303       "!PLATFORM(MAC) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)": true
304       default: false
305   
306 InputTypeDateTimeLocalEnabled:
307   type: bool
308   humanReadableName: "datetime-local Inputs"
309   humanReadableDescription: "Enable input elements of type datetime-local"
310   condition: ENABLE(INPUT_TYPE_DATETIMELOCAL)
311   defaultValue:
312     WebKitLegacy:
313       default: false
314     WebKit:
315       "!PLATFORM(MAC) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)": true
316       default: false
317
318 InputTypeMonthEnabled:
319   type: bool
320   humanReadableName: "Month Input"
321   humanReadableDescription: "Enable input elements of type month"
322   condition: ENABLE(INPUT_TYPE_MONTH)
323   defaultValue:
324     WebKitLegacy:
325       default: false
326     WebKit:
327       "!PLATFORM(MAC) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)": true
328       default: false
329
330 InputTypeTimeEnabled:
331   type: bool
332   humanReadableName: "Time Input"
333   humanReadableDescription: "Enable input elements of type time"
334   condition: ENABLE(INPUT_TYPE_TIME)
335   defaultValue:
336     WebKitLegacy:
337       default: false
338     WebKit:
339       "!PLATFORM(MAC) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)": true
340       default: false
341
342 InputTypeWeekEnabled:
343   type: bool
344   humanReadableName: "Week Input"
345   humanReadableDescription: "Enable input elements of type week"
346   condition: ENABLE(INPUT_TYPE_WEEK)
347   defaultValue:
348     WebKitLegacy:
349       default: false
350     WebKit:
351       "!PLATFORM(MAC) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)": true
352       default: false
353
354 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
355 IsFirstPartyWebsiteDataRemovalLiveOnTestingEnabled:
356   type: bool
357   humanReadableName: "[ITP Live-On] 1 Hour Timeout For Non-Cookie Data Removal"
358   humanReadableDescription: "Remove all non-cookie website data after just one hour of no user interaction when Intelligent Tracking Prevention is enabled"
359   defaultValue:
360     WebKitLegacy:
361       default: false
362     WebKit:
363       default: false
364
365 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
366 IsFirstPartyWebsiteDataRemovalReproTestingEnabled:
367   type: bool
368   humanReadableName: "[ITP Repro] 30 Second Timeout For Non-Cookie Data Removal"
369   humanReadableDescription: "Remove all non-cookie website data after just 30 seconds of no user interaction when Intelligent Tracking Prevention is enabled"
370   defaultValue:
371     WebKitLegacy:
372       default: false
373     WebKit:
374       default: false
375
376 KeygenElementEnabled:
377   type: bool
378   webKitLegacyPreferenceKey: WebKitKeygenElementEnabledPreferenceKey
379   webcoreBinding: RuntimeEnabledFeatures
380   humanReadableName: "HTMLKeygenElement"
381   humanReadableDescription: "Enables the deprecated and disabled-by-default HTML keygen element."
382   defaultValue:
383     WebKitLegacy:
384       default: false
385     WebKit:
386       default: false
387
388 LayoutFormattingContextEnabled:
389   type: bool
390   humanReadableName: "Full next-generation layout (LFC)"
391   humanReadableDescription: "Enable full next-generation layout (LFC)"
392   webcoreBinding: RuntimeEnabledFeatures
393   condition: ENABLE(LAYOUT_FORMATTING_CONTEXT)
394   defaultValue:
395     WebKitLegacy:
396       default: false
397     WebKit:
398       default: false
399
400 LayoutFormattingContextIntegrationEnabled:
401   type: bool
402   humanReadableName: "Next-generation line layout integration (LFC)"
403   humanReadableDescription: "Enable next-generation line layout integration (LFC)"
404   webcoreBinding: RuntimeEnabledFeatures
405   condition: ENABLE(LAYOUT_FORMATTING_CONTEXT)
406   defaultValue:
407     WebKitLegacy:
408       default: true
409     WebKit:
410       default: true
411
412 LegacyOverflowScrollingTouchEnabled:
413   type: bool
414   humanReadableName: "Legacy -webkit-overflow-scrolling property"
415   humanReadableDescription: "Support the legacy -webkit-overflow-scrolling CSS property"
416   condition: ENABLE(OVERFLOW_SCROLLING_TOUCH)
417   defaultValue:
418     WebKitLegacy:
419       default: true
420     WebKit:
421       default: true
422
423 LineHeightUnitsEnabled:
424   type: bool
425   humanReadableName: "lh / rlh units"
426   humanReadableDescription: "Enable the lh and lhr units"
427   webcoreBinding: RuntimeEnabledFeatures
428   defaultValue:
429     WebKitLegacy:
430       default: false
431     WebKit:
432       default: false
433
434 LiveRangeSelectionEnabled:
435   type: bool
436   defaultValue: false
437   humanReadableName: "Live Ranges in Selection"
438   humanReadableDescription: "Live range behavior for ranges in the Selection object"
439   defaultValue:
440     WebKitLegacy:
441       default: false
442     WebKit:
443       default: false
444
445 MediaCaptureRequiresSecureConnection:
446   type: bool
447   humanReadableName: "Limit Media Capture to Secure Sites"
448   humanReadableDescription: "Limit Media Capture to Secure Sites"
449   condition: ENABLE(MEDIA_STREAM)
450   defaultValue:
451     WebKitLegacy:
452       default: true
453     WebKit:
454       default: true
455
456 MockCaptureDevicesEnabled:
457   type: bool
458   defaultValue: DEFAULT_MOCK_CAPTURE_DEVICES_ENABLED
459   condition: ENABLE(MEDIA_STREAM)
460   humanReadableName: "Enable Mock Capture Devices"
461   humanReadableDescription: "Enable Mock Capture Devices"
462   defaultValue:
463     WebKitLegacy:
464       default: false
465     WebKit:
466       "PLATFORM(IOS_FAMILY_SIMULATOR)": true
467       default: false
468
469 MouseEventsSimulationEnabled:
470   type: bool
471   humanReadableName: "Mouse events simulation"
472   humanReadableDescription: "Enable mouse events dispatch along with touch events on iOS"
473   webcoreBinding: RuntimeEnabledFeatures
474   condition: ENABLE(TOUCH_EVENTS)
475   defaultValue:
476     WebKitLegacy:
477       default: false
478     WebKit:
479       default: false
480
481 OffscreenCanvasEnabled:
482   type: bool
483   humanReadableName: "OffscreenCanvas"
484   humanReadableDescription: "Support for the OffscreenCanvas APIs"
485   webcoreBinding: RuntimeEnabledFeatures
486   condition: ENABLE(OFFSCREEN_CANVAS)
487   defaultValue:
488     WebKitLegacy:
489       default: false
490     WebKit:
491       "ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true
492       default: false
493
494 PreferFasterClickOverDoubleTap:
495   type: bool
496   humanReadableName: "Fast clicks beat DTTZ"
497   humanReadableDescription: "Prefer a faster click over a double tap"
498   webcoreBinding: none
499   condition: PLATFORM(IOS_FAMILY)
500   exposed: [ WebKit ]
501   defaultValue:
502     WebKit:
503       "PLATFORM(IOS_FAMILY) && !PLATFORM(WATCHOS)": true
504       default: false
505
506 PrefixedWebAudioEnabled:
507   type: bool
508   humanReadableName: "Prefixed WebAudio API"
509   humanReadableDescription: "Prefixed WebAudio API"
510   condition: ENABLE(WEB_AUDIO)
511   defaultValue:
512     WebKitLegacy:
513       default: false
514     WebKit:
515       default: false
516
517 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
518 RestrictedHTTPResponseAccess:
519   type: bool
520   humanReadableName: "Filter HTTP Response for Web Processes"
521   humanReadableDescription: "Enable HTTP Response filtering for Web Processes"
522   webcoreBinding: RuntimeEnabledFeatures
523   defaultValue:
524     WebKitLegacy:
525       default: true
526     WebKit:
527       default: true
528
529 SecureContextChecksEnabled:
530   type: bool
531   humanReadableName: "Secure Context Checks"
532   humanReadableDescription: "Allow access to HTTPS-only Web APIs over HTTP"
533   webcoreBinding: RuntimeEnabledFeatures
534   defaultValue:
535     WebKitLegacy:
536       default: true
537     WebKit:
538       default: true
539
540 SelectionAcrossShadowBoundariesEnabled:
541   type: bool
542   humanReadableName: "Selection across shadow DOM"
543   humanReadableDescription: "Allow user-initiated selection across shadow DOM boundaries"
544   defaultValue:
545     WebKitLegacy:
546       default: true
547     WebKit:
548       default: true
549
550 # FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
551 ServiceWorkersEnabled:
552   type: bool
553   humanReadableName: "Service Workers"
554   humanReadableDescription: "Enable Service Workers"
555   webcoreBinding: RuntimeEnabledFeatures
556   webcoreName: serviceWorkerEnabled
557   condition: ENABLE(SERVICE_WORKER)
558   defaultValue:
559     WebKitLegacy:
560       default: false
561     WebKit:
562       "ENABLE(EXPERIMENTAL_FEATURES) || PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE)": true
563       default: false
564
565 SimpleLineLayoutEnabled:
566   type: bool
567   humanReadableName: "Simple line layout"
568   humanReadableDescription: "Enable simple line layout path (SLL)"
569   defaultValue:
570     WebKitLegacy:
571       default: true
572     WebKit:
573       default: true
574
575 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
576 SpeakerSelectionRequiresUserGesture:
577   type: bool
578   humanReadableName: "Require a user gesture for speaker selection"
579   humanReadableDescription: "Require a user gesture for speaker selection"
580   condition: ENABLE(MEDIA_STREAM)
581   defaultValue:
582     WebKitLegacy:
583       default: true
584     WebKit:
585       default: true
586
587 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
588 TextAutosizingUsesIdempotentMode:
589   type: bool
590   humanReadableName: "Idempotent Text Autosizing"
591   humanReadableDescription: "Use idempotent text autosizing mode"
592   condition: ENABLE(TEXT_AUTOSIZING)
593   defaultValue:
594     WebKitLegacy:
595       default: false
596     WebKit:
597       "PLATFORM(IOS_FAMILY)": defaultTextAutosizingUsesIdempotentMode()
598       default: false
599
600 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
601 UndoManagerAPIEnabled:
602   type: bool
603   defaultValue: false
604   humanReadableName: "UndoManager DOM API"
605   humanReadableDescription: "Enable the UndoManager DOM API"
606   defaultValue:
607     WebKitLegacy:
608       default: false
609     WebKit:
610       default: false
611
612 UseGPUProcessForCanvasRenderingEnabled:
613   type: bool
614   humanReadableName: "GPU Process: Canvas Rendering"
615   humanReadableDescription: "Enable canvas rendering in GPU Process"
616   webcoreBinding: none
617   condition: ENABLE(GPU_PROCESS)
618   exposed: [ WebKit ]
619   defaultValue:
620     WebKit:
621       default: defaultUseGPUProcessForCanvasRenderingEnabled()
622
623 UseGPUProcessForDOMRenderingEnabled:
624   type: bool
625   humanReadableName: "GPU Process: DOM Rendering"
626   humanReadableDescription: "Enable DOM rendering in GPU Process"
627   webcoreBinding: none
628   condition: ENABLE(GPU_PROCESS)
629   exposed: [ WebKit ]
630   defaultValue:
631     WebKit:
632       default: defaultUseGPUProcessForDOMRenderingEnabled()
633
634 UseGPUProcessForMediaEnabled:
635   type: bool
636   humanReadableName: "GPU Process: Media"
637   humanReadableDescription: "Do all media loading and playback in the GPU Process"
638   condition: ENABLE(GPU_PROCESS)
639   exposed: [ WebKit ]
640   defaultValue:
641     WebKit:
642       default: defaultUseGPUProcessForMediaEnabled()
643
644 UseGPUProcessForWebGLEnabled:
645   type: bool
646   humanReadableName: "GPU Process: WebGL"
647   humanReadableDescription: "Enable WebGL in GPU Process"
648   webcoreBinding: none
649   condition: ENABLE(GPU_PROCESS)
650   exposed: [ WebKit ]
651   defaultValue:
652     WebKit:
653       default: defaultUseGPUProcessForWebGLEnabled()
654
655 WebAPIStatisticsEnabled:
656   type: bool
657   humanReadableName: "Web API Statistics"
658   humanReadableDescription: "Enable Web API Statistics"
659   webcoreBinding: RuntimeEnabledFeatures
660   defaultValue:
661     WebKitLegacy:
662       default: false
663     WebKit:
664       default: false
665
666 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
667 WebRTCDTMFEnabled:
668   type: bool
669   humanReadableName: "WebRTC DTMF"
670   humanReadableDescription: "Enable WebRTC DTMF"
671   webcoreBinding: RuntimeEnabledFeatures
672   condition: ENABLE(WEB_RTC)
673   defaultValue:
674     WebKitLegacy:
675       default: true
676     WebKit:
677       default: true
678
679 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
680 WebRTCH264HardwareEncoderEnabled:
681   type: bool
682   humanReadableName: "WebRTC H264 Hardware encoder"
683   humanReadableDescription: "Enable H264 Hardware encoder"
684   webcoreBinding: none
685   condition: ENABLE(WEB_RTC)
686   defaultValue:
687     WebKitLegacy:
688       default: true
689     WebKit:
690       default: true
691
692 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
693 WebRTCH264SimulcastEnabled:
694   type: bool
695   humanReadableName: "WebRTC H264 Simulcast"
696   humanReadableDescription: "Enable WebRTC H264 Simulcast"
697   webcoreBinding: RuntimeEnabledFeatures
698   condition: ENABLE(WEB_RTC)
699   defaultValue:
700     WebKitLegacy:
701       default: true
702     WebKit:
703       default: true
704
705 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
706 WebRTCMDNSICECandidatesEnabled:
707   type: bool
708   humanReadableName: "WebRTC mDNS ICE candidates"
709   humanReadableDescription: "Enable WebRTC mDNS ICE candidates"
710   webcoreBinding: RuntimeEnabledFeatures
711   condition: ENABLE(WEB_RTC)
712   defaultValue:
713     WebKitLegacy:
714       default: false
715     WebKit:
716       default: true
717
718 ZoomOnDoubleTapWhenRoot:
719   type: bool
720   condition: PLATFORM(IOS_FAMILY)
721   humanReadableName: "DTTZ also when root"
722   humanReadableDescription: "Double taps zoom, even if we dispatched a click on the root nodes"
723   webcoreBinding: none
724   exposed: [ WebKit ]
725   defaultValue:
726     WebKit:
727       default: false