2 * Copyright (C) 2009 Google Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
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
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.
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.
32 #include "web/WebSettingsImpl.h"
34 #include "core/frame/Settings.h"
35 #include "core/inspector/InspectorController.h"
36 #include "platform/graphics/DeferredImageDecoder.h"
38 #include "public/platform/WebString.h"
39 #include "public/platform/WebURL.h"
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)
62 void WebSettingsImpl::setStandardFontFamily(const WebString& font, UScriptCode script)
64 if (m_settings->genericFontFamilySettings().updateStandard(font, script))
65 m_settings->notifyGenericFontFamilyChange();
68 void WebSettingsImpl::setFixedFontFamily(const WebString& font, UScriptCode script)
70 if (m_settings->genericFontFamilySettings().updateFixed(font, script))
71 m_settings->notifyGenericFontFamilyChange();
74 void WebSettingsImpl::setForceZeroLayoutHeight(bool enabled)
76 m_settings->setForceZeroLayoutHeight(enabled);
79 void WebSettingsImpl::setFullscreenSupported(bool enabled)
81 m_settings->setFullscreenSupported(enabled);
84 void WebSettingsImpl::setSerifFontFamily(const WebString& font, UScriptCode script)
86 if (m_settings->genericFontFamilySettings().updateSerif(font, script))
87 m_settings->notifyGenericFontFamilyChange();
90 void WebSettingsImpl::setSansSerifFontFamily(const WebString& font, UScriptCode script)
92 if (m_settings->genericFontFamilySettings().updateSansSerif(font, script))
93 m_settings->notifyGenericFontFamilyChange();
96 void WebSettingsImpl::setCursiveFontFamily(const WebString& font, UScriptCode script)
98 if (m_settings->genericFontFamilySettings().updateCursive(font, script))
99 m_settings->notifyGenericFontFamilyChange();
102 void WebSettingsImpl::setFantasyFontFamily(const WebString& font, UScriptCode script)
104 if (m_settings->genericFontFamilySettings().updateFantasy(font, script))
105 m_settings->notifyGenericFontFamilyChange();
108 void WebSettingsImpl::setPictographFontFamily(const WebString& font, UScriptCode script)
110 if (m_settings->genericFontFamilySettings().updatePictograph(font, script))
111 m_settings->notifyGenericFontFamilyChange();
114 void WebSettingsImpl::setDefaultFontSize(int size)
116 m_settings->setDefaultFontSize(size);
119 void WebSettingsImpl::setDefaultFixedFontSize(int size)
121 m_settings->setDefaultFixedFontSize(size);
124 void WebSettingsImpl::setDefaultVideoPosterURL(const WebString& url)
126 m_settings->setDefaultVideoPosterURL(url);
129 void WebSettingsImpl::setMinimumFontSize(int size)
131 m_settings->setMinimumFontSize(size);
134 void WebSettingsImpl::setMinimumLogicalFontSize(int size)
136 m_settings->setMinimumLogicalFontSize(size);
139 void WebSettingsImpl::setDeviceSupportsTouch(bool deviceSupportsTouch)
141 m_settings->setDeviceSupportsTouch(deviceSupportsTouch);
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);
149 m_settings->setPrimaryPointerType(blink::PointerTypeNone);
150 m_settings->setPrimaryHoverType(blink::HoverTypeNone);
154 void WebSettingsImpl::setDeviceSupportsMouse(bool deviceSupportsMouse)
156 m_settings->setDeviceSupportsMouse(deviceSupportsMouse);
159 void WebSettingsImpl::setAutoZoomFocusedNodeToLegibleScale(bool autoZoomFocusedNodeToLegibleScale)
161 m_autoZoomFocusedNodeToLegibleScale = autoZoomFocusedNodeToLegibleScale;
164 void WebSettingsImpl::setTextAutosizingEnabled(bool enabled)
166 m_inspectorController->setTextAutosizingEnabled(enabled);
169 void WebSettingsImpl::setAccessibilityFontScaleFactor(float fontScaleFactor)
171 m_settings->setAccessibilityFontScaleFactor(fontScaleFactor);
174 void WebSettingsImpl::setAccessibilityEnabled(bool enabled)
176 m_settings->setAccessibilityEnabled(enabled);
179 void WebSettingsImpl::setInlineTextBoxAccessibilityEnabled(bool enabled)
181 m_settings->setInlineTextBoxAccessibilityEnabled(enabled);
184 void WebSettingsImpl::setDeviceScaleAdjustment(float deviceScaleAdjustment)
186 m_inspectorController->setDeviceScaleAdjustment(deviceScaleAdjustment);
189 void WebSettingsImpl::setDefaultTextEncodingName(const WebString& encoding)
191 m_settings->setDefaultTextEncodingName((String)encoding);
194 void WebSettingsImpl::setJavaScriptEnabled(bool enabled)
196 m_settings->setScriptEnabled(enabled);
199 void WebSettingsImpl::setWebSecurityEnabled(bool enabled)
201 m_settings->setWebSecurityEnabled(enabled);
204 void WebSettingsImpl::setJavaScriptCanOpenWindowsAutomatically(bool canOpenWindows)
206 m_settings->setJavaScriptCanOpenWindowsAutomatically(canOpenWindows);
209 void WebSettingsImpl::setSupportDeprecatedTargetDensityDPI(bool supportDeprecatedTargetDensityDPI)
211 m_supportDeprecatedTargetDensityDPI = supportDeprecatedTargetDensityDPI;
214 void WebSettingsImpl::setViewportMetaLayoutSizeQuirk(bool viewportMetaLayoutSizeQuirk)
216 m_viewportMetaLayoutSizeQuirk = viewportMetaLayoutSizeQuirk;
219 void WebSettingsImpl::setViewportMetaMergeContentQuirk(bool viewportMetaMergeContentQuirk)
221 m_settings->setViewportMetaMergeContentQuirk(viewportMetaMergeContentQuirk);
224 void WebSettingsImpl::setViewportMetaNonUserScalableQuirk(bool viewportMetaNonUserScalableQuirk)
226 m_viewportMetaNonUserScalableQuirk = viewportMetaNonUserScalableQuirk;
229 void WebSettingsImpl::setViewportMetaZeroValuesQuirk(bool viewportMetaZeroValuesQuirk)
231 m_settings->setViewportMetaZeroValuesQuirk(viewportMetaZeroValuesQuirk);
234 void WebSettingsImpl::setIgnoreMainFrameOverflowHiddenQuirk(bool ignoreMainFrameOverflowHiddenQuirk)
236 m_settings->setIgnoreMainFrameOverflowHiddenQuirk(ignoreMainFrameOverflowHiddenQuirk);
239 void WebSettingsImpl::setReportScreenSizeInPhysicalPixelsQuirk(bool reportScreenSizeInPhysicalPixelsQuirk)
241 m_settings->setReportScreenSizeInPhysicalPixelsQuirk(reportScreenSizeInPhysicalPixelsQuirk);
244 void WebSettingsImpl::setClobberUserAgentInitialScaleQuirk(bool clobberUserAgentInitialScaleQuirk)
246 m_clobberUserAgentInitialScaleQuirk = clobberUserAgentInitialScaleQuirk;
249 void WebSettingsImpl::setSupportsMultipleWindows(bool supportsMultipleWindows)
251 m_settings->setSupportsMultipleWindows(supportsMultipleWindows);
254 void WebSettingsImpl::setLoadsImagesAutomatically(bool loadsImagesAutomatically)
256 m_settings->setLoadsImagesAutomatically(loadsImagesAutomatically);
259 void WebSettingsImpl::setImagesEnabled(bool enabled)
261 m_settings->setImagesEnabled(enabled);
264 void WebSettingsImpl::setLoadWithOverviewMode(bool enabled)
266 m_settings->setLoadWithOverviewMode(enabled);
269 void WebSettingsImpl::setPluginsEnabled(bool enabled)
271 m_settings->setPluginsEnabled(enabled);
274 void WebSettingsImpl::setAvailablePointerTypes(int pointers)
276 m_settings->setAvailablePointerTypes(pointers);
279 void WebSettingsImpl::setPrimaryPointerType(PointerType pointer)
281 m_settings->setPrimaryPointerType(static_cast<blink::PointerType>(pointer));
284 void WebSettingsImpl::setAvailableHoverTypes(int types)
286 m_settings->setAvailableHoverTypes(types);
289 void WebSettingsImpl::setPrimaryHoverType(HoverType type)
291 m_settings->setPrimaryHoverType(static_cast<blink::HoverType>(type));
294 void WebSettingsImpl::setDOMPasteAllowed(bool enabled)
296 m_settings->setDOMPasteAllowed(enabled);
299 void WebSettingsImpl::setShrinksStandaloneImagesToFit(bool shrinkImages)
301 m_settings->setShrinksStandaloneImagesToFit(shrinkImages);
304 void WebSettingsImpl::setShrinksViewportContentToFit(bool shrinkViewportContent)
306 m_shrinksViewportContentToFit = shrinkViewportContent;
309 void WebSettingsImpl::setSpatialNavigationEnabled(bool enabled)
311 m_settings->setSpatialNavigationEnabled(enabled);
314 void WebSettingsImpl::setUsesEncodingDetector(bool usesDetector)
316 m_settings->setUsesEncodingDetector(usesDetector);
319 void WebSettingsImpl::setTextAreasAreResizable(bool areResizable)
321 m_settings->setTextAreasAreResizable(areResizable);
324 void WebSettingsImpl::setJavaEnabled(bool enabled)
326 m_settings->setJavaEnabled(enabled);
329 void WebSettingsImpl::setAllowScriptsToCloseWindows(bool allow)
331 m_settings->setAllowScriptsToCloseWindows(allow);
334 void WebSettingsImpl::setUseLegacyBackgroundSizeShorthandBehavior(bool useLegacyBackgroundSizeShorthandBehavior)
336 m_settings->setUseLegacyBackgroundSizeShorthandBehavior(useLegacyBackgroundSizeShorthandBehavior);
339 void WebSettingsImpl::setWideViewportQuirkEnabled(bool wideViewportQuirkEnabled)
341 m_settings->setWideViewportQuirkEnabled(wideViewportQuirkEnabled);
344 void WebSettingsImpl::setUseWideViewport(bool useWideViewport)
346 m_settings->setUseWideViewport(useWideViewport);
349 void WebSettingsImpl::setDoubleTapToZoomEnabled(bool doubleTapToZoomEnabled)
351 m_doubleTapToZoomEnabled = doubleTapToZoomEnabled;
354 void WebSettingsImpl::setDownloadableBinaryFontsEnabled(bool enabled)
356 m_settings->setDownloadableBinaryFontsEnabled(enabled);
359 void WebSettingsImpl::setJavaScriptCanAccessClipboard(bool enabled)
361 m_settings->setJavaScriptCanAccessClipboard(enabled);
364 void WebSettingsImpl::setXSSAuditorEnabled(bool enabled)
366 m_settings->setXSSAuditorEnabled(enabled);
369 void WebSettingsImpl::setUnsafePluginPastingEnabled(bool enabled)
371 m_settings->setUnsafePluginPastingEnabled(enabled);
374 void WebSettingsImpl::setDNSPrefetchingEnabled(bool enabled)
376 m_settings->setDNSPrefetchingEnabled(enabled);
379 void WebSettingsImpl::setLocalStorageEnabled(bool enabled)
381 m_settings->setLocalStorageEnabled(enabled);
384 void WebSettingsImpl::setMainFrameClipsContent(bool enabled)
386 m_settings->setMainFrameClipsContent(enabled);
389 void WebSettingsImpl::setMaxTouchPoints(int maxTouchPoints)
391 m_settings->setMaxTouchPoints(maxTouchPoints);
394 void WebSettingsImpl::setAllowUniversalAccessFromFileURLs(bool allow)
396 m_settings->setAllowUniversalAccessFromFileURLs(allow);
399 void WebSettingsImpl::setAllowFileAccessFromFileURLs(bool allow)
401 m_settings->setAllowFileAccessFromFileURLs(allow);
404 void WebSettingsImpl::setThreadedScrollingEnabled(bool enabled)
406 m_settings->setThreadedScrollingEnabled(enabled);
409 void WebSettingsImpl::setTouchDragDropEnabled(bool enabled)
411 m_settings->setTouchDragDropEnabled(enabled);
414 void WebSettingsImpl::setTouchEditingEnabled(bool enabled)
416 m_settings->setTouchEditingEnabled(enabled);
419 void WebSettingsImpl::setOfflineWebApplicationCacheEnabled(bool enabled)
421 m_settings->setOfflineWebApplicationCacheEnabled(enabled);
424 void WebSettingsImpl::setWebAudioEnabled(bool enabled)
426 m_settings->setWebAudioEnabled(enabled);
429 void WebSettingsImpl::setExperimentalWebGLEnabled(bool enabled)
431 m_settings->setWebGLEnabled(enabled);
434 void WebSettingsImpl::setRegionBasedColumnsEnabled(bool enabled)
436 m_settings->setRegionBasedColumnsEnabled(enabled);
439 void WebSettingsImpl::setOpenGLMultisamplingEnabled(bool enabled)
441 m_settings->setOpenGLMultisamplingEnabled(enabled);
444 void WebSettingsImpl::setRenderVSyncNotificationEnabled(bool enabled)
446 m_renderVSyncNotificationEnabled = enabled;
449 void WebSettingsImpl::setWebGLErrorsToConsoleEnabled(bool enabled)
451 m_settings->setWebGLErrorsToConsoleEnabled(enabled);
454 void WebSettingsImpl::setShowFPSCounter(bool show)
456 m_showFPSCounter = show;
459 void WebSettingsImpl::setShowPaintRects(bool show)
461 m_showPaintRects = show;
464 void WebSettingsImpl::setEditingBehavior(EditingBehavior behavior)
466 m_settings->setEditingBehaviorType(static_cast<EditingBehaviorType>(behavior));
469 void WebSettingsImpl::setAcceleratedCompositingEnabled(bool enabled)
471 m_settings->setAcceleratedCompositingEnabled(enabled);
474 void WebSettingsImpl::setMockScrollbarsEnabled(bool enabled)
476 m_settings->setMockScrollbarsEnabled(enabled);
479 void WebSettingsImpl::setMockGestureTapHighlightsEnabled(bool enabled)
481 m_settings->setMockGestureTapHighlightsEnabled(enabled);
484 void WebSettingsImpl::setAccelerated2dCanvasEnabled(bool enabled)
486 m_settings->setAccelerated2dCanvasEnabled(enabled);
489 void WebSettingsImpl::setAccelerated2dCanvasMSAASampleCount(int count)
491 m_settings->setAccelerated2dCanvasMSAASampleCount(count);
494 void WebSettingsImpl::setAntialiased2dCanvasEnabled(bool enabled)
496 m_settings->setAntialiased2dCanvasEnabled(enabled);
499 void WebSettingsImpl::setContainerCullingEnabled(bool enabled)
501 m_settings->setContainerCullingEnabled(enabled);
504 void WebSettingsImpl::setDeferredImageDecodingEnabled(bool enabled)
506 DeferredImageDecoder::setEnabled(enabled);
507 m_deferredImageDecodingEnabled = enabled;
510 void WebSettingsImpl::setDeferredFiltersEnabled(bool enabled)
512 m_settings->setDeferredFiltersEnabled(enabled);
515 void WebSettingsImpl::setPreferCompositingToLCDTextEnabled(bool enabled)
517 m_inspectorController->setPreferCompositingToLCDTextEnabled(enabled);
520 void WebSettingsImpl::setMinimumAccelerated2dCanvasSize(int numPixels)
522 m_settings->setMinimumAccelerated2dCanvasSize(numPixels);
525 void WebSettingsImpl::setHyperlinkAuditingEnabled(bool enabled)
527 m_settings->setHyperlinkAuditingEnabled(enabled);
530 void WebSettingsImpl::setLayerSquashingEnabled(bool enabled)
532 m_settings->setLayerSquashingEnabled(enabled);
535 void WebSettingsImpl::setAsynchronousSpellCheckingEnabled(bool enabled)
537 m_settings->setAsynchronousSpellCheckingEnabled(enabled);
540 void WebSettingsImpl::setUnifiedTextCheckerEnabled(bool enabled)
542 m_settings->setUnifiedTextCheckerEnabled(enabled);
545 void WebSettingsImpl::setCaretBrowsingEnabled(bool enabled)
547 m_settings->setCaretBrowsingEnabled(enabled);
550 void WebSettingsImpl::setValidationMessageTimerMagnification(int newValue)
552 m_settings->setValidationMessageTimerMagnification(newValue);
555 void WebSettingsImpl::setAllowDisplayOfInsecureContent(bool enabled)
557 m_settings->setAllowDisplayOfInsecureContent(enabled);
560 void WebSettingsImpl::setAllowRunningOfInsecureContent(bool enabled)
562 m_settings->setAllowRunningOfInsecureContent(enabled);
565 void WebSettingsImpl::setAllowConnectingInsecureWebSocket(bool enabled)
567 m_settings->setAllowConnectingInsecureWebSocket(enabled);
570 void WebSettingsImpl::setPasswordEchoEnabled(bool flag)
572 m_settings->setPasswordEchoEnabled(flag);
575 void WebSettingsImpl::setPasswordEchoDurationInSeconds(double durationInSeconds)
577 m_settings->setPasswordEchoDurationInSeconds(durationInSeconds);
580 void WebSettingsImpl::setPerTilePaintingEnabled(bool enabled)
582 m_perTilePaintingEnabled = enabled;
585 void WebSettingsImpl::setShouldPrintBackgrounds(bool enabled)
587 m_settings->setShouldPrintBackgrounds(enabled);
590 void WebSettingsImpl::setShouldClearDocumentBackground(bool enabled)
592 m_settings->setShouldClearDocumentBackground(enabled);
595 void WebSettingsImpl::setEnableScrollAnimator(bool enabled)
597 m_settings->setScrollAnimatorEnabled(enabled);
600 void WebSettingsImpl::setEnableTouchAdjustment(bool enabled)
602 m_settings->setTouchAdjustmentEnabled(enabled);
605 int WebSettingsImpl::availablePointerTypes() const
607 return m_settings->availablePointerTypes();
610 WebSettings::PointerType WebSettingsImpl::primaryPointerType() const
612 return static_cast<PointerType>(m_settings->primaryPointerType());
615 int WebSettingsImpl::availableHoverTypes() const
617 return m_settings->availableHoverTypes();
620 WebSettings::HoverType WebSettingsImpl::primaryHoverType() const
622 return static_cast<HoverType>(m_settings->primaryHoverType());
625 bool WebSettingsImpl::viewportEnabled() const
627 return m_settings->viewportEnabled();
630 bool WebSettingsImpl::mockGestureTapHighlightsEnabled() const
632 return m_settings->mockGestureTapHighlightsEnabled();
635 bool WebSettingsImpl::mainFrameResizesAreOrientationChanges() const
637 return m_mainFrameResizesAreOrientationChanges;
640 bool WebSettingsImpl::shrinksViewportContentToFit() const
642 return m_shrinksViewportContentToFit;
645 void WebSettingsImpl::setShouldRespectImageOrientation(bool enabled)
647 m_settings->setShouldRespectImageOrientation(enabled);
650 void WebSettingsImpl::setMediaControlsOverlayPlayButtonEnabled(bool enabled)
652 m_settings->setMediaControlsOverlayPlayButtonEnabled(enabled);
655 void WebSettingsImpl::setMediaPlaybackRequiresUserGesture(bool required)
657 m_settings->setMediaPlaybackRequiresUserGesture(required);
660 void WebSettingsImpl::setViewportEnabled(bool enabled)
662 m_settings->setViewportEnabled(enabled);
665 void WebSettingsImpl::setViewportMetaEnabled(bool enabled)
667 m_settings->setViewportMetaEnabled(enabled);
670 void WebSettingsImpl::setSyncXHRInDocumentsEnabled(bool enabled)
672 m_settings->setSyncXHRInDocumentsEnabled(enabled);
675 void WebSettingsImpl::setCookieEnabled(bool enabled)
677 m_settings->setCookieEnabled(enabled);
680 void WebSettingsImpl::setNavigateOnDragDrop(bool enabled)
682 m_settings->setNavigateOnDragDrop(enabled);
685 void WebSettingsImpl::setAllowCustomScrollbarInMainFrame(bool enabled)
687 m_settings->setAllowCustomScrollbarInMainFrame(enabled);
690 void WebSettingsImpl::setSelectTrailingWhitespaceEnabled(bool enabled)
692 m_settings->setSelectTrailingWhitespaceEnabled(enabled);
695 void WebSettingsImpl::setSelectionIncludesAltImageText(bool enabled)
697 m_settings->setSelectionIncludesAltImageText(enabled);
700 void WebSettingsImpl::setSmartInsertDeleteEnabled(bool enabled)
702 m_settings->setSmartInsertDeleteEnabled(enabled);
705 void WebSettingsImpl::setPinchOverlayScrollbarThickness(int thickness)
707 m_settings->setPinchOverlayScrollbarThickness(thickness);
710 void WebSettingsImpl::setPinchVirtualViewportEnabled(bool enabled)
712 m_settings->setPinchVirtualViewportEnabled(enabled);
715 void WebSettingsImpl::setUseSolidColorScrollbars(bool enabled)
717 m_settings->setUseSolidColorScrollbars(enabled);
720 void WebSettingsImpl::setMainFrameResizesAreOrientationChanges(bool enabled)
722 m_mainFrameResizesAreOrientationChanges = enabled;
725 void WebSettingsImpl::setDisallowFullscreenForNonMediaElements(bool enabled)
727 m_settings->setDisallowFullscreenForNonMediaElements(enabled);
730 void WebSettingsImpl::setV8CacheOptions(V8CacheOptions options)
732 m_settings->setV8CacheOptions(static_cast<blink::V8CacheOptions>(options));
735 void WebSettingsImpl::setV8ScriptStreamingEnabled(bool enabled)
737 m_settings->setV8ScriptStreamingEnabled(enabled);