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