6106671da97da53a2ea7e71f1a083c1fb595d559
[WebKit-https.git] / Source / WebKit / chromium / src / WebSettingsImpl.cpp
1 /*
2  * Copyright (C) 2009 Google 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 are
6  * met:
7  *
8  *     * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *     * Redistributions in binary form must reproduce the above
11  * copyright notice, this list of conditions and the following disclaimer
12  * in the documentation and/or other materials provided with the
13  * distribution.
14  *     * Neither the name of Google Inc. nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30
31 #include "config.h"
32 #include "WebSettingsImpl.h"
33
34 #include "DeferredImageDecoder.h"
35 #include "FontRenderingMode.h"
36 #include "Settings.h"
37 #include <public/WebString.h>
38 #include <public/WebURL.h>
39 #include <wtf/UnusedParam.h>
40
41 #if defined(OS_WIN)
42 #include "RenderThemeChromiumWin.h"
43 #endif
44
45 using namespace WebCore;
46
47 namespace WebKit {
48
49 WebSettingsImpl::WebSettingsImpl(Settings* settings)
50     : m_settings(settings)
51     , m_showFPSCounter(false)
52     , m_showPlatformLayerTree(false)
53     , m_showPaintRects(false)
54     , m_renderVSyncEnabled(true)
55     , m_renderVSyncNotificationEnabled(false)
56     , m_viewportEnabled(false)
57     , m_initializeAtMinimumPageScale(true)
58     , m_gestureTapHighlightEnabled(true)
59     , m_autoZoomFocusedNodeToLegibleScale(false)
60     , m_deferredImageDecodingEnabled(false)
61     , m_doubleTapToZoomEnabled(false)
62     , m_defaultTileSize(WebSize(256, 256))
63     , m_maxUntiledLayerSize(WebSize(512, 512))
64 {
65     ASSERT(settings);
66 }
67
68 void WebSettingsImpl::setStandardFontFamily(const WebString& font, UScriptCode script)
69 {
70     m_settings->setStandardFontFamily(font, script);
71 }
72
73 void WebSettingsImpl::setFixedFontFamily(const WebString& font, UScriptCode script)
74 {
75     m_settings->setFixedFontFamily(font, script);
76 }
77
78 void WebSettingsImpl::setSerifFontFamily(const WebString& font, UScriptCode script)
79 {
80     m_settings->setSerifFontFamily(font, script);
81 }
82
83 void WebSettingsImpl::setSansSerifFontFamily(const WebString& font, UScriptCode script)
84 {
85     m_settings->setSansSerifFontFamily(font, script);
86 }
87
88 void WebSettingsImpl::setCursiveFontFamily(const WebString& font, UScriptCode script)
89 {
90     m_settings->setCursiveFontFamily(font, script);
91 }
92
93 void WebSettingsImpl::setFantasyFontFamily(const WebString& font, UScriptCode script)
94 {
95     m_settings->setFantasyFontFamily(font, script);
96 }
97
98 void WebSettingsImpl::setPictographFontFamily(const WebString& font, UScriptCode script)
99 {
100     m_settings->setPictographFontFamily(font, script);
101 }
102
103 void WebSettingsImpl::setDefaultFontSize(int size)
104 {
105     m_settings->setDefaultFontSize(size);
106 #if defined(OS_WIN)
107     // RenderTheme is a singleton that needs to know the default font size to
108     // draw some form controls.  We let it know each time the size changes.
109     WebCore::RenderThemeChromiumWin::setDefaultFontSize(size);
110 #endif
111 }
112
113 void WebSettingsImpl::setDefaultFixedFontSize(int size)
114 {
115     m_settings->setDefaultFixedFontSize(size);
116 }
117
118 void WebSettingsImpl::setDefaultVideoPosterURL(const WebString& url)
119 {
120     m_settings->setDefaultVideoPosterURL(url);
121 }
122
123 void WebSettingsImpl::setMinimumFontSize(int size)
124 {
125     m_settings->setMinimumFontSize(size);
126 }
127
128 void WebSettingsImpl::setMinimumLogicalFontSize(int size)
129 {
130     m_settings->setMinimumLogicalFontSize(size);
131 }
132
133 void WebSettingsImpl::setDeviceSupportsTouch(bool deviceSupportsTouch)
134 {
135     m_settings->setDeviceSupportsTouch(deviceSupportsTouch);
136 }
137
138 void WebSettingsImpl::setDeviceSupportsMouse(bool deviceSupportsMouse)
139 {
140     m_settings->setDeviceSupportsMouse(deviceSupportsMouse);
141 }
142
143 bool WebSettingsImpl::deviceSupportsTouch()
144 {
145     return m_settings->deviceSupportsTouch();
146 }
147
148 void WebSettingsImpl::setApplyDeviceScaleFactorInCompositor(bool applyDeviceScaleFactorInCompositor)
149 {
150     m_settings->setApplyDeviceScaleFactorInCompositor(applyDeviceScaleFactorInCompositor);
151 }
152
153 void WebSettingsImpl::setApplyPageScaleFactorInCompositor(bool applyPageScaleFactorInCompositor)
154 {
155     m_settings->setApplyPageScaleFactorInCompositor(applyPageScaleFactorInCompositor);
156 }
157
158 void WebSettingsImpl::setAutoZoomFocusedNodeToLegibleScale(bool autoZoomFocusedNodeToLegibleScale)
159 {
160     m_autoZoomFocusedNodeToLegibleScale = autoZoomFocusedNodeToLegibleScale;
161 }
162
163 void WebSettingsImpl::setTextAutosizingEnabled(bool enabled)
164 {
165 #if ENABLE(TEXT_AUTOSIZING)
166     m_settings->setTextAutosizingEnabled(enabled);
167 #else
168     UNUSED_PARAM(enabled);
169 #endif
170 }
171
172 void WebSettingsImpl::setTextAutosizingFontScaleFactor(float fontScaleFactor)
173 {
174 #if ENABLE(TEXT_AUTOSIZING)
175     m_settings->setTextAutosizingFontScaleFactor(fontScaleFactor);
176 #else
177     UNUSED_PARAM(fontScaleFactor);
178 #endif
179 }
180
181 void WebSettingsImpl::setDefaultTextEncodingName(const WebString& encoding)
182 {
183     m_settings->setDefaultTextEncodingName((String)encoding);
184 }
185
186 void WebSettingsImpl::setJavaScriptEnabled(bool enabled)
187 {
188     m_settings->setScriptEnabled(enabled);
189 }
190
191 void WebSettingsImpl::setWebSecurityEnabled(bool enabled)
192 {
193     m_settings->setWebSecurityEnabled(enabled);
194 }
195
196 void WebSettingsImpl::setJavaScriptCanOpenWindowsAutomatically(bool canOpenWindows)
197 {
198     m_settings->setJavaScriptCanOpenWindowsAutomatically(canOpenWindows);
199 }
200
201 void WebSettingsImpl::setSupportsMultipleWindows(bool supportsMultipleWindows)
202 {
203     m_settings->setSupportsMultipleWindows(supportsMultipleWindows);
204 }
205
206 void WebSettingsImpl::setLoadsImagesAutomatically(bool loadsImagesAutomatically)
207 {
208     m_settings->setLoadsImagesAutomatically(loadsImagesAutomatically);
209 }
210
211 void WebSettingsImpl::setImagesEnabled(bool enabled)
212 {
213     m_settings->setImagesEnabled(enabled);
214 }
215
216 void WebSettingsImpl::setInitializeAtMinimumPageScale(bool enabled)
217 {
218     m_initializeAtMinimumPageScale = enabled;
219 }
220
221 void WebSettingsImpl::setPluginsEnabled(bool enabled)
222 {
223     m_settings->setPluginsEnabled(enabled);
224 }
225
226 void WebSettingsImpl::setDOMPasteAllowed(bool enabled)
227 {
228     m_settings->setDOMPasteAllowed(enabled);
229 }
230
231 void WebSettingsImpl::setDeveloperExtrasEnabled(bool enabled)
232 {
233     m_settings->setDeveloperExtrasEnabled(enabled);
234 }
235
236 void WebSettingsImpl::setNeedsSiteSpecificQuirks(bool enabled)
237 {
238     m_settings->setNeedsSiteSpecificQuirks(enabled);
239 }
240
241 void WebSettingsImpl::setShrinksStandaloneImagesToFit(bool shrinkImages)
242 {
243     m_settings->setShrinksStandaloneImagesToFit(shrinkImages);
244 }
245
246 void WebSettingsImpl::setUsesEncodingDetector(bool usesDetector)
247 {
248     m_settings->setUsesEncodingDetector(usesDetector);
249 }
250
251 void WebSettingsImpl::setTextAreasAreResizable(bool areResizable)
252 {
253     m_settings->setTextAreasAreResizable(areResizable);
254 }
255
256 void WebSettingsImpl::setJavaEnabled(bool enabled)
257 {
258     m_settings->setJavaEnabled(enabled);
259 }
260
261 void WebSettingsImpl::setAllowScriptsToCloseWindows(bool allow)
262 {
263     m_settings->setAllowScriptsToCloseWindows(allow);
264 }
265
266 void WebSettingsImpl::setUserStyleSheetLocation(const WebURL& location)
267 {
268     m_settings->setUserStyleSheetLocation(location);
269 }
270
271 void WebSettingsImpl::setAuthorAndUserStylesEnabled(bool enabled)
272 {
273     m_settings->setAuthorAndUserStylesEnabled(enabled);
274 }
275
276 void WebSettingsImpl::setUsesPageCache(bool usesPageCache)
277 {
278     m_settings->setUsesPageCache(usesPageCache);
279 }
280
281 void WebSettingsImpl::setPageCacheSupportsPlugins(bool pageCacheSupportsPlugins)
282 {
283     m_settings->setPageCacheSupportsPlugins(pageCacheSupportsPlugins);
284 }
285
286 void WebSettingsImpl::setDoubleTapToZoomEnabled(bool doubleTapToZoomEnabled)
287 {
288     m_doubleTapToZoomEnabled = doubleTapToZoomEnabled;
289 }
290
291 void WebSettingsImpl::setDownloadableBinaryFontsEnabled(bool enabled)
292 {
293     m_settings->setDownloadableBinaryFontsEnabled(enabled);
294 }
295
296 void WebSettingsImpl::setJavaScriptCanAccessClipboard(bool enabled)
297 {
298     m_settings->setJavaScriptCanAccessClipboard(enabled);
299 }
300
301 void WebSettingsImpl::setXSSAuditorEnabled(bool enabled)
302 {
303     m_settings->setXSSAuditorEnabled(enabled);
304 }
305
306 void WebSettingsImpl::setUnsafePluginPastingEnabled(bool enabled)
307 {
308     m_settings->setUnsafePluginPastingEnabled(enabled);
309 }
310
311 void WebSettingsImpl::setDNSPrefetchingEnabled(bool enabled)
312 {
313     m_settings->setDNSPrefetchingEnabled(enabled);
314 }
315
316 void WebSettingsImpl::setFixedElementsLayoutRelativeToFrame(bool fixedElementsLayoutRelativeToFrame)
317 {
318     m_settings->setFixedElementsLayoutRelativeToFrame(fixedElementsLayoutRelativeToFrame);
319 }
320
321 void WebSettingsImpl::setLocalStorageEnabled(bool enabled)
322 {
323     m_settings->setLocalStorageEnabled(enabled);
324 }
325
326 void WebSettingsImpl::setEditableLinkBehaviorNeverLive()
327 {
328     // FIXME: If you ever need more behaviors than this, then we should probably
329     //        define an enum in WebSettings.h and have a switch statement that
330     //        translates.  Until then, this is probably fine, though.
331     m_settings->setEditableLinkBehavior(WebCore::EditableLinkNeverLive);
332 }
333
334 void WebSettingsImpl::setFrameFlatteningEnabled(bool enabled)
335 {
336     m_settings->setFrameFlatteningEnabled(enabled);
337 }
338
339 void WebSettingsImpl::setFontRenderingModeNormal()
340 {
341     // FIXME: If you ever need more behaviors than this, then we should probably
342     //        define an enum in WebSettings.h and have a switch statement that
343     //        translates.  Until then, this is probably fine, though.
344     m_settings->setFontRenderingMode(WebCore::NormalRenderingMode);
345 }
346
347 void WebSettingsImpl::setAllowUniversalAccessFromFileURLs(bool allow)
348 {
349     m_settings->setAllowUniversalAccessFromFileURLs(allow);
350 }
351
352 void WebSettingsImpl::setAllowFileAccessFromFileURLs(bool allow)
353 {
354     m_settings->setAllowFileAccessFromFileURLs(allow);
355 }
356
357 void WebSettingsImpl::setTextDirectionSubmenuInclusionBehaviorNeverIncluded()
358 {
359     // FIXME: If you ever need more behaviors than this, then we should probably
360     //        define an enum in WebSettings.h and have a switch statement that
361     //        translates.  Until then, this is probably fine, though.
362     m_settings->setTextDirectionSubmenuInclusionBehavior(WebCore::TextDirectionSubmenuNeverIncluded);
363 }
364
365 void WebSettingsImpl::setTouchDragDropEnabled(bool enabled)
366 {
367     m_settings->setTouchDragDropEnabled(enabled);
368 }
369
370 void WebSettingsImpl::setThreadedHTMLParser(bool enabled)
371 {
372 #if ENABLE(THREADED_HTML_PARSER)
373     m_settings->setThreadedHTMLParser(enabled);
374 #endif
375 }
376
377 void WebSettingsImpl::setOfflineWebApplicationCacheEnabled(bool enabled)
378 {
379     m_settings->setOfflineWebApplicationCacheEnabled(enabled);
380 }
381
382 void WebSettingsImpl::setWebAudioEnabled(bool enabled)
383 {
384     m_settings->setWebAudioEnabled(enabled);
385 }
386
387 void WebSettingsImpl::setExperimentalWebGLEnabled(bool enabled)
388 {
389     m_settings->setWebGLEnabled(enabled);
390 }
391
392 void WebSettingsImpl::setCSSStickyPositionEnabled(bool enabled)
393 {
394     m_settings->setCSSStickyPositionEnabled(enabled);
395 }
396
397 void WebSettingsImpl::setExperimentalCSSGridLayoutEnabled(bool enabled)
398 {
399     m_settings->setCSSGridLayoutEnabled(enabled);
400 }
401
402 void WebSettingsImpl::setExperimentalCSSCustomFilterEnabled(bool enabled)
403 {
404     m_settings->setCSSCustomFilterEnabled(enabled);
405 }
406
407 void WebSettingsImpl::setExperimentalCSSVariablesEnabled(bool enabled)
408 {
409     m_settings->setCSSVariablesEnabled(enabled);
410 }
411
412 void WebSettingsImpl::setOpenGLMultisamplingEnabled(bool enabled)
413 {
414     m_settings->setOpenGLMultisamplingEnabled(enabled);
415 }
416
417 void WebSettingsImpl::setPrivilegedWebGLExtensionsEnabled(bool enabled)
418 {
419     m_settings->setPrivilegedWebGLExtensionsEnabled(enabled);
420 }
421
422 void WebSettingsImpl::setRecordRenderingStats(bool enabled)
423 {
424     m_recordRenderingStats = enabled;
425 }
426
427 void WebSettingsImpl::setRenderVSyncEnabled(bool enabled)
428 {
429     m_renderVSyncEnabled = enabled;
430 }
431
432 void WebSettingsImpl::setRenderVSyncNotificationEnabled(bool enabled)
433 {
434     m_renderVSyncNotificationEnabled = enabled;
435 }
436
437 void WebSettingsImpl::setWebGLErrorsToConsoleEnabled(bool enabled)
438 {
439     m_settings->setWebGLErrorsToConsoleEnabled(enabled);
440 }
441
442 void WebSettingsImpl::setShowDebugBorders(bool show)
443 {
444     m_settings->setShowDebugBorders(show);
445 }
446
447 void WebSettingsImpl::setShowFPSCounter(bool show)
448 {
449     m_showFPSCounter = show;
450 }
451
452 void WebSettingsImpl::setShowPlatformLayerTree(bool show)
453 {
454     m_showPlatformLayerTree = show;
455 }
456
457 void WebSettingsImpl::setShowPaintRects(bool show)
458 {
459     m_showPaintRects = show;
460 }
461
462 void WebSettingsImpl::setEditingBehavior(EditingBehavior behavior)
463 {
464     m_settings->setEditingBehaviorType(static_cast<WebCore::EditingBehaviorType>(behavior));
465 }
466
467 void WebSettingsImpl::setAcceleratedAnimationEnabled(bool enabled)
468 {
469     m_acceleratedAnimationEnabled = enabled;
470 }
471
472 void WebSettingsImpl::setAcceleratedCompositingEnabled(bool enabled)
473 {
474     m_settings->setAcceleratedCompositingEnabled(enabled);
475     m_settings->setScrollingCoordinatorEnabled(enabled);
476 }
477
478 void WebSettingsImpl::setForceCompositingMode(bool enabled)
479 {
480     m_settings->setForceCompositingMode(enabled);
481 }
482
483 void WebSettingsImpl::setMockScrollbarsEnabled(bool enabled)
484 {
485     m_settings->setMockScrollbarsEnabled(enabled);
486 }
487
488 void WebSettingsImpl::setAcceleratedCompositingFor3DTransformsEnabled(bool enabled)
489 {
490     m_settings->setAcceleratedCompositingFor3DTransformsEnabled(enabled);
491 }
492
493 void WebSettingsImpl::setAcceleratedCompositingForVideoEnabled(bool enabled)
494 {
495     m_settings->setAcceleratedCompositingForVideoEnabled(enabled);
496 }
497
498 void WebSettingsImpl::setAcceleratedCompositingForOverflowScrollEnabled(
499     bool enabled)
500 {
501     m_settings->setAcceleratedCompositingForOverflowScrollEnabled(enabled);
502 }
503
504 void WebSettingsImpl::setAcceleratedCompositingForPluginsEnabled(bool enabled)
505 {
506     m_settings->setAcceleratedCompositingForPluginsEnabled(enabled);
507 }
508
509 void WebSettingsImpl::setAcceleratedCompositingForCanvasEnabled(bool enabled)
510 {
511     m_settings->setAcceleratedCompositingForCanvasEnabled(enabled);
512 }
513
514 void WebSettingsImpl::setAcceleratedCompositingForAnimationEnabled(bool enabled)
515 {
516     m_settings->setAcceleratedCompositingForAnimationEnabled(enabled);
517 }
518
519 void WebSettingsImpl::setAcceleratedCompositingForScrollableFramesEnabled(bool enabled)
520 {
521     m_settings->setAcceleratedCompositingForScrollableFramesEnabled(enabled);
522 }
523
524 void WebSettingsImpl::setAcceleratedFiltersEnabled(bool enabled)
525 {
526     m_settings->setAcceleratedFiltersEnabled(enabled);
527 }
528
529 void WebSettingsImpl::setAccelerated2dCanvasEnabled(bool enabled)
530 {
531     m_settings->setAccelerated2dCanvasEnabled(enabled);
532 }
533
534 void WebSettingsImpl::setAntialiased2dCanvasEnabled(bool enabled)
535 {
536     m_settings->setAntialiased2dCanvasEnabled(enabled);
537 }
538
539 void WebSettingsImpl::setDeferred2dCanvasEnabled(bool enabled)
540 {
541     m_settings->setDeferred2dCanvasEnabled(enabled);
542 }
543
544 void WebSettingsImpl::setDeferredImageDecodingEnabled(bool enabled)
545 {
546     DeferredImageDecoder::setEnabled(enabled);
547     m_deferredImageDecodingEnabled = enabled;
548 }
549
550 void WebSettingsImpl::setAcceleratedCompositingForFixedPositionEnabled(bool enabled)
551 {
552     m_settings->setAcceleratedCompositingForFixedPositionEnabled(enabled);
553 }
554
555 void WebSettingsImpl::setMinimumAccelerated2dCanvasSize(int numPixels)
556 {
557     m_settings->setMinimumAccelerated2dCanvasSize(numPixels);
558 }
559
560 void WebSettingsImpl::setMemoryInfoEnabled(bool enabled)
561 {
562     m_settings->setMemoryInfoEnabled(enabled);
563 }
564
565 void WebSettingsImpl::setHyperlinkAuditingEnabled(bool enabled)
566 {
567     m_settings->setHyperlinkAuditingEnabled(enabled);
568 }
569
570 void WebSettingsImpl::setLayoutFallbackWidth(int width)
571 {
572     m_settings->setLayoutFallbackWidth(width);
573 }
574
575 void WebSettingsImpl::setAsynchronousSpellCheckingEnabled(bool enabled)
576 {
577     m_settings->setAsynchronousSpellCheckingEnabled(enabled);
578 }
579
580 void WebSettingsImpl::setUnifiedTextCheckerEnabled(bool enabled)
581 {
582     m_settings->setUnifiedTextCheckerEnabled(enabled);
583 }
584
585 void WebSettingsImpl::setCaretBrowsingEnabled(bool enabled)
586 {
587     m_settings->setCaretBrowsingEnabled(enabled);
588 }
589
590 void WebSettingsImpl::setInteractiveFormValidationEnabled(bool enabled)
591 {
592     m_settings->setInteractiveFormValidationEnabled(enabled);
593 }
594
595 void WebSettingsImpl::setValidationMessageTimerMagnification(int newValue)
596 {
597     m_settings->setValidationMessageTimerMagnification(newValue);
598 }
599
600 void WebSettingsImpl::setMinimumTimerInterval(double interval)
601 {
602     m_settings->setMinDOMTimerInterval(interval);
603 }
604
605 void WebSettingsImpl::setFullScreenEnabled(bool enabled)
606 {
607 #if ENABLE(FULLSCREEN_API)
608     m_settings->setFullScreenEnabled(enabled);
609 #else
610     UNUSED_PARAM(enabled);
611 #endif
612 }
613
614 void WebSettingsImpl::setAllowDisplayOfInsecureContent(bool enabled)
615 {
616     m_settings->setAllowDisplayOfInsecureContent(enabled);
617 }
618
619 void WebSettingsImpl::setAllowRunningOfInsecureContent(bool enabled)
620 {
621     m_settings->setAllowRunningOfInsecureContent(enabled);
622 }
623
624 void WebSettingsImpl::setPasswordEchoEnabled(bool flag)
625 {
626     m_settings->setPasswordEchoEnabled(flag);
627 }
628
629 void WebSettingsImpl::setPasswordEchoDurationInSeconds(double durationInSeconds)
630 {
631     m_settings->setPasswordEchoDurationInSeconds(durationInSeconds);
632 }
633
634 void WebSettingsImpl::setPerTilePaintingEnabled(bool enabled)
635 {
636     m_perTilePaintingEnabled = enabled;
637 }
638
639 void WebSettingsImpl::setShouldPrintBackgrounds(bool enabled)
640 {
641     m_settings->setShouldPrintBackgrounds(enabled);
642 }
643
644 void WebSettingsImpl::setEnableScrollAnimator(bool enabled)
645 {
646 #if ENABLE(SMOOTH_SCROLLING)
647     m_settings->setEnableScrollAnimator(enabled);
648 #else
649     UNUSED_PARAM(enabled);
650 #endif
651 }
652
653 void WebSettingsImpl::setEnableTouchAdjustment(bool enabled)
654 {
655     m_settings->setTouchAdjustmentEnabled(enabled);
656 }
657
658 bool WebSettingsImpl::scrollAnimatorEnabled() const
659 {
660 #if ENABLE(SMOOTH_SCROLLING)
661     return m_settings->scrollAnimatorEnabled();
662 #else
663     return false;
664 #endif
665 }
666
667 void WebSettingsImpl::setVisualWordMovementEnabled(bool enabled)
668 {
669     m_settings->setVisualWordMovementEnabled(enabled);
670 }
671
672 void WebSettingsImpl::setShouldDisplaySubtitles(bool enabled)
673 {
674 #if ENABLE(VIDEO_TRACK)
675     m_settings->setShouldDisplaySubtitles(enabled);
676 #else
677     UNUSED_PARAM(enabled);
678 #endif
679 }
680
681 void WebSettingsImpl::setShouldDisplayCaptions(bool enabled)
682 {
683 #if ENABLE(VIDEO_TRACK)
684     m_settings->setShouldDisplayCaptions(enabled);
685 #else
686     UNUSED_PARAM(enabled);
687 #endif
688 }
689
690 void WebSettingsImpl::setShouldDisplayTextDescriptions(bool enabled)
691 {
692 #if ENABLE(VIDEO_TRACK)
693     m_settings->setShouldDisplayTextDescriptions(enabled);
694 #else
695     UNUSED_PARAM(enabled);
696 #endif
697 }
698
699 void WebSettingsImpl::setShouldRespectImageOrientation(bool enabled)
700 {
701     m_settings->setShouldRespectImageOrientation(enabled);
702 }
703
704 void WebSettingsImpl::setAcceleratedPaintingEnabled(bool enabled)
705 {
706     m_settings->setAcceleratedDrawingEnabled(enabled);
707 }
708
709 void WebSettingsImpl::setMediaPlaybackRequiresUserGesture(bool required)
710 {
711     m_settings->setMediaPlaybackRequiresUserGesture(required);
712 }
713
714 void WebSettingsImpl::setFixedPositionCreatesStackingContext(bool creates)
715 {
716     m_settings->setFixedPositionCreatesStackingContext(creates);
717 }
718
719 void WebSettingsImpl::setViewportEnabled(bool enabled)
720 {
721     m_viewportEnabled = enabled;
722 }
723
724 void WebSettingsImpl::setDefaultTileSize(WebSize size)
725 {
726     m_defaultTileSize = size;
727 }
728
729 void WebSettingsImpl::setMaxUntiledLayerSize(WebSize size)
730 {
731     m_maxUntiledLayerSize = size;
732 }
733
734 void WebSettingsImpl::setSyncXHRInDocumentsEnabled(bool enabled)
735 {
736     m_settings->setSyncXHRInDocumentsEnabled(enabled);
737 }
738
739 void WebSettingsImpl::setCookieEnabled(bool enabled)
740 {
741     m_settings->setCookieEnabled(enabled);
742 }
743
744 void WebSettingsImpl::setGestureTapHighlightEnabled(bool enableHighlight)
745 {
746     m_gestureTapHighlightEnabled = enableHighlight;
747 }
748
749 bool WebSettingsImpl::applyDeviceScaleFactorInCompositor() const
750 {
751     return m_settings->applyDeviceScaleFactorInCompositor();
752 }
753
754 bool WebSettingsImpl::applyPageScaleFactorInCompositor() const
755 {
756     return m_settings->applyPageScaleFactorInCompositor();
757 }
758
759 void WebSettingsImpl::setAllowCustomScrollbarInMainFrame(bool enabled)
760 {
761     m_settings->setAllowCustomScrollbarInMainFrame(enabled);
762 }
763
764 void WebSettingsImpl::setCompositedScrollingForFramesEnabled(bool enabled)
765 {
766     m_settings->setCompositedScrollingForFramesEnabled(enabled);
767 }
768
769 void WebSettingsImpl::setSelectTrailingWhitespaceEnabled(bool enabled)
770 {
771     m_settings->setSelectTrailingWhitespaceEnabled(enabled);
772 }
773
774 void WebSettingsImpl::setSmartInsertDeleteEnabled(bool enabled)
775 {
776     m_settings->setSmartInsertDeleteEnabled(enabled);
777 }
778
779 } // namespace WebKit