Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / 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 "core/frame/Settings.h"
35 #include "core/inspector/InspectorController.h"
36 #include "platform/graphics/DeferredImageDecoder.h"
37
38 #include "public/platform/WebString.h"
39 #include "public/platform/WebURL.h"
40
41 using namespace WebCore;
42
43 namespace blink {
44
45 WebSettingsImpl::WebSettingsImpl(Settings* settings, InspectorController* inspectorController)
46     : m_settings(settings)
47     , m_inspectorController(inspectorController)
48     , m_showFPSCounter(false)
49     , m_showPaintRects(false)
50     , m_renderVSyncNotificationEnabled(false)
51     , m_gestureTapHighlightEnabled(true)
52     , m_autoZoomFocusedNodeToLegibleScale(false)
53     , m_deferredImageDecodingEnabled(false)
54     , m_doubleTapToZoomEnabled(false)
55     , m_supportDeprecatedTargetDensityDPI(false)
56     , m_viewportMetaLayoutSizeQuirk(false)
57     , m_viewportMetaNonUserScalableQuirk(false)
58     , m_clobberUserAgentInitialScaleQuirk(false)
59     , m_pinchOverlayScrollbarThickness(0)
60     , m_mainFrameResizesAreOrientationChanges(false)
61 {
62     ASSERT(settings);
63 }
64
65 void WebSettingsImpl::setStandardFontFamily(const WebString& font, UScriptCode script)
66 {
67     m_settings->genericFontFamilySettings().setStandard(font, script);
68     m_settings->notifyGenericFontFamilyChange();
69 }
70
71 void WebSettingsImpl::setFixedFontFamily(const WebString& font, UScriptCode script)
72 {
73     m_settings->genericFontFamilySettings().setFixed(font, script);
74     m_settings->notifyGenericFontFamilyChange();
75 }
76
77 void WebSettingsImpl::setSerifFontFamily(const WebString& font, UScriptCode script)
78 {
79     m_settings->genericFontFamilySettings().setSerif(font, script);
80     m_settings->notifyGenericFontFamilyChange();
81 }
82
83 void WebSettingsImpl::setSansSerifFontFamily(const WebString& font, UScriptCode script)
84 {
85     m_settings->genericFontFamilySettings().setSansSerif(font, script);
86     m_settings->notifyGenericFontFamilyChange();
87 }
88
89 void WebSettingsImpl::setCursiveFontFamily(const WebString& font, UScriptCode script)
90 {
91     m_settings->genericFontFamilySettings().setCursive(font, script);
92     m_settings->notifyGenericFontFamilyChange();
93 }
94
95 void WebSettingsImpl::setFantasyFontFamily(const WebString& font, UScriptCode script)
96 {
97     m_settings->genericFontFamilySettings().setFantasy(font, script);
98     m_settings->notifyGenericFontFamilyChange();
99 }
100
101 void WebSettingsImpl::setPictographFontFamily(const WebString& font, UScriptCode script)
102 {
103     m_settings->genericFontFamilySettings().setPictograph(font, script);
104     m_settings->notifyGenericFontFamilyChange();
105 }
106
107 void WebSettingsImpl::setDefaultFontSize(int size)
108 {
109     m_settings->setDefaultFontSize(size);
110 }
111
112 void WebSettingsImpl::setDefaultFixedFontSize(int size)
113 {
114     m_settings->setDefaultFixedFontSize(size);
115 }
116
117 void WebSettingsImpl::setDefaultVideoPosterURL(const WebString& url)
118 {
119     m_settings->setDefaultVideoPosterURL(url);
120 }
121
122 void WebSettingsImpl::setMinimumFontSize(int size)
123 {
124     m_settings->setMinimumFontSize(size);
125 }
126
127 void WebSettingsImpl::setMinimumLogicalFontSize(int size)
128 {
129     m_settings->setMinimumLogicalFontSize(size);
130 }
131
132 void WebSettingsImpl::setDeviceSupportsTouch(bool deviceSupportsTouch)
133 {
134     m_settings->setDeviceSupportsTouch(deviceSupportsTouch);
135 }
136
137 void WebSettingsImpl::setDeviceSupportsMouse(bool deviceSupportsMouse)
138 {
139     m_settings->setDeviceSupportsMouse(deviceSupportsMouse);
140 }
141
142 void WebSettingsImpl::setAutoZoomFocusedNodeToLegibleScale(bool autoZoomFocusedNodeToLegibleScale)
143 {
144     m_autoZoomFocusedNodeToLegibleScale = autoZoomFocusedNodeToLegibleScale;
145 }
146
147 void WebSettingsImpl::setTextAutosizingEnabled(bool enabled)
148 {
149     m_inspectorController->setTextAutosizingEnabled(enabled);
150 }
151
152 void WebSettingsImpl::setAccessibilityFontScaleFactor(float fontScaleFactor)
153 {
154     m_settings->setAccessibilityFontScaleFactor(fontScaleFactor);
155 }
156
157 void WebSettingsImpl::setDeviceScaleAdjustment(float deviceScaleAdjustment)
158 {
159     m_inspectorController->setDeviceScaleAdjustment(deviceScaleAdjustment);
160 }
161
162 void WebSettingsImpl::setDefaultTextEncodingName(const WebString& encoding)
163 {
164     m_settings->setDefaultTextEncodingName((String)encoding);
165 }
166
167 void WebSettingsImpl::setJavaScriptEnabled(bool enabled)
168 {
169     m_settings->setScriptEnabled(enabled);
170 }
171
172 void WebSettingsImpl::setWebSecurityEnabled(bool enabled)
173 {
174     m_settings->setWebSecurityEnabled(enabled);
175 }
176
177 void WebSettingsImpl::setJavaScriptCanOpenWindowsAutomatically(bool canOpenWindows)
178 {
179     m_settings->setJavaScriptCanOpenWindowsAutomatically(canOpenWindows);
180 }
181
182 void WebSettingsImpl::setSupportDeprecatedTargetDensityDPI(bool supportDeprecatedTargetDensityDPI)
183 {
184     m_supportDeprecatedTargetDensityDPI = supportDeprecatedTargetDensityDPI;
185 }
186
187 void WebSettingsImpl::setViewportMetaLayoutSizeQuirk(bool viewportMetaLayoutSizeQuirk)
188 {
189     m_viewportMetaLayoutSizeQuirk = viewportMetaLayoutSizeQuirk;
190 }
191
192 void WebSettingsImpl::setViewportMetaMergeContentQuirk(bool viewportMetaMergeContentQuirk)
193 {
194     m_settings->setViewportMetaMergeContentQuirk(viewportMetaMergeContentQuirk);
195 }
196
197 void WebSettingsImpl::setViewportMetaNonUserScalableQuirk(bool viewportMetaNonUserScalableQuirk)
198 {
199     m_viewportMetaNonUserScalableQuirk = viewportMetaNonUserScalableQuirk;
200 }
201
202 void WebSettingsImpl::setViewportMetaZeroValuesQuirk(bool viewportMetaZeroValuesQuirk)
203 {
204     m_settings->setViewportMetaZeroValuesQuirk(viewportMetaZeroValuesQuirk);
205 }
206
207 void WebSettingsImpl::setIgnoreMainFrameOverflowHiddenQuirk(bool ignoreMainFrameOverflowHiddenQuirk)
208 {
209     m_settings->setIgnoreMainFrameOverflowHiddenQuirk(ignoreMainFrameOverflowHiddenQuirk);
210 }
211
212 void WebSettingsImpl::setReportScreenSizeInPhysicalPixelsQuirk(bool reportScreenSizeInPhysicalPixelsQuirk)
213 {
214     m_settings->setReportScreenSizeInPhysicalPixelsQuirk(reportScreenSizeInPhysicalPixelsQuirk);
215 }
216
217 void WebSettingsImpl::setClobberUserAgentInitialScaleQuirk(bool clobberUserAgentInitialScaleQuirk)
218 {
219     m_clobberUserAgentInitialScaleQuirk = clobberUserAgentInitialScaleQuirk;
220 }
221
222 void WebSettingsImpl::setSupportsMultipleWindows(bool supportsMultipleWindows)
223 {
224     m_settings->setSupportsMultipleWindows(supportsMultipleWindows);
225 }
226
227 void WebSettingsImpl::setLoadsImagesAutomatically(bool loadsImagesAutomatically)
228 {
229     m_settings->setLoadsImagesAutomatically(loadsImagesAutomatically);
230 }
231
232 void WebSettingsImpl::setImagesEnabled(bool enabled)
233 {
234     m_settings->setImagesEnabled(enabled);
235 }
236
237 void WebSettingsImpl::setLoadWithOverviewMode(bool enabled)
238 {
239     m_settings->setLoadWithOverviewMode(enabled);
240 }
241
242 void WebSettingsImpl::setPluginsEnabled(bool enabled)
243 {
244     m_settings->setPluginsEnabled(enabled);
245 }
246
247 void WebSettingsImpl::setDOMPasteAllowed(bool enabled)
248 {
249     m_settings->setDOMPasteAllowed(enabled);
250 }
251
252 void WebSettingsImpl::setNeedsSiteSpecificQuirks(bool enabled)
253 {
254     m_settings->setNeedsSiteSpecificQuirks(enabled);
255 }
256
257 void WebSettingsImpl::setShrinksStandaloneImagesToFit(bool shrinkImages)
258 {
259     m_settings->setShrinksStandaloneImagesToFit(shrinkImages);
260 }
261
262 void WebSettingsImpl::setSpatialNavigationEnabled(bool enabled)
263 {
264     m_settings->setSpatialNavigationEnabled(enabled);
265 }
266
267 void WebSettingsImpl::setUsesEncodingDetector(bool usesDetector)
268 {
269     m_settings->setUsesEncodingDetector(usesDetector);
270 }
271
272 void WebSettingsImpl::setTextAreasAreResizable(bool areResizable)
273 {
274     m_settings->setTextAreasAreResizable(areResizable);
275 }
276
277 void WebSettingsImpl::setJavaEnabled(bool enabled)
278 {
279     m_settings->setJavaEnabled(enabled);
280 }
281
282 void WebSettingsImpl::setAllowScriptsToCloseWindows(bool allow)
283 {
284     m_settings->setAllowScriptsToCloseWindows(allow);
285 }
286
287 void WebSettingsImpl::setUseLegacyBackgroundSizeShorthandBehavior(bool useLegacyBackgroundSizeShorthandBehavior)
288 {
289     m_settings->setUseLegacyBackgroundSizeShorthandBehavior(useLegacyBackgroundSizeShorthandBehavior);
290 }
291
292 void WebSettingsImpl::setWideViewportQuirkEnabled(bool wideViewportQuirkEnabled)
293 {
294     m_settings->setWideViewportQuirkEnabled(wideViewportQuirkEnabled);
295 }
296
297 void WebSettingsImpl::setUseWideViewport(bool useWideViewport)
298 {
299     m_settings->setUseWideViewport(useWideViewport);
300 }
301
302 void WebSettingsImpl::setDoubleTapToZoomEnabled(bool doubleTapToZoomEnabled)
303 {
304     m_doubleTapToZoomEnabled = doubleTapToZoomEnabled;
305 }
306
307 void WebSettingsImpl::setDownloadableBinaryFontsEnabled(bool enabled)
308 {
309     m_settings->setDownloadableBinaryFontsEnabled(enabled);
310 }
311
312 void WebSettingsImpl::setJavaScriptCanAccessClipboard(bool enabled)
313 {
314     m_settings->setJavaScriptCanAccessClipboard(enabled);
315 }
316
317 void WebSettingsImpl::setXSSAuditorEnabled(bool enabled)
318 {
319     m_settings->setXSSAuditorEnabled(enabled);
320 }
321
322 void WebSettingsImpl::setUnsafePluginPastingEnabled(bool enabled)
323 {
324     m_settings->setUnsafePluginPastingEnabled(enabled);
325 }
326
327 void WebSettingsImpl::setDNSPrefetchingEnabled(bool enabled)
328 {
329     m_settings->setDNSPrefetchingEnabled(enabled);
330 }
331
332 void WebSettingsImpl::setLocalStorageEnabled(bool enabled)
333 {
334     m_settings->setLocalStorageEnabled(enabled);
335 }
336
337 void WebSettingsImpl::setMainFrameClipsContent(bool enabled)
338 {
339     m_settings->setMainFrameClipsContent(enabled);
340 }
341
342 void WebSettingsImpl::setMaxTouchPoints(int maxTouchPoints)
343 {
344     m_settings->setMaxTouchPoints(maxTouchPoints);
345 }
346
347 void WebSettingsImpl::setEditableLinkBehaviorNeverLive()
348 {
349     // FIXME: If you ever need more behaviors than this, then we should probably
350     //        define an enum in WebSettings.h and have a switch statement that
351     //        translates.  Until then, this is probably fine, though.
352     m_settings->setEditableLinkBehavior(WebCore::EditableLinkNeverLive);
353 }
354
355 void WebSettingsImpl::setAllowUniversalAccessFromFileURLs(bool allow)
356 {
357     m_settings->setAllowUniversalAccessFromFileURLs(allow);
358 }
359
360 void WebSettingsImpl::setAllowFileAccessFromFileURLs(bool allow)
361 {
362     m_settings->setAllowFileAccessFromFileURLs(allow);
363 }
364
365 void WebSettingsImpl::setTouchDragDropEnabled(bool enabled)
366 {
367     m_settings->setTouchDragDropEnabled(enabled);
368 }
369
370 void WebSettingsImpl::setTouchEditingEnabled(bool enabled)
371 {
372     m_settings->setTouchEditingEnabled(enabled);
373 }
374
375 void WebSettingsImpl::setThreadedHTMLParser(bool enabled)
376 {
377     m_settings->setThreadedHTMLParser(enabled);
378 }
379
380 void WebSettingsImpl::setOfflineWebApplicationCacheEnabled(bool enabled)
381 {
382     m_settings->setOfflineWebApplicationCacheEnabled(enabled);
383 }
384
385 void WebSettingsImpl::setWebAudioEnabled(bool enabled)
386 {
387     m_settings->setWebAudioEnabled(enabled);
388 }
389
390 void WebSettingsImpl::setExperimentalWebGLEnabled(bool enabled)
391 {
392     m_settings->setWebGLEnabled(enabled);
393 }
394
395 void WebSettingsImpl::setExperimentalWebSocketEnabled(bool enabled)
396 {
397     m_settings->setExperimentalWebSocketEnabled(enabled);
398 }
399
400 void WebSettingsImpl::setRegionBasedColumnsEnabled(bool enabled)
401 {
402     m_settings->setRegionBasedColumnsEnabled(enabled);
403 }
404
405 void WebSettingsImpl::setOpenGLMultisamplingEnabled(bool enabled)
406 {
407     m_settings->setOpenGLMultisamplingEnabled(enabled);
408 }
409
410 void WebSettingsImpl::setPrivilegedWebGLExtensionsEnabled(bool enabled)
411 {
412     m_settings->setPrivilegedWebGLExtensionsEnabled(enabled);
413 }
414
415 void WebSettingsImpl::setRenderVSyncNotificationEnabled(bool enabled)
416 {
417     m_renderVSyncNotificationEnabled = enabled;
418 }
419
420 void WebSettingsImpl::setWebGLErrorsToConsoleEnabled(bool enabled)
421 {
422     m_settings->setWebGLErrorsToConsoleEnabled(enabled);
423 }
424
425 void WebSettingsImpl::setShowFPSCounter(bool show)
426 {
427     m_showFPSCounter = show;
428 }
429
430 void WebSettingsImpl::setShowPaintRects(bool show)
431 {
432     m_showPaintRects = show;
433 }
434
435 void WebSettingsImpl::setEditingBehavior(EditingBehavior behavior)
436 {
437     m_settings->setEditingBehaviorType(static_cast<WebCore::EditingBehaviorType>(behavior));
438 }
439
440 void WebSettingsImpl::setAcceleratedCompositingEnabled(bool enabled)
441 {
442     m_settings->setAcceleratedCompositingEnabled(enabled);
443     m_settings->setScrollingCoordinatorEnabled(enabled);
444 }
445
446 void WebSettingsImpl::setForceCompositingMode(bool enabled)
447 {
448     m_settings->setForceCompositingMode(enabled);
449 }
450
451 void WebSettingsImpl::setMockScrollbarsEnabled(bool enabled)
452 {
453     m_settings->setMockScrollbarsEnabled(enabled);
454 }
455
456 void WebSettingsImpl::setAcceleratedCompositingFor3DTransformsEnabled(bool enabled)
457 {
458     m_settings->setAcceleratedCompositingFor3DTransformsEnabled(enabled);
459 }
460
461 void WebSettingsImpl::setAcceleratedCompositingForFiltersEnabled(bool enabled)
462 {
463     m_settings->setAcceleratedCompositingForFiltersEnabled(enabled);
464 }
465
466 void WebSettingsImpl::setAcceleratedCompositingForVideoEnabled(bool enabled)
467 {
468     m_settings->setAcceleratedCompositingForVideoEnabled(enabled);
469 }
470
471 void WebSettingsImpl::setAcceleratedCompositingForOverflowScrollEnabled(bool enabled)
472 {
473     m_settings->setAcceleratedCompositingForOverflowScrollEnabled(enabled);
474 }
475
476 void WebSettingsImpl::setCompositorDrivenAcceleratedScrollingEnabled(bool enabled)
477 {
478     m_settings->setCompositorDrivenAcceleratedScrollingEnabled(enabled);
479 }
480
481 void WebSettingsImpl::setAcceleratedCompositingForFixedRootBackgroundEnabled(bool enabled)
482 {
483     m_settings->setAcceleratedCompositingForFixedRootBackgroundEnabled(enabled);
484 }
485
486 void WebSettingsImpl::setAcceleratedCompositingForPluginsEnabled(bool enabled)
487 {
488     m_settings->setAcceleratedCompositingForPluginsEnabled(enabled);
489 }
490
491 void WebSettingsImpl::setAcceleratedCompositingForCanvasEnabled(bool enabled)
492 {
493     m_settings->setAcceleratedCompositingForCanvasEnabled(enabled);
494 }
495
496 void WebSettingsImpl::setAcceleratedCompositingForAnimationEnabled(bool enabled)
497 {
498     m_settings->setAcceleratedCompositingForAnimationEnabled(enabled);
499 }
500
501 void WebSettingsImpl::setAcceleratedCompositingForScrollableFramesEnabled(bool enabled)
502 {
503     m_settings->setAcceleratedCompositingForScrollableFramesEnabled(enabled);
504 }
505
506 void WebSettingsImpl::setAcceleratedFiltersEnabled(bool enabled)
507 {
508     m_settings->setAcceleratedFiltersEnabled(enabled);
509 }
510
511 void WebSettingsImpl::setAccelerated2dCanvasEnabled(bool enabled)
512 {
513     m_settings->setAccelerated2dCanvasEnabled(enabled);
514 }
515
516 void WebSettingsImpl::setAccelerated2dCanvasMSAASampleCount(int count)
517 {
518     m_settings->setAccelerated2dCanvasMSAASampleCount(count);
519 }
520
521 void WebSettingsImpl::setAntialiased2dCanvasEnabled(bool enabled)
522 {
523     m_settings->setAntialiased2dCanvasEnabled(enabled);
524 }
525
526 void WebSettingsImpl::setDeferredImageDecodingEnabled(bool enabled)
527 {
528     DeferredImageDecoder::setEnabled(enabled);
529     m_deferredImageDecodingEnabled = enabled;
530 }
531
532 void WebSettingsImpl::setDeferredFiltersEnabled(bool enabled)
533 {
534     m_settings->setDeferredFiltersEnabled(enabled);
535 }
536
537 void WebSettingsImpl::setAcceleratedCompositingForFixedPositionEnabled(bool enabled)
538 {
539     m_settings->setAcceleratedCompositingForFixedPositionEnabled(enabled);
540 }
541
542 void WebSettingsImpl::setAcceleratedCompositingForTransitionEnabled(bool enabled)
543 {
544     m_settings->setAcceleratedCompositingForTransitionEnabled(enabled);
545 }
546
547 void WebSettingsImpl::setMinimumAccelerated2dCanvasSize(int numPixels)
548 {
549     m_settings->setMinimumAccelerated2dCanvasSize(numPixels);
550 }
551
552 void WebSettingsImpl::setMemoryInfoEnabled(bool enabled)
553 {
554     m_settings->setMemoryInfoEnabled(enabled);
555 }
556
557 void WebSettingsImpl::setHyperlinkAuditingEnabled(bool enabled)
558 {
559     m_settings->setHyperlinkAuditingEnabled(enabled);
560 }
561
562 void WebSettingsImpl::setLayerSquashingEnabled(bool enabled)
563 {
564     m_settings->setLayerSquashingEnabled(enabled);
565 }
566
567 void WebSettingsImpl::setLayoutFallbackWidth(int width)
568 {
569     m_settings->setLayoutFallbackWidth(width);
570 }
571
572 void WebSettingsImpl::setAsynchronousSpellCheckingEnabled(bool enabled)
573 {
574     m_settings->setAsynchronousSpellCheckingEnabled(enabled);
575 }
576
577 void WebSettingsImpl::setUnifiedTextCheckerEnabled(bool enabled)
578 {
579     m_settings->setUnifiedTextCheckerEnabled(enabled);
580 }
581
582 void WebSettingsImpl::setCaretBrowsingEnabled(bool enabled)
583 {
584     m_settings->setCaretBrowsingEnabled(enabled);
585 }
586
587 void WebSettingsImpl::setValidationMessageTimerMagnification(int newValue)
588 {
589     m_settings->setValidationMessageTimerMagnification(newValue);
590 }
591
592 void WebSettingsImpl::setFullScreenEnabled(bool enabled)
593 {
594     m_settings->setFullScreenEnabled(enabled);
595 }
596
597 void WebSettingsImpl::setAllowDisplayOfInsecureContent(bool enabled)
598 {
599     m_settings->setAllowDisplayOfInsecureContent(enabled);
600 }
601
602 void WebSettingsImpl::setAllowRunningOfInsecureContent(bool enabled)
603 {
604     m_settings->setAllowRunningOfInsecureContent(enabled);
605 }
606
607 void WebSettingsImpl::setPasswordEchoEnabled(bool flag)
608 {
609     m_settings->setPasswordEchoEnabled(flag);
610 }
611
612 void WebSettingsImpl::setPasswordEchoDurationInSeconds(double durationInSeconds)
613 {
614     m_settings->setPasswordEchoDurationInSeconds(durationInSeconds);
615 }
616
617 void WebSettingsImpl::setPerTilePaintingEnabled(bool enabled)
618 {
619     m_perTilePaintingEnabled = enabled;
620 }
621
622 void WebSettingsImpl::setShouldPrintBackgrounds(bool enabled)
623 {
624     m_settings->setShouldPrintBackgrounds(enabled);
625 }
626
627 void WebSettingsImpl::setShouldClearDocumentBackground(bool enabled)
628 {
629     m_settings->setShouldClearDocumentBackground(enabled);
630 }
631
632 void WebSettingsImpl::setEnableScrollAnimator(bool enabled)
633 {
634     m_settings->setScrollAnimatorEnabled(enabled);
635 }
636
637 void WebSettingsImpl::setEnableTouchAdjustment(bool enabled)
638 {
639     m_settings->setTouchAdjustmentEnabled(enabled);
640 }
641
642 bool WebSettingsImpl::scrollAnimatorEnabled() const
643 {
644     return m_settings->scrollAnimatorEnabled();
645 }
646
647 bool WebSettingsImpl::touchEditingEnabled() const
648 {
649     return m_settings->touchEditingEnabled();
650 }
651
652 bool WebSettingsImpl::viewportEnabled() const
653 {
654     return m_settings->viewportEnabled();
655 }
656
657 bool WebSettingsImpl::viewportMetaEnabled() const
658 {
659     return m_settings->viewportMetaEnabled();
660 }
661
662 bool WebSettingsImpl::mainFrameResizesAreOrientationChanges() const
663 {
664     return m_mainFrameResizesAreOrientationChanges;
665 }
666
667 void WebSettingsImpl::setShouldRespectImageOrientation(bool enabled)
668 {
669     m_settings->setShouldRespectImageOrientation(enabled);
670 }
671
672 void WebSettingsImpl::setMediaPlaybackRequiresUserGesture(bool required)
673 {
674     m_settings->setMediaPlaybackRequiresUserGesture(required);
675 }
676
677 void WebSettingsImpl::setMediaFullscreenRequiresUserGesture(bool required)
678 {
679     m_settings->setMediaFullscreenRequiresUserGesture(required);
680 }
681
682 void WebSettingsImpl::setFixedPositionCreatesStackingContext(bool creates)
683 {
684     m_settings->setFixedPositionCreatesStackingContext(creates);
685 }
686
687 void WebSettingsImpl::setViewportEnabled(bool enabled)
688 {
689     m_settings->setViewportEnabled(enabled);
690 }
691
692 void WebSettingsImpl::setViewportMetaEnabled(bool enabled)
693 {
694     m_settings->setViewportMetaEnabled(enabled);
695 }
696
697 void WebSettingsImpl::setSyncXHRInDocumentsEnabled(bool enabled)
698 {
699     m_settings->setSyncXHRInDocumentsEnabled(enabled);
700 }
701
702 void WebSettingsImpl::setCookieEnabled(bool enabled)
703 {
704     m_settings->setCookieEnabled(enabled);
705 }
706
707 void WebSettingsImpl::setGestureTapHighlightEnabled(bool enableHighlight)
708 {
709     m_gestureTapHighlightEnabled = enableHighlight;
710 }
711
712 void WebSettingsImpl::setAllowCustomScrollbarInMainFrame(bool enabled)
713 {
714     m_settings->setAllowCustomScrollbarInMainFrame(enabled);
715 }
716
717 void WebSettingsImpl::setCompositedScrollingForFramesEnabled(bool enabled)
718 {
719     m_settings->setCompositedScrollingForFramesEnabled(enabled);
720 }
721
722 void WebSettingsImpl::setCompositorTouchHitTesting(bool enabled)
723 {
724     m_settings->setCompositorTouchHitTesting(enabled);
725 }
726
727 void WebSettingsImpl::setSelectTrailingWhitespaceEnabled(bool enabled)
728 {
729     m_settings->setSelectTrailingWhitespaceEnabled(enabled);
730 }
731
732 void WebSettingsImpl::setSelectionIncludesAltImageText(bool enabled)
733 {
734     m_settings->setSelectionIncludesAltImageText(enabled);
735 }
736
737 void WebSettingsImpl::setSmartInsertDeleteEnabled(bool enabled)
738 {
739     m_settings->setSmartInsertDeleteEnabled(enabled);
740 }
741
742 void WebSettingsImpl::setPinchOverlayScrollbarThickness(int thickness)
743 {
744     m_pinchOverlayScrollbarThickness = thickness;
745 }
746
747 void WebSettingsImpl::setPinchVirtualViewportEnabled(bool enabled)
748 {
749     m_settings->setPinchVirtualViewportEnabled(enabled);
750 }
751
752 void WebSettingsImpl::setUseSolidColorScrollbars(bool enabled)
753 {
754     m_settings->setUseSolidColorScrollbars(enabled);
755 }
756
757 void WebSettingsImpl::setMainFrameResizesAreOrientationChanges(bool enabled)
758 {
759     m_mainFrameResizesAreOrientationChanges = enabled;
760 }
761
762 } // namespace blink