1/*
2 * Copyright (C) 2010, 2012 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 * 1. Redistributions of source code must retain the above copyright
8 *    notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 *    notice, this list of conditions and the following disclaimer in the
11 *    documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include "config.h"
27
28#include "WKPreferencesRef.h"
29#include "WKPreferencesRefPrivate.h"
30#include "WKAPICast.h"
31#include "WebContext.h"
32#include "WebPreferences.h"
33#include <WebCore/Settings.h>
34#include <wtf/PassRefPtr.h>
35#include <wtf/RefPtr.h>
36
37using namespace WebKit;
38
39WKTypeID WKPreferencesGetTypeID()
40{
41    return toAPI(WebPreferences::APIType);
42}
43
44WKPreferencesRef WKPreferencesCreate()
45{
46    RefPtr<WebPreferences> preferences = WebPreferences::createWithLegacyDefaults(String(), "WebKit2.", "WebKit2.");
47    return toAPI(preferences.release().leakRef());
48}
49
50WKPreferencesRef WKPreferencesCreateWithIdentifier(WKStringRef identifierRef)
51{
52    RefPtr<WebPreferences> preferences = WebPreferences::createWithLegacyDefaults(toWTFString(identifierRef), "WebKit2.", "WebKit2.");
53    return toAPI(preferences.release().leakRef());
54}
55
56WKPreferencesRef WKPreferencesCreateCopy(WKPreferencesRef preferencesRef)
57{
58    RefPtr<WebPreferences> preferences = toImpl(preferencesRef)->copy();
59    return toAPI(preferences.release().leakRef());
60}
61
62void WKPreferencesSetJavaScriptEnabled(WKPreferencesRef preferencesRef, bool javaScriptEnabled)
63{
64    toImpl(preferencesRef)->setJavaScriptEnabled(javaScriptEnabled);
65}
66
67bool WKPreferencesGetJavaScriptEnabled(WKPreferencesRef preferencesRef)
68{
69    return toImpl(preferencesRef)->javaScriptEnabled();
70}
71
72void WKPreferencesSetJavaScriptMarkupEnabled(WKPreferencesRef preferencesRef, bool javaScriptMarkupEnabled)
73{
74    toImpl(preferencesRef)->setJavaScriptMarkupEnabled(javaScriptMarkupEnabled);
75}
76
77bool WKPreferencesGetJavaScriptMarkupEnabled(WKPreferencesRef preferencesRef)
78{
79    return toImpl(preferencesRef)->javaScriptMarkupEnabled();
80}
81
82void WKPreferencesSetLoadsImagesAutomatically(WKPreferencesRef preferencesRef, bool loadsImagesAutomatically)
83{
84    toImpl(preferencesRef)->setLoadsImagesAutomatically(loadsImagesAutomatically);
85}
86
87bool WKPreferencesGetLoadsImagesAutomatically(WKPreferencesRef preferencesRef)
88{
89    return toImpl(preferencesRef)->loadsImagesAutomatically();
90}
91
92void WKPreferencesSetLoadsSiteIconsIgnoringImageLoadingPreference(WKPreferencesRef preferencesRef, bool loadsSiteIconsIgnoringImageLoadingPreference)
93{
94    toImpl(preferencesRef)->setLoadsSiteIconsIgnoringImageLoadingPreference(loadsSiteIconsIgnoringImageLoadingPreference);
95}
96
97bool WKPreferencesGetLoadsSiteIconsIgnoringImageLoadingPreference(WKPreferencesRef preferencesRef)
98{
99    return toImpl(preferencesRef)->loadsSiteIconsIgnoringImageLoadingPreference();
100}
101
102void WKPreferencesSetOfflineWebApplicationCacheEnabled(WKPreferencesRef preferencesRef, bool offlineWebApplicationCacheEnabled)
103{
104    toImpl(preferencesRef)->setOfflineWebApplicationCacheEnabled(offlineWebApplicationCacheEnabled);
105}
106
107bool WKPreferencesGetOfflineWebApplicationCacheEnabled(WKPreferencesRef preferencesRef)
108{
109    return toImpl(preferencesRef)->offlineWebApplicationCacheEnabled();
110}
111
112void WKPreferencesSetLocalStorageEnabled(WKPreferencesRef preferencesRef, bool localStorageEnabled)
113{
114    toImpl(preferencesRef)->setLocalStorageEnabled(localStorageEnabled);
115}
116
117bool WKPreferencesGetLocalStorageEnabled(WKPreferencesRef preferencesRef)
118{
119    return toImpl(preferencesRef)->localStorageEnabled();
120}
121
122void WKPreferencesSetDatabasesEnabled(WKPreferencesRef preferencesRef, bool databasesEnabled)
123{
124    toImpl(preferencesRef)->setDatabasesEnabled(databasesEnabled);
125}
126
127bool WKPreferencesGetDatabasesEnabled(WKPreferencesRef preferencesRef)
128{
129    return toImpl(preferencesRef)->databasesEnabled();
130}
131
132void WKPreferencesSetXSSAuditorEnabled(WKPreferencesRef preferencesRef, bool xssAuditorEnabled)
133{
134    toImpl(preferencesRef)->setXSSAuditorEnabled(xssAuditorEnabled);
135}
136
137bool WKPreferencesGetXSSAuditorEnabled(WKPreferencesRef preferencesRef)
138{
139    return toImpl(preferencesRef)->xssAuditorEnabled();
140}
141
142void WKPreferencesSetFrameFlatteningEnabled(WKPreferencesRef preferencesRef, bool frameFlatteningEnabled)
143{
144    toImpl(preferencesRef)->setFrameFlatteningEnabled(frameFlatteningEnabled);
145}
146
147bool WKPreferencesGetFrameFlatteningEnabled(WKPreferencesRef preferencesRef)
148{
149    return toImpl(preferencesRef)->frameFlatteningEnabled();
150}
151
152void WKPreferencesSetPluginsEnabled(WKPreferencesRef preferencesRef, bool pluginsEnabled)
153{
154    toImpl(preferencesRef)->setPluginsEnabled(pluginsEnabled);
155}
156
157bool WKPreferencesGetPluginsEnabled(WKPreferencesRef preferencesRef)
158{
159    return toImpl(preferencesRef)->pluginsEnabled();
160}
161
162void WKPreferencesSetJavaEnabled(WKPreferencesRef preferencesRef, bool javaEnabled)
163{
164    toImpl(preferencesRef)->setJavaEnabled(javaEnabled);
165}
166
167bool WKPreferencesGetJavaEnabled(WKPreferencesRef preferencesRef)
168{
169    return toImpl(preferencesRef)->javaEnabled();
170}
171
172void WKPreferencesSetJavaEnabledForLocalFiles(WKPreferencesRef preferencesRef, bool javaEnabledForLocalFiles)
173{
174    toImpl(preferencesRef)->setJavaEnabledForLocalFiles(javaEnabledForLocalFiles);
175}
176
177bool WKPreferencesGetJavaEnabledForLocalFiles(WKPreferencesRef preferencesRef)
178{
179    return toImpl(preferencesRef)->javaEnabledForLocalFiles();
180}
181
182void WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(WKPreferencesRef preferencesRef, bool javaScriptCanOpenWindowsAutomatically)
183{
184    toImpl(preferencesRef)->setJavaScriptCanOpenWindowsAutomatically(javaScriptCanOpenWindowsAutomatically);
185}
186
187bool WKPreferencesGetJavaScriptCanOpenWindowsAutomatically(WKPreferencesRef preferencesRef)
188{
189    return toImpl(preferencesRef)->javaScriptCanOpenWindowsAutomatically();
190}
191
192void WKPreferencesSetHyperlinkAuditingEnabled(WKPreferencesRef preferencesRef, bool hyperlinkAuditingEnabled)
193{
194    toImpl(preferencesRef)->setHyperlinkAuditingEnabled(hyperlinkAuditingEnabled);
195}
196
197bool WKPreferencesGetHyperlinkAuditingEnabled(WKPreferencesRef preferencesRef)
198{
199    return toImpl(preferencesRef)->hyperlinkAuditingEnabled();
200}
201
202void WKPreferencesSetStandardFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
203{
204    toImpl(preferencesRef)->setStandardFontFamily(toWTFString(family));
205}
206
207WKStringRef WKPreferencesCopyStandardFontFamily(WKPreferencesRef preferencesRef)
208{
209    return toCopiedAPI(toImpl(preferencesRef)->standardFontFamily());
210}
211
212void WKPreferencesSetFixedFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
213{
214    toImpl(preferencesRef)->setFixedFontFamily(toWTFString(family));
215}
216
217WKStringRef WKPreferencesCopyFixedFontFamily(WKPreferencesRef preferencesRef)
218{
219    return toCopiedAPI(toImpl(preferencesRef)->fixedFontFamily());
220}
221
222void WKPreferencesSetSerifFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
223{
224    toImpl(preferencesRef)->setSerifFontFamily(toWTFString(family));
225}
226
227WKStringRef WKPreferencesCopySerifFontFamily(WKPreferencesRef preferencesRef)
228{
229    return toCopiedAPI(toImpl(preferencesRef)->serifFontFamily());
230}
231
232void WKPreferencesSetSansSerifFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
233{
234    toImpl(preferencesRef)->setSansSerifFontFamily(toWTFString(family));
235}
236
237WKStringRef WKPreferencesCopySansSerifFontFamily(WKPreferencesRef preferencesRef)
238{
239    return toCopiedAPI(toImpl(preferencesRef)->sansSerifFontFamily());
240}
241
242void WKPreferencesSetCursiveFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
243{
244    toImpl(preferencesRef)->setCursiveFontFamily(toWTFString(family));
245}
246
247WKStringRef WKPreferencesCopyCursiveFontFamily(WKPreferencesRef preferencesRef)
248{
249    return toCopiedAPI(toImpl(preferencesRef)->cursiveFontFamily());
250}
251
252void WKPreferencesSetFantasyFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
253{
254    toImpl(preferencesRef)->setFantasyFontFamily(toWTFString(family));
255}
256
257WKStringRef WKPreferencesCopyFantasyFontFamily(WKPreferencesRef preferencesRef)
258{
259    return toCopiedAPI(toImpl(preferencesRef)->fantasyFontFamily());
260}
261
262void WKPreferencesSetPictographFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
263{
264    toImpl(preferencesRef)->setPictographFontFamily(toWTFString(family));
265}
266
267WKStringRef WKPreferencesCopyPictographFontFamily(WKPreferencesRef preferencesRef)
268{
269    return toCopiedAPI(toImpl(preferencesRef)->pictographFontFamily());
270}
271
272void WKPreferencesSetDefaultFontSize(WKPreferencesRef preferencesRef, uint32_t size)
273{
274    toImpl(preferencesRef)->setDefaultFontSize(size);
275}
276
277uint32_t WKPreferencesGetDefaultFontSize(WKPreferencesRef preferencesRef)
278{
279    return toImpl(preferencesRef)->defaultFontSize();
280}
281
282void WKPreferencesSetDefaultFixedFontSize(WKPreferencesRef preferencesRef, uint32_t size)
283{
284    toImpl(preferencesRef)->setDefaultFixedFontSize(size);
285}
286
287uint32_t WKPreferencesGetDefaultFixedFontSize(WKPreferencesRef preferencesRef)
288{
289    return toImpl(preferencesRef)->defaultFixedFontSize();
290}
291
292void WKPreferencesSetMinimumFontSize(WKPreferencesRef preferencesRef, uint32_t size)
293{
294    toImpl(preferencesRef)->setMinimumFontSize(size);
295}
296
297uint32_t WKPreferencesGetMinimumFontSize(WKPreferencesRef preferencesRef)
298{
299    return toImpl(preferencesRef)->minimumFontSize();
300}
301
302void WKPreferencesSetScreenFontSubstitutionEnabled(WKPreferencesRef preferencesRef, bool enabled)
303{
304    toImpl(preferencesRef)->setScreenFontSubstitutionEnabled(enabled);
305}
306
307bool WKPreferencesGetScreenFontSubstitutionEnabled(WKPreferencesRef preferencesRef)
308{
309    return toImpl(preferencesRef)->screenFontSubstitutionEnabled();
310}
311
312void WKPreferencesSetCookieEnabled(WKPreferencesRef preferencesRef, bool enabled)
313{
314    toImpl(preferencesRef)->setCookieEnabled(enabled);
315}
316
317bool WKPreferencesGetCookieEnabled(WKPreferencesRef preferencesRef)
318{
319    return toImpl(preferencesRef)->cookieEnabled();
320}
321
322void WKPreferencesSetEditableLinkBehavior(WKPreferencesRef preferencesRef, WKEditableLinkBehavior wkBehavior)
323{
324    toImpl(preferencesRef)->setEditableLinkBehavior(toEditableLinkBehavior(wkBehavior));
325}
326
327WKEditableLinkBehavior WKPreferencesGetEditableLinkBehavior(WKPreferencesRef preferencesRef)
328{
329    return toAPI(static_cast<WebCore::EditableLinkBehavior>(toImpl(preferencesRef)->editableLinkBehavior()));
330}
331
332void WKPreferencesSetDefaultTextEncodingName(WKPreferencesRef preferencesRef, WKStringRef name)
333{
334    toImpl(preferencesRef)->setDefaultTextEncodingName(toWTFString(name));
335}
336
337WKStringRef WKPreferencesCopyDefaultTextEncodingName(WKPreferencesRef preferencesRef)
338{
339    return toCopiedAPI(toImpl(preferencesRef)->defaultTextEncodingName());
340}
341
342void WKPreferencesSetPrivateBrowsingEnabled(WKPreferencesRef preferencesRef, bool enabled)
343{
344    toImpl(preferencesRef)->setPrivateBrowsingEnabled(enabled);
345}
346
347bool WKPreferencesGetPrivateBrowsingEnabled(WKPreferencesRef preferencesRef)
348{
349    return toImpl(preferencesRef)->privateBrowsingEnabled();
350}
351
352void WKPreferencesSetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef, bool enabled)
353{
354    toImpl(preferencesRef)->setDeveloperExtrasEnabled(enabled);
355}
356
357bool WKPreferencesGetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef)
358{
359    return toImpl(preferencesRef)->developerExtrasEnabled();
360}
361
362void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled)
363{
364    toImpl(preferencesRef)->setJavaScriptExperimentsEnabled(enabled);
365}
366
367bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef)
368{
369    return toImpl(preferencesRef)->javaScriptExperimentsEnabled();
370}
371
372void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable)
373{
374    toImpl(preferencesRef)->setTextAreasAreResizable(resizable);
375}
376
377bool WKPreferencesGetTextAreasAreResizable(WKPreferencesRef preferencesRef)
378{
379    return toImpl(preferencesRef)->textAreasAreResizable();
380}
381
382void WKPreferencesSetFontSmoothingLevel(WKPreferencesRef preferencesRef, WKFontSmoothingLevel wkLevel)
383{
384    toImpl(preferencesRef)->setFontSmoothingLevel(toFontSmoothingLevel(wkLevel));
385}
386
387WKFontSmoothingLevel WKPreferencesGetFontSmoothingLevel(WKPreferencesRef preferencesRef)
388{
389    return toAPI(static_cast<FontSmoothingLevel>(toImpl(preferencesRef)->fontSmoothingLevel()));
390}
391
392void WKPreferencesSetAcceleratedDrawingEnabled(WKPreferencesRef preferencesRef, bool flag)
393{
394    toImpl(preferencesRef)->setAcceleratedDrawingEnabled(flag);
395}
396
397bool WKPreferencesGetAcceleratedDrawingEnabled(WKPreferencesRef preferencesRef)
398{
399    return toImpl(preferencesRef)->acceleratedDrawingEnabled();
400}
401
402void WKPreferencesSetCanvasUsesAcceleratedDrawing(WKPreferencesRef preferencesRef, bool flag)
403{
404    toImpl(preferencesRef)->setCanvasUsesAcceleratedDrawing(flag);
405}
406
407bool WKPreferencesGetCanvasUsesAcceleratedDrawing(WKPreferencesRef preferencesRef)
408{
409    return toImpl(preferencesRef)->canvasUsesAcceleratedDrawing();
410}
411
412void WKPreferencesSetAcceleratedCompositingEnabled(WKPreferencesRef preferencesRef, bool flag)
413{
414    toImpl(preferencesRef)->setAcceleratedCompositingEnabled(flag);
415}
416
417bool WKPreferencesGetAcceleratedCompositingEnabled(WKPreferencesRef preferencesRef)
418{
419    return toImpl(preferencesRef)->acceleratedCompositingEnabled();
420}
421
422void WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled(WKPreferencesRef preferencesRef, bool flag)
423{
424    toImpl(preferencesRef)->setAcceleratedCompositingForOverflowScrollEnabled(flag);
425}
426
427bool WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled(WKPreferencesRef preferencesRef)
428{
429    return toImpl(preferencesRef)->acceleratedCompositingForOverflowScrollEnabled();
430}
431
432void WKPreferencesSetCompositingBordersVisible(WKPreferencesRef preferencesRef, bool flag)
433{
434    toImpl(preferencesRef)->setCompositingBordersVisible(flag);
435}
436
437bool WKPreferencesGetCompositingBordersVisible(WKPreferencesRef preferencesRef)
438{
439    return toImpl(preferencesRef)->compositingBordersVisible();
440}
441
442void WKPreferencesSetCompositingRepaintCountersVisible(WKPreferencesRef preferencesRef, bool flag)
443{
444    toImpl(preferencesRef)->setCompositingRepaintCountersVisible(flag);
445}
446
447bool WKPreferencesGetCompositingRepaintCountersVisible(WKPreferencesRef preferencesRef)
448{
449    return toImpl(preferencesRef)->compositingRepaintCountersVisible();
450}
451
452void WKPreferencesSetTiledScrollingIndicatorVisible(WKPreferencesRef preferencesRef, bool flag)
453{
454    toImpl(preferencesRef)->setTiledScrollingIndicatorVisible(flag);
455}
456
457bool WKPreferencesGetTiledScrollingIndicatorVisible(WKPreferencesRef preferencesRef)
458{
459    return toImpl(preferencesRef)->tiledScrollingIndicatorVisible();
460}
461
462void WKPreferencesSetWebGLEnabled(WKPreferencesRef preferencesRef, bool flag)
463{
464    toImpl(preferencesRef)->setWebGLEnabled(flag);
465}
466
467bool WKPreferencesGetWebGLEnabled(WKPreferencesRef preferencesRef)
468{
469    return toImpl(preferencesRef)->webGLEnabled();
470}
471
472void WKPreferencesSetMultithreadedWebGLEnabled(WKPreferencesRef preferencesRef, bool flag)
473{
474    toImpl(preferencesRef)->setMultithreadedWebGLEnabled(flag);
475}
476
477bool WKPreferencesGetMultithreadedWebGLEnabled(WKPreferencesRef preferencesRef)
478{
479    return toImpl(preferencesRef)->multithreadedWebGLEnabled();
480}
481
482void WKPreferencesSetForceSoftwareWebGLRendering(WKPreferencesRef preferencesRef, bool flag)
483{
484    toImpl(preferencesRef)->setForceSoftwareWebGLRendering(flag);
485}
486
487bool WKPreferencesGetForceSoftwareWebGLRendering(WKPreferencesRef preferencesRef)
488{
489    return toImpl(preferencesRef)->forceSoftwareWebGLRendering();
490}
491
492void WKPreferencesSetAccelerated2DCanvasEnabled(WKPreferencesRef preferencesRef, bool flag)
493{
494    toImpl(preferencesRef)->setAccelerated2dCanvasEnabled(flag);
495}
496
497bool WKPreferencesGetAccelerated2DCanvasEnabled(WKPreferencesRef preferencesRef)
498{
499    return toImpl(preferencesRef)->accelerated2dCanvasEnabled();
500}
501
502void WKPreferencesSetCSSRegionsEnabled(WKPreferencesRef preferencesRef, bool flag)
503{
504    toImpl(preferencesRef)->setCSSRegionsEnabled(flag);
505}
506
507bool WKPreferencesGetCSSRegionsEnabled(WKPreferencesRef preferencesRef)
508{
509    return toImpl(preferencesRef)->cssRegionsEnabled();
510}
511
512void WKPreferencesSetNeedsSiteSpecificQuirks(WKPreferencesRef preferencesRef, bool flag)
513{
514    toImpl(preferencesRef)->setNeedsSiteSpecificQuirks(flag);
515}
516
517bool WKPreferencesUseLegacyTextAlignPositionedElementBehavior(WKPreferencesRef preferencesRef)
518{
519    return toImpl(preferencesRef)->useLegacyTextAlignPositionedElementBehavior();
520}
521
522void WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior(WKPreferencesRef preferencesRef, bool flag)
523{
524    toImpl(preferencesRef)->setUseLegacyTextAlignPositionedElementBehavior(flag);
525}
526
527bool WKPreferencesGetNeedsSiteSpecificQuirks(WKPreferencesRef preferencesRef)
528{
529    return toImpl(preferencesRef)->needsSiteSpecificQuirks();
530}
531
532void WKPreferencesSetForceFTPDirectoryListings(WKPreferencesRef preferencesRef, bool flag)
533{
534    toImpl(preferencesRef)->setForceFTPDirectoryListings(flag);
535}
536
537bool WKPreferencesGetForceFTPDirectoryListings(WKPreferencesRef preferencesRef)
538{
539    return toImpl(preferencesRef)->forceFTPDirectoryListings();
540}
541
542void WKPreferencesSetFTPDirectoryTemplatePath(WKPreferencesRef preferencesRef, WKStringRef pathRef)
543{
544    toImpl(preferencesRef)->setFTPDirectoryTemplatePath(toWTFString(pathRef));
545}
546
547WKStringRef WKPreferencesCopyFTPDirectoryTemplatePath(WKPreferencesRef preferencesRef)
548{
549    return toCopiedAPI(toImpl(preferencesRef)->ftpDirectoryTemplatePath());
550}
551
552void WKPreferencesSetTabsToLinks(WKPreferencesRef preferencesRef, bool tabsToLinks)
553{
554    toImpl(preferencesRef)->setTabsToLinks(tabsToLinks);
555}
556
557bool WKPreferencesGetTabsToLinks(WKPreferencesRef preferencesRef)
558{
559    return toImpl(preferencesRef)->tabsToLinks();
560}
561
562void WKPreferencesSetDNSPrefetchingEnabled(WKPreferencesRef preferencesRef, bool enabled)
563{
564    toImpl(preferencesRef)->setDNSPrefetchingEnabled(enabled);
565}
566
567bool WKPreferencesGetDNSPrefetchingEnabled(WKPreferencesRef preferencesRef)
568{
569    return toImpl(preferencesRef)->dnsPrefetchingEnabled();
570}
571
572void WKPreferencesSetAuthorAndUserStylesEnabled(WKPreferencesRef preferencesRef, bool enabled)
573{
574    toImpl(preferencesRef)->setAuthorAndUserStylesEnabled(enabled);
575}
576
577bool WKPreferencesGetAuthorAndUserStylesEnabled(WKPreferencesRef preferencesRef)
578{
579    return toImpl(preferencesRef)->authorAndUserStylesEnabled();
580}
581
582void WKPreferencesSetShouldPrintBackgrounds(WKPreferencesRef preferencesRef, bool flag)
583{
584    toImpl(preferencesRef)->setShouldPrintBackgrounds(flag);
585}
586
587bool WKPreferencesGetShouldPrintBackgrounds(WKPreferencesRef preferencesRef)
588{
589    return toImpl(preferencesRef)->shouldPrintBackgrounds();
590}
591
592void WKPreferencesSetWebArchiveDebugModeEnabled(WKPreferencesRef preferencesRef, bool enabled)
593{
594    toImpl(preferencesRef)->setWebArchiveDebugModeEnabled(enabled);
595}
596
597bool WKPreferencesGetWebArchiveDebugModeEnabled(WKPreferencesRef preferencesRef)
598{
599    return toImpl(preferencesRef)->webArchiveDebugModeEnabled();
600}
601
602void WKPreferencesSetLocalFileContentSniffingEnabled(WKPreferencesRef preferencesRef, bool enabled)
603{
604    toImpl(preferencesRef)->setLocalFileContentSniffingEnabled(enabled);
605}
606
607bool WKPreferencesGetLocalFileContentSniffingEnabled(WKPreferencesRef preferencesRef)
608{
609    return toImpl(preferencesRef)->localFileContentSniffingEnabled();
610}
611
612void WKPreferencesSetPageCacheEnabled(WKPreferencesRef preferencesRef, bool enabled)
613{
614    toImpl(preferencesRef)->setUsesPageCache(enabled);
615}
616
617bool WKPreferencesGetPageCacheEnabled(WKPreferencesRef preferencesRef)
618{
619    return toImpl(preferencesRef)->usesPageCache();
620}
621
622void WKPreferencesSetPageCacheSupportsPlugins(WKPreferencesRef preferencesRef, bool pageCacheSupportsPlugins)
623{
624    toImpl(preferencesRef)->setPageCacheSupportsPlugins(pageCacheSupportsPlugins);
625}
626
627bool WKPreferencesGetPageCacheSupportsPlugins(WKPreferencesRef preferencesRef)
628{
629    return toImpl(preferencesRef)->pageCacheSupportsPlugins();
630}
631
632void WKPreferencesSetPaginateDuringLayoutEnabled(WKPreferencesRef preferencesRef, bool enabled)
633{
634    toImpl(preferencesRef)->setPaginateDuringLayoutEnabled(enabled);
635}
636
637bool WKPreferencesGetPaginateDuringLayoutEnabled(WKPreferencesRef preferencesRef)
638{
639    return toImpl(preferencesRef)->paginateDuringLayoutEnabled();
640}
641
642void WKPreferencesSetDOMPasteAllowed(WKPreferencesRef preferencesRef, bool enabled)
643{
644    toImpl(preferencesRef)->setDOMPasteAllowed(enabled);
645}
646
647bool WKPreferencesGetDOMPasteAllowed(WKPreferencesRef preferencesRef)
648{
649    return toImpl(preferencesRef)->domPasteAllowed();
650}
651
652void WKPreferencesSetJavaScriptCanAccessClipboard(WKPreferencesRef preferencesRef, bool enabled)
653{
654    toImpl(preferencesRef)->setJavaScriptCanAccessClipboard(enabled);
655}
656
657bool WKPreferencesGetJavaScriptCanAccessClipboard(WKPreferencesRef preferencesRef)
658{
659    return toImpl(preferencesRef)->javaScriptCanAccessClipboard();
660}
661
662void WKPreferencesSetFullScreenEnabled(WKPreferencesRef preferencesRef, bool enabled)
663{
664    toImpl(preferencesRef)->setFullScreenEnabled(enabled);
665}
666
667bool WKPreferencesGetFullScreenEnabled(WKPreferencesRef preferencesRef)
668{
669    return toImpl(preferencesRef)->fullScreenEnabled();
670}
671
672void WKPreferencesSetAsynchronousSpellCheckingEnabled(WKPreferencesRef preferencesRef, bool enabled)
673{
674    toImpl(preferencesRef)->setAsynchronousSpellCheckingEnabled(enabled);
675}
676
677bool WKPreferencesGetAsynchronousSpellCheckingEnabled(WKPreferencesRef preferencesRef)
678{
679    return toImpl(preferencesRef)->asynchronousSpellCheckingEnabled();
680}
681
682void WKPreferencesSetAVFoundationEnabled(WKPreferencesRef preferencesRef, bool enabled)
683{
684    toImpl(preferencesRef)->setAVFoundationEnabled(enabled);
685}
686
687bool WKPreferencesGetAVFoundationEnabled(WKPreferencesRef preferencesRef)
688{
689    return toImpl(preferencesRef)->isAVFoundationEnabled();
690}
691
692void WKPreferencesSetWebSecurityEnabled(WKPreferencesRef preferencesRef, bool enabled)
693{
694    toImpl(preferencesRef)->setWebSecurityEnabled(enabled);
695}
696
697bool WKPreferencesGetWebSecurityEnabled(WKPreferencesRef preferencesRef)
698{
699    return toImpl(preferencesRef)->webSecurityEnabled();
700}
701
702void WKPreferencesSetUniversalAccessFromFileURLsAllowed(WKPreferencesRef preferencesRef, bool allowed)
703{
704    toImpl(preferencesRef)->setAllowUniversalAccessFromFileURLs(allowed);
705}
706
707bool WKPreferencesGetUniversalAccessFromFileURLsAllowed(WKPreferencesRef preferencesRef)
708{
709    return toImpl(preferencesRef)->allowUniversalAccessFromFileURLs();
710}
711
712void WKPreferencesSetFileAccessFromFileURLsAllowed(WKPreferencesRef preferencesRef, bool allowed)
713{
714    toImpl(preferencesRef)->setAllowFileAccessFromFileURLs(allowed);
715}
716
717bool WKPreferencesGetFileAccessFromFileURLsAllowed(WKPreferencesRef preferencesRef)
718{
719    return toImpl(preferencesRef)->allowFileAccessFromFileURLs();
720}
721
722void WKPreferencesSetHixie76WebSocketProtocolEnabled(WKPreferencesRef, bool /*enabled*/)
723{
724}
725
726bool WKPreferencesGetHixie76WebSocketProtocolEnabled(WKPreferencesRef)
727{
728    return false;
729}
730
731void WKPreferencesSetMediaPlaybackRequiresUserGesture(WKPreferencesRef preferencesRef, bool flag)
732{
733    toImpl(preferencesRef)->setMediaPlaybackRequiresUserGesture(flag);
734}
735
736bool WKPreferencesGetMediaPlaybackRequiresUserGesture(WKPreferencesRef preferencesRef)
737{
738    return toImpl(preferencesRef)->mediaPlaybackRequiresUserGesture();
739}
740
741void WKPreferencesSetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef, bool flag)
742{
743    toImpl(preferencesRef)->setMediaPlaybackAllowsInline(flag);
744}
745
746bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef)
747{
748    return toImpl(preferencesRef)->mediaPlaybackAllowsInline();
749}
750
751void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag)
752{
753    toImpl(preferencesRef)->setShowsToolTipOverTruncatedText(flag);
754}
755
756bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef)
757{
758    return toImpl(preferencesRef)->showsToolTipOverTruncatedText();
759}
760
761void WKPreferencesSetMockScrollbarsEnabled(WKPreferencesRef preferencesRef, bool flag)
762{
763    toImpl(preferencesRef)->setMockScrollbarsEnabled(flag);
764}
765
766bool WKPreferencesGetMockScrollbarsEnabled(WKPreferencesRef preferencesRef)
767{
768    return toImpl(preferencesRef)->mockScrollbarsEnabled();
769}
770
771void WKPreferencesSetWebAudioEnabled(WKPreferencesRef preferencesRef, bool enabled)
772{
773    toImpl(preferencesRef)->setWebAudioEnabled(enabled);
774}
775
776bool WKPreferencesGetWebAudioEnabled(WKPreferencesRef preferencesRef)
777{
778    return toImpl(preferencesRef)->webAudioEnabled();
779}
780
781void WKPreferencesSetApplicationChromeModeEnabled(WKPreferencesRef preferencesRef, bool enabled)
782{
783    toImpl(preferencesRef)->setApplicationChromeModeEnabled(enabled);
784}
785
786bool WKPreferencesGetApplicationChromeModeEnabled(WKPreferencesRef preferencesRef)
787{
788    return toImpl(preferencesRef)->applicationChromeMode();
789}
790
791void WKPreferencesSetInspectorUsesWebKitUserInterface(WKPreferencesRef, bool)
792{
793    // FIXME: Remove once WebKit nightlies don't need to support Safari 6 thru 7.
794}
795
796bool WKPreferencesGetInspectorUsesWebKitUserInterface(WKPreferencesRef)
797{
798    // FIXME: Remove once WebKit nightlies don't need to support Safari 6 thru 7.
799    return false;
800}
801
802void WKPreferencesSetSuppressesIncrementalRendering(WKPreferencesRef preferencesRef, bool enabled)
803{
804    toImpl(preferencesRef)->setSuppressesIncrementalRendering(enabled);
805}
806
807bool WKPreferencesGetSuppressesIncrementalRendering(WKPreferencesRef preferencesRef)
808{
809    return toImpl(preferencesRef)->suppressesIncrementalRendering();
810}
811
812void WKPreferencesSetBackspaceKeyNavigationEnabled(WKPreferencesRef preferencesRef, bool enabled)
813{
814    toImpl(preferencesRef)->setBackspaceKeyNavigationEnabled(enabled);
815}
816
817bool WKPreferencesGetBackspaceKeyNavigationEnabled(WKPreferencesRef preferencesRef)
818{
819    return toImpl(preferencesRef)->backspaceKeyNavigationEnabled();
820}
821
822void WKPreferencesSetCaretBrowsingEnabled(WKPreferencesRef preferencesRef, bool enabled)
823{
824    toImpl(preferencesRef)->setCaretBrowsingEnabled(enabled);
825}
826
827bool WKPreferencesGetCaretBrowsingEnabled(WKPreferencesRef preferencesRef)
828{
829    return toImpl(preferencesRef)->caretBrowsingEnabled();
830}
831
832void WKPreferencesSetShouldDisplaySubtitles(WKPreferencesRef preferencesRef, bool enabled)
833{
834    toImpl(preferencesRef)->setShouldDisplaySubtitles(enabled);
835}
836
837bool WKPreferencesGetShouldDisplaySubtitles(WKPreferencesRef preferencesRef)
838{
839    return toImpl(preferencesRef)->shouldDisplaySubtitles();
840}
841
842void WKPreferencesSetShouldDisplayCaptions(WKPreferencesRef preferencesRef, bool enabled)
843{
844    toImpl(preferencesRef)->setShouldDisplayCaptions(enabled);
845}
846
847bool WKPreferencesGetShouldDisplayCaptions(WKPreferencesRef preferencesRef)
848{
849    return toImpl(preferencesRef)->shouldDisplayCaptions();
850}
851
852void WKPreferencesSetShouldDisplayTextDescriptions(WKPreferencesRef preferencesRef, bool enabled)
853{
854    toImpl(preferencesRef)->setShouldDisplayTextDescriptions(enabled);
855}
856
857bool WKPreferencesGetShouldDisplayTextDescriptions(WKPreferencesRef preferencesRef)
858{
859    return toImpl(preferencesRef)->shouldDisplayTextDescriptions();
860}
861
862void WKPreferencesSetNotificationsEnabled(WKPreferencesRef preferencesRef, bool enabled)
863{
864    toImpl(preferencesRef)->setNotificationsEnabled(enabled);
865}
866
867bool WKPreferencesGetNotificationsEnabled(WKPreferencesRef preferencesRef)
868{
869    return toImpl(preferencesRef)->notificationsEnabled();
870}
871
872void WKPreferencesSetShouldRespectImageOrientation(WKPreferencesRef preferencesRef, bool enabled)
873{
874    toImpl(preferencesRef)->setShouldRespectImageOrientation(enabled);
875}
876
877bool WKPreferencesGetShouldRespectImageOrientation(WKPreferencesRef preferencesRef)
878{
879    return toImpl(preferencesRef)->shouldRespectImageOrientation();
880}
881
882void WKPreferencesSetRequestAnimationFrameEnabled(WKPreferencesRef preferencesRef, bool flag)
883{
884    toImpl(preferencesRef)->setRequestAnimationFrameEnabled(flag);
885}
886
887bool WKPreferencesGetRequestAnimationFrameEnabled(WKPreferencesRef preferencesRef)
888{
889    return toImpl(preferencesRef)->requestAnimationFrameEnabled();
890}
891
892void WKPreferencesSetStorageBlockingPolicy(WKPreferencesRef preferencesRef, WKStorageBlockingPolicy policy)
893{
894    toImpl(preferencesRef)->setStorageBlockingPolicy(toStorageBlockingPolicy(policy));
895}
896
897WKStorageBlockingPolicy WKPreferencesGetStorageBlockingPolicy(WKPreferencesRef preferencesRef)
898{
899    return toAPI(static_cast<WebCore::SecurityOrigin::StorageBlockingPolicy>(toImpl(preferencesRef)->storageBlockingPolicy()));
900}
901
902void WKPreferencesResetTestRunnerOverrides(WKPreferencesRef preferencesRef)
903{
904    // Currently we reset the overrides on the web process when preferencesDidChange() is called. Since WTR preferences
905    // are usually always the same (in the UI process), they are not sent to web process, not triggering the reset.
906    toImpl(preferencesRef)->forceUpdate();
907}
908
909void WKPreferencesSetDiagnosticLoggingEnabled(WKPreferencesRef preferencesRef, bool enabled)
910{
911    toImpl(preferencesRef)->setDiagnosticLoggingEnabled(enabled);
912}
913
914bool WKPreferencesGetDiagnosticLoggingEnabled(WKPreferencesRef preferencesRef)
915{
916    return toImpl(preferencesRef)->diagnosticLoggingEnabled();
917}
918
919void WKPreferencesSetAsynchronousPluginInitializationEnabled(WKPreferencesRef preferencesRef, bool enabled)
920{
921    toImpl(preferencesRef)->setAsynchronousPluginInitializationEnabled(enabled);
922}
923
924bool WKPreferencesGetAsynchronousPluginInitializationEnabled(WKPreferencesRef preferencesRef)
925{
926    return toImpl(preferencesRef)->asynchronousPluginInitializationEnabled();
927}
928
929void WKPreferencesSetAsynchronousPluginInitializationEnabledForAllPlugins(WKPreferencesRef preferencesRef, bool enabled)
930{
931    toImpl(preferencesRef)->setAsynchronousPluginInitializationEnabledForAllPlugins(enabled);
932}
933
934bool WKPreferencesGetAsynchronousPluginInitializationEnabledForAllPlugins(WKPreferencesRef preferencesRef)
935{
936    return toImpl(preferencesRef)->asynchronousPluginInitializationEnabledForAllPlugins();
937}
938
939void WKPreferencesSetArtificialPluginInitializationDelayEnabled(WKPreferencesRef preferencesRef, bool enabled)
940{
941    toImpl(preferencesRef)->setArtificialPluginInitializationDelayEnabled(enabled);
942}
943
944bool WKPreferencesGetArtificialPluginInitializationDelayEnabled(WKPreferencesRef preferencesRef)
945{
946    return toImpl(preferencesRef)->artificialPluginInitializationDelayEnabled();
947}
948
949void WKPreferencesSetTabToLinksEnabled(WKPreferencesRef preferencesRef, bool enabled)
950{
951    toImpl(preferencesRef)->setTabToLinksEnabled(enabled);
952}
953
954bool WKPreferencesGetTabToLinksEnabled(WKPreferencesRef preferencesRef)
955{
956    return toImpl(preferencesRef)->tabToLinksEnabled();
957}
958
959void WKPreferencesSetInteractiveFormValidationEnabled(WKPreferencesRef preferencesRef, bool enabled)
960{
961    toImpl(preferencesRef)->setInteractiveFormValidationEnabled(enabled);
962}
963
964bool WKPreferencesGetInteractiveFormValidationEnabled(WKPreferencesRef preferencesRef)
965{
966    return toImpl(preferencesRef)->interactiveFormValidationEnabled();
967}
968
969void WKPreferencesSetScrollingPerformanceLoggingEnabled(WKPreferencesRef preferencesRef, bool enabled)
970{
971    toImpl(preferencesRef)->setScrollingPerformanceLoggingEnabled(enabled);
972}
973
974bool WKPreferencesGetScrollingPerformanceLoggingEnabled(WKPreferencesRef preferencesRef)
975{
976    return toImpl(preferencesRef)->scrollingPerformanceLoggingEnabled();
977}
978
979void WKPreferencesSetPlugInSnapshottingEnabled(WKPreferencesRef preferencesRef, bool enabled)
980{
981    toImpl(preferencesRef)->setPlugInSnapshottingEnabled(enabled);
982}
983
984bool WKPreferencesGetPlugInSnapshottingEnabled(WKPreferencesRef preferencesRef)
985{
986    return toImpl(preferencesRef)->plugInSnapshottingEnabled();
987}
988
989void WKPreferencesSetSnapshotAllPlugIns(WKPreferencesRef preferencesRef, bool enabled)
990{
991    toImpl(preferencesRef)->setSnapshotAllPlugIns(enabled);
992}
993
994bool WKPreferencesGetSnapshotAllPlugIns(WKPreferencesRef preferencesRef)
995{
996    return toImpl(preferencesRef)->snapshotAllPlugIns();
997}
998
999void WKPreferencesSetAutostartOriginPlugInSnapshottingEnabled(WKPreferencesRef preferencesRef, bool enabled)
1000{
1001    toImpl(preferencesRef)->setAutostartOriginPlugInSnapshottingEnabled(enabled);
1002}
1003
1004bool WKPreferencesGetAutostartOriginPlugInSnapshottingEnabled(WKPreferencesRef preferencesRef)
1005{
1006    return toImpl(preferencesRef)->autostartOriginPlugInSnapshottingEnabled();
1007}
1008
1009void WKPreferencesSetPrimaryPlugInSnapshotDetectionEnabled(WKPreferencesRef preferencesRef, bool enabled)
1010{
1011    toImpl(preferencesRef)->setPrimaryPlugInSnapshotDetectionEnabled(enabled);
1012}
1013
1014bool WKPreferencesGetPrimaryPlugInSnapshotDetectionEnabled(WKPreferencesRef preferencesRef)
1015{
1016    return toImpl(preferencesRef)->primaryPlugInSnapshotDetectionEnabled();
1017}
1018
1019void WKPreferencesSetPDFPluginEnabled(WKPreferencesRef preferencesRef, bool enabled)
1020{
1021    toImpl(preferencesRef)->setPDFPluginEnabled(enabled);
1022}
1023
1024bool WKPreferencesGetPDFPluginEnabled(WKPreferencesRef preferencesRef)
1025{
1026    return toImpl(preferencesRef)->pdfPluginEnabled();
1027}
1028
1029void WKPreferencesSetEncodingDetectorEnabled(WKPreferencesRef preferencesRef, bool enabled)
1030{
1031    toImpl(preferencesRef)->setUsesEncodingDetector(enabled);
1032}
1033
1034bool WKPreferencesGetEncodingDetectorEnabled(WKPreferencesRef preferencesRef)
1035{
1036    return toImpl(preferencesRef)->usesEncodingDetector();
1037}
1038
1039void WKPreferencesSetTextAutosizingEnabled(WKPreferencesRef preferencesRef, bool textAutosizingEnabled)
1040{
1041    toImpl(preferencesRef)->setTextAutosizingEnabled(textAutosizingEnabled);
1042}
1043
1044bool WKPreferencesGetTextAutosizingEnabled(WKPreferencesRef preferencesRef)
1045{
1046    return toImpl(preferencesRef)->textAutosizingEnabled();
1047}
1048
1049void WKPreferencesSetAggressiveTileRetentionEnabled(WKPreferencesRef preferencesRef, bool enabled)
1050{
1051    toImpl(preferencesRef)->setAggressiveTileRetentionEnabled(enabled);
1052}
1053
1054bool WKPreferencesGetAggressiveTileRetentionEnabled(WKPreferencesRef preferencesRef)
1055{
1056    return toImpl(preferencesRef)->aggressiveTileRetentionEnabled();
1057}
1058
1059void WKPreferencesSetQTKitEnabled(WKPreferencesRef preferencesRef, bool enabled)
1060{
1061    toImpl(preferencesRef)->setQTKitEnabled(enabled);
1062}
1063
1064bool WKPreferencesGetQTKitEnabled(WKPreferencesRef preferencesRef)
1065{
1066    return toImpl(preferencesRef)->isQTKitEnabled();
1067}
1068
1069void WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferencesRef, bool enabled)
1070{
1071    toImpl(preferencesRef)->setLogsPageMessagesToSystemConsoleEnabled(enabled);
1072}
1073
1074bool WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferencesRef)
1075{
1076    return toImpl(preferencesRef)->logsPageMessagesToSystemConsoleEnabled();
1077}
1078
1079void WKPreferencesSetPageVisibilityBasedProcessSuppressionEnabled(WKPreferencesRef preferencesRef, bool enabled)
1080{
1081    toImpl(preferencesRef)->setPageVisibilityBasedProcessSuppressionEnabled(enabled);
1082}
1083
1084bool WKPreferencesGetPageVisibilityBasedProcessSuppressionEnabled(WKPreferencesRef preferencesRef)
1085{
1086    return toImpl(preferencesRef)->pageVisibilityBasedProcessSuppressionEnabled();
1087}
1088
1089void WKPreferencesSetSmartInsertDeleteEnabled(WKPreferencesRef preferencesRef, bool enabled)
1090{
1091    toImpl(preferencesRef)->setSmartInsertDeleteEnabled(enabled);
1092}
1093
1094bool WKPreferencesGetSmartInsertDeleteEnabled(WKPreferencesRef preferencesRef)
1095{
1096    return toImpl(preferencesRef)->smartInsertDeleteEnabled();
1097}
1098
1099void WKPreferencesSetSelectTrailingWhitespaceEnabled(WKPreferencesRef preferencesRef, bool enabled)
1100{
1101    toImpl(preferencesRef)->setSelectTrailingWhitespaceEnabled(enabled);
1102}
1103
1104bool WKPreferencesGetSelectTrailingWhitespaceEnabled(WKPreferencesRef preferencesRef)
1105{
1106    return toImpl(preferencesRef)->selectTrailingWhitespaceEnabled();
1107}
1108
1109void WKPreferencesSetShowsURLsInToolTipsEnabled(WKPreferencesRef preferencesRef, bool enabled)
1110{
1111    toImpl(preferencesRef)->setShowsURLsInToolTipsEnabled(enabled);
1112}
1113
1114bool WKPreferencesGetShowsURLsInToolTipsEnabled(WKPreferencesRef preferencesRef)
1115{
1116    return toImpl(preferencesRef)->showsURLsInToolTipsEnabled();
1117}
1118
1119void WKPreferencesSetHiddenPageDOMTimerThrottlingEnabled(WKPreferencesRef preferencesRef, bool enabled)
1120{
1121    toImpl(preferencesRef)->setHiddenPageDOMTimerThrottlingEnabled(enabled);
1122}
1123
1124bool WKPreferencesGetHiddenPageDOMTimerThrottlingEnabled(WKPreferencesRef preferencesRef)
1125{
1126    return toImpl(preferencesRef)->hiddenPageDOMTimerThrottlingEnabled();
1127}
1128
1129void WKPreferencesSetHiddenPageCSSAnimationSuspensionEnabled(WKPreferencesRef preferencesRef, bool enabled)
1130{
1131    toImpl(preferencesRef)->setHiddenPageCSSAnimationSuspensionEnabled(enabled);
1132}
1133
1134bool WKPreferencesGetHiddenPageCSSAnimationSuspensionEnabled(WKPreferencesRef preferencesRef)
1135{
1136    return toImpl(preferencesRef)->hiddenPageCSSAnimationSuspensionEnabled();
1137}
1138
1139void WKPreferencesSetIncrementalRenderingSuppressionTimeout(WKPreferencesRef preferencesRef, double timeout)
1140{
1141    toImpl(preferencesRef)->setIncrementalRenderingSuppressionTimeout(timeout);
1142}
1143
1144double WKPreferencesGetIncrementalRenderingSuppressionTimeout(WKPreferencesRef preferencesRef)
1145{
1146    return toAPI(toImpl(preferencesRef)->incrementalRenderingSuppressionTimeout());
1147}
1148
1149void WKPreferencesSetThreadedScrollingEnabled(WKPreferencesRef preferencesRef, bool enabled)
1150{
1151    toImpl(preferencesRef)->setThreadedScrollingEnabled(enabled);
1152}
1153
1154bool WKPreferencesGetThreadedScrollingEnabled(WKPreferencesRef preferencesRef)
1155{
1156    return toImpl(preferencesRef)->threadedScrollingEnabled();
1157}
1158
1159void WKPreferencesSetSimpleLineLayoutEnabled(WKPreferencesRef preferencesRef, bool flag)
1160{
1161    toImpl(preferencesRef)->setSimpleLineLayoutEnabled(flag);
1162}
1163
1164bool WKPreferencesGetSimpleLineLayoutEnabled(WKPreferencesRef preferencesRef)
1165{
1166    return toImpl(preferencesRef)->simpleLineLayoutEnabled();
1167}
1168
1169void WKPreferencesSetSimpleLineLayoutDebugBordersEnabled(WKPreferencesRef preferencesRef, bool flag)
1170{
1171    toImpl(preferencesRef)->setSimpleLineLayoutDebugBordersEnabled(flag);
1172}
1173
1174bool WKPreferencesGetSimpleLineLayoutDebugBordersEnabled(WKPreferencesRef preferencesRef)
1175{
1176    return toImpl(preferencesRef)->simpleLineLayoutDebugBordersEnabled();
1177}
1178
1179void WKPreferencesSetSubpixelCSSOMElementMetricsEnabled(WKPreferencesRef preferencesRef, bool flag)
1180{
1181    toImpl(preferencesRef)->setSubpixelCSSOMElementMetricsEnabled(flag);
1182}
1183
1184bool WKPreferencesGetSubpixelCSSOMElementMetricsEnabled(WKPreferencesRef preferencesRef)
1185{
1186    return toImpl(preferencesRef)->subpixelCSSOMElementMetricsEnabled();
1187}
1188
1189void WKPreferencesSetMediaStreamEnabled(WKPreferencesRef preferencesRef, bool enabled)
1190{
1191    toImpl(preferencesRef)->setMediaStreamEnabled(enabled);
1192}
1193
1194bool WKPreferencesGetMediaStreamEnabled(WKPreferencesRef preferencesRef)
1195{
1196    return toImpl(preferencesRef)->mediaStreamEnabled();
1197}
1198
1199void WKPreferencesSetSpatialNavigationEnabled(WKPreferencesRef preferencesRef, bool enabled)
1200{
1201    toImpl(preferencesRef)->setSpatialNavigationEnabled(enabled);
1202}
1203
1204bool WKPreferencesGetSpatialNavigationEnabled(WKPreferencesRef preferencesRef)
1205{
1206    return toImpl(preferencesRef)->spatialNavigationEnabled();
1207}
1208
1209void WKPreferencesSetMediaSourceEnabled(WKPreferencesRef preferencesRef, bool enabled)
1210{
1211    toImpl(preferencesRef)->setMediaSourceEnabled(enabled);
1212}
1213
1214bool WKPreferencesGetMediaSourceEnabled(WKPreferencesRef preferencesRef)
1215{
1216    return toImpl(preferencesRef)->mediaSourceEnabled();
1217}
1218
1219void WKPreferencesSetViewGestureDebuggingEnabled(WKPreferencesRef preferencesRef, bool enabled)
1220{
1221    toImpl(preferencesRef)->setViewGestureDebuggingEnabled(enabled);
1222}
1223
1224bool WKPreferencesGetViewGestureDebuggingEnabled(WKPreferencesRef preferencesRef)
1225{
1226    return toImpl(preferencesRef)->viewGestureDebuggingEnabled();
1227}
1228
1229void WKPreferencesSetShouldConvertPositionStyleOnCopy(WKPreferencesRef preferencesRef, bool convert)
1230{
1231    toImpl(preferencesRef)->setShouldConvertPositionStyleOnCopy(convert);
1232}
1233
1234bool WKPreferencesGetShouldConvertPositionStyleOnCopy(WKPreferencesRef preferencesRef)
1235{
1236    return toImpl(preferencesRef)->shouldConvertPositionStyleOnCopy();
1237}
1238
1239void WKPreferencesSetTelephoneNumberParsingEnabled(WKPreferencesRef preferencesRef, bool enabled)
1240{
1241    toImpl(preferencesRef)->setTelephoneNumberParsingEnabled(enabled);
1242}
1243
1244bool WKPreferencesGetTelephoneNumberParsingEnabled(WKPreferencesRef preferencesRef)
1245{
1246    return toImpl(preferencesRef)->telephoneNumberParsingEnabled();
1247}
1248
1249void WKPreferencesSetEnableInheritURIQueryComponent(WKPreferencesRef preferencesRef, bool enabled)
1250{
1251    toImpl(preferencesRef)->setEnableInheritURIQueryComponent(enabled);
1252}
1253
1254bool WKPreferencesGetEnableInheritURIQueryComponent(WKPreferencesRef preferencesRef)
1255{
1256    return toImpl(preferencesRef)->enableInheritURIQueryComponent();
1257}
1258
1259void WKPreferencesSetServiceControlsEnabled(WKPreferencesRef preferencesRef, bool enabled)
1260{
1261    toImpl(preferencesRef)->setServiceControlsEnabled(enabled);
1262}
1263
1264bool WKPreferencesGetServiceControlsEnabled(WKPreferencesRef preferencesRef)
1265{
1266    return toImpl(preferencesRef)->serviceControlsEnabled();
1267}
1268
1269void WKPreferencesSetImageControlsEnabled(WKPreferencesRef preferencesRef, bool enabled)
1270{
1271    toImpl(preferencesRef)->setImageControlsEnabled(enabled);
1272}
1273
1274bool WKPreferencesGetImageControlsEnabled(WKPreferencesRef preferencesRef)
1275{
1276    return toImpl(preferencesRef)->imageControlsEnabled();
1277}
1278
1279void WKPreferencesSetGamepadsEnabled(WKPreferencesRef preferencesRef, bool enabled)
1280{
1281    toImpl(preferencesRef)->setGamepadsEnabled(enabled);
1282}
1283
1284bool WKPreferencesGetGamepadsEnabled(WKPreferencesRef preferencesRef)
1285{
1286    return toImpl(preferencesRef)->gamepadsEnabled();
1287}
1288