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