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