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