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