Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / WebSettingsImpl.cpp
1 /*
2  * Copyright (C) 2009 Google Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
8  *     * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *     * Redistributions in binary form must reproduce the above
11  * copyright notice, this list of conditions and the following disclaimer
12  * in the documentation and/or other materials provided with the
13  * distribution.
14  *     * Neither the name of Google Inc. nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30
31 #include "config.h"
32 #include "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