summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/page/Settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/Settings.h')
-rw-r--r--Source/WebCore/page/Settings.h579
1 files changed, 579 insertions, 0 deletions
diff --git a/Source/WebCore/page/Settings.h b/Source/WebCore/page/Settings.h
new file mode 100644
index 0000000..f6b2e2d
--- /dev/null
+++ b/Source/WebCore/page/Settings.h
@@ -0,0 +1,579 @@
+/*
+ * Copyright (C) 2003, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef Settings_h
+#define Settings_h
+
+#include "EditingBehaviorTypes.h"
+#include "FontRenderingMode.h"
+#include "KURL.h"
+#include <wtf/text/AtomicString.h>
+
+namespace WebCore {
+
+ class Page;
+
+ enum EditableLinkBehavior {
+ EditableLinkDefaultBehavior,
+ EditableLinkAlwaysLive,
+ EditableLinkOnlyLiveWithShiftKey,
+ EditableLinkLiveWhenNotFocused,
+ EditableLinkNeverLive
+ };
+
+ enum TextDirectionSubmenuInclusionBehavior {
+ TextDirectionSubmenuNeverIncluded,
+ TextDirectionSubmenuAutomaticallyIncluded,
+ TextDirectionSubmenuAlwaysIncluded
+ };
+
+ class Settings : public Noncopyable {
+ public:
+ Settings(Page*);
+
+#ifdef ANDROID_LAYOUT
+ // FIXME: How do we determine the margins other than guessing?
+ #define ANDROID_SSR_MARGIN_PADDING 3
+ #define ANDROID_FCTS_MARGIN_PADDING 10
+
+ enum LayoutAlgorithm {
+ kLayoutNormal,
+ kLayoutSSR,
+ kLayoutFitColumnToScreen
+ };
+#endif
+ void setStandardFontFamily(const AtomicString&);
+ const AtomicString& standardFontFamily() const { return m_standardFontFamily; }
+
+ void setFixedFontFamily(const AtomicString&);
+ const AtomicString& fixedFontFamily() const { return m_fixedFontFamily; }
+
+#ifdef ANDROID_LAYOUT
+ LayoutAlgorithm layoutAlgorithm() const { return m_layoutAlgorithm; }
+ void setLayoutAlgorithm(LayoutAlgorithm algorithm) { m_layoutAlgorithm = algorithm; }
+
+ bool useWideViewport() const { return m_useWideViewport; }
+ void setUseWideViewport(bool use) { m_useWideViewport = use; }
+#endif
+
+ void setSerifFontFamily(const AtomicString&);
+ const AtomicString& serifFontFamily() const { return m_serifFontFamily; }
+
+ void setSansSerifFontFamily(const AtomicString&);
+ const AtomicString& sansSerifFontFamily() const { return m_sansSerifFontFamily; }
+
+ void setCursiveFontFamily(const AtomicString&);
+ const AtomicString& cursiveFontFamily() const { return m_cursiveFontFamily; }
+
+ void setFantasyFontFamily(const AtomicString&);
+ const AtomicString& fantasyFontFamily() const { return m_fantasyFontFamily; }
+
+ void setMinimumFontSize(int);
+ int minimumFontSize() const { return m_minimumFontSize; }
+
+ void setMinimumLogicalFontSize(int);
+ int minimumLogicalFontSize() const { return m_minimumLogicalFontSize; }
+
+ void setDefaultFontSize(int);
+ int defaultFontSize() const { return m_defaultFontSize; }
+
+ void setDefaultFixedFontSize(int);
+ int defaultFixedFontSize() const { return m_defaultFixedFontSize; }
+
+ // Unlike areImagesEnabled, this only suppresses the network load of
+ // the image URL. A cached image will still be rendered if requested.
+ void setLoadsImagesAutomatically(bool);
+ bool loadsImagesAutomatically() const { return m_loadsImagesAutomatically; }
+
+#ifdef ANDROID_BLOCK_NETWORK_IMAGE
+ void setBlockNetworkImage(bool);
+ bool blockNetworkImage() const { return m_blockNetworkImage; }
+#endif
+ void setJavaScriptEnabled(bool);
+ // Instead of calling isJavaScriptEnabled directly, please consider calling
+ // ScriptController::canExecuteScripts, which takes things like the
+ // HTML sandbox attribute into account.
+ bool isJavaScriptEnabled() const { return m_isJavaScriptEnabled; }
+
+ void setWebSecurityEnabled(bool);
+ bool isWebSecurityEnabled() const { return m_isWebSecurityEnabled; }
+
+ void setAllowUniversalAccessFromFileURLs(bool);
+ bool allowUniversalAccessFromFileURLs() const { return m_allowUniversalAccessFromFileURLs; }
+
+ void setAllowFileAccessFromFileURLs(bool);
+ bool allowFileAccessFromFileURLs() const { return m_allowFileAccessFromFileURLs; }
+
+ void setJavaScriptCanOpenWindowsAutomatically(bool);
+ bool javaScriptCanOpenWindowsAutomatically() const { return m_javaScriptCanOpenWindowsAutomatically; }
+
+ void setJavaScriptCanAccessClipboard(bool);
+ bool javaScriptCanAccessClipboard() const { return m_javaScriptCanAccessClipboard; }
+
+ void setSpatialNavigationEnabled(bool);
+ bool isSpatialNavigationEnabled() const { return m_isSpatialNavigationEnabled; }
+
+ void setJavaEnabled(bool);
+ bool isJavaEnabled() const { return m_isJavaEnabled; }
+
+ void setImagesEnabled(bool);
+ bool areImagesEnabled() const { return m_areImagesEnabled; }
+
+ void setMediaEnabled(bool);
+ bool isMediaEnabled() const { return m_isMediaEnabled; }
+
+ void setPluginsEnabled(bool);
+ bool arePluginsEnabled() const { return m_arePluginsEnabled; }
+
+#ifdef ANDROID_PLUGINS
+ void setPluginsOnDemand(bool onDemand) { m_pluginsOnDemand = onDemand; }
+ bool arePluginsOnDemand() const { return m_pluginsOnDemand; }
+#endif
+
+ void setLocalStorageEnabled(bool);
+ bool localStorageEnabled() const { return m_localStorageEnabled; }
+
+#if ENABLE(DOM_STORAGE)
+ // Allow clients concerned with memory consumption to set a quota on session storage
+ // since the memory used won't be released until the Page is destroyed.
+ // Default is noQuota.
+ void setSessionStorageQuota(unsigned);
+ unsigned sessionStorageQuota() const { return m_sessionStorageQuota; }
+#endif
+
+ // When this option is set, WebCore will avoid storing any record of browsing activity
+ // that may persist on disk or remain displayed when the option is reset.
+ // This option does not affect the storage of such information in RAM.
+ // The following functions respect this setting:
+ // - HTML5/DOM Storage
+ // - Icon Database
+ // - Console Messages
+ // - MemoryCache
+ // - Application Cache
+ // - Back/Forward Page History
+ // - Page Search Results
+ // - HTTP Cookies
+ // - Plug-ins (that support NPNVprivateModeBool)
+ void setPrivateBrowsingEnabled(bool);
+ bool privateBrowsingEnabled() const { return m_privateBrowsingEnabled; }
+
+ void setCaretBrowsingEnabled(bool);
+ bool caretBrowsingEnabled() const { return m_caretBrowsingEnabled; }
+
+ void setDefaultTextEncodingName(const String&);
+ const String& defaultTextEncodingName() const { return m_defaultTextEncodingName; }
+
+ void setUsesEncodingDetector(bool);
+ bool usesEncodingDetector() const { return m_usesEncodingDetector; }
+
+ void setDNSPrefetchingEnabled(bool);
+ bool dnsPrefetchingEnabled() const { return m_dnsPrefetchingEnabled; }
+
+ void setUserStyleSheetLocation(const KURL&);
+ const KURL& userStyleSheetLocation() const { return m_userStyleSheetLocation; }
+
+ void setShouldPrintBackgrounds(bool);
+ bool shouldPrintBackgrounds() const { return m_shouldPrintBackgrounds; }
+
+ void setTextAreasAreResizable(bool);
+ bool textAreasAreResizable() const { return m_textAreasAreResizable; }
+
+ void setEditableLinkBehavior(EditableLinkBehavior);
+ EditableLinkBehavior editableLinkBehavior() const { return m_editableLinkBehavior; }
+
+ void setTextDirectionSubmenuInclusionBehavior(TextDirectionSubmenuInclusionBehavior);
+ TextDirectionSubmenuInclusionBehavior textDirectionSubmenuInclusionBehavior() const { return m_textDirectionSubmenuInclusionBehavior; }
+
+#if ENABLE(DASHBOARD_SUPPORT)
+ void setUsesDashboardBackwardCompatibilityMode(bool);
+ bool usesDashboardBackwardCompatibilityMode() const { return m_usesDashboardBackwardCompatibilityMode; }
+#endif
+
+ void setNeedsAdobeFrameReloadingQuirk(bool);
+ bool needsAcrobatFrameReloadingQuirk() const { return m_needsAdobeFrameReloadingQuirk; }
+
+ void setNeedsKeyboardEventDisambiguationQuirks(bool);
+ bool needsKeyboardEventDisambiguationQuirks() const { return m_needsKeyboardEventDisambiguationQuirks; }
+
+ void setTreatsAnyTextCSSLinkAsStylesheet(bool);
+ bool treatsAnyTextCSSLinkAsStylesheet() const { return m_treatsAnyTextCSSLinkAsStylesheet; }
+
+ void setNeedsLeopardMailQuirks(bool);
+ bool needsLeopardMailQuirks() const { return m_needsLeopardMailQuirks; }
+
+ void setNeedsTigerMailQuirks(bool);
+ bool needsTigerMailQuirks() const { return m_needsTigerMailQuirks; }
+
+ void setDOMPasteAllowed(bool);
+ bool isDOMPasteAllowed() const { return m_isDOMPasteAllowed; }
+
+ static void setMinDOMTimerInterval(double); // Interval specified in seconds.
+
+ void setUsesPageCache(bool);
+ bool usesPageCache() const { return m_usesPageCache; }
+
+ void setShrinksStandaloneImagesToFit(bool);
+ bool shrinksStandaloneImagesToFit() const { return m_shrinksStandaloneImagesToFit; }
+
+ void setShowsURLsInToolTips(bool);
+ bool showsURLsInToolTips() const { return m_showsURLsInToolTips; }
+
+ void setFTPDirectoryTemplatePath(const String&);
+ const String& ftpDirectoryTemplatePath() const { return m_ftpDirectoryTemplatePath; }
+
+ void setForceFTPDirectoryListings(bool);
+ bool forceFTPDirectoryListings() const { return m_forceFTPDirectoryListings; }
+
+ void setDeveloperExtrasEnabled(bool);
+ bool developerExtrasEnabled() const { return m_developerExtrasEnabled; }
+
+ void setFrameFlatteningEnabled(bool);
+ bool frameFlatteningEnabled() const { return m_frameFlatteningEnabled; }
+
+#ifdef ANDROID_META_SUPPORT
+ void resetMetadataSettings();
+ void setMetadataSettings(const String& key, const String& value);
+
+ void setViewportWidth(int);
+ int viewportWidth() const { return m_viewport_width; }
+
+ void setViewportHeight(int);
+ int viewportHeight() const { return m_viewport_height; }
+
+ void setViewportInitialScale(int);
+ int viewportInitialScale() const { return m_viewport_initial_scale; }
+
+ void setViewportMinimumScale(int);
+ int viewportMinimumScale() const { return m_viewport_minimum_scale; }
+
+ void setViewportMaximumScale(int);
+ int viewportMaximumScale() const { return m_viewport_maximum_scale; }
+
+ void setViewportUserScalable(bool);
+ bool viewportUserScalable() const { return m_viewport_user_scalable; }
+
+ void setViewportTargetDensityDpi(int);
+ int viewportTargetDensityDpi() const { return m_viewport_target_densitydpi; }
+
+ void setFormatDetectionAddress(bool);
+ bool formatDetectionAddress() const { return m_format_detection_address; }
+
+ void setFormatDetectionEmail(bool);
+ bool formatDetectionEmail() const { return m_format_detection_email; }
+
+ void setFormatDetectionTelephone(bool);
+ bool formatDetectionTelephone() const { return m_format_detection_telephone; }
+
+ void setDefaultFormatDetection(bool flag) { m_default_format_detection = flag; }
+#endif
+#ifdef ANDROID_MULTIPLE_WINDOWS
+ bool supportMultipleWindows() const { return m_supportMultipleWindows; }
+ void setSupportMultipleWindows(bool support) { m_supportMultipleWindows = support; }
+#endif
+ void setAuthorAndUserStylesEnabled(bool);
+ bool authorAndUserStylesEnabled() const { return m_authorAndUserStylesEnabled; }
+
+ void setFontRenderingMode(FontRenderingMode mode);
+ FontRenderingMode fontRenderingMode() const;
+
+ void setNeedsSiteSpecificQuirks(bool);
+ bool needsSiteSpecificQuirks() const { return m_needsSiteSpecificQuirks; }
+
+ void setWebArchiveDebugModeEnabled(bool);
+ bool webArchiveDebugModeEnabled() const { return m_webArchiveDebugModeEnabled; }
+
+ void setLocalFileContentSniffingEnabled(bool);
+ bool localFileContentSniffingEnabled() const { return m_localFileContentSniffingEnabled; }
+
+ void setLocalStorageDatabasePath(const String&);
+ const String& localStorageDatabasePath() const { return m_localStorageDatabasePath; }
+
+ void setApplicationChromeMode(bool);
+ bool inApplicationChromeMode() const { return m_inApplicationChromeMode; }
+
+ void setOfflineWebApplicationCacheEnabled(bool);
+ bool offlineWebApplicationCacheEnabled() const { return m_offlineWebApplicationCacheEnabled; }
+
+ void setShouldPaintCustomScrollbars(bool);
+ bool shouldPaintCustomScrollbars() const { return m_shouldPaintCustomScrollbars; }
+
+ void setEnforceCSSMIMETypeInNoQuirksMode(bool);
+ bool enforceCSSMIMETypeInNoQuirksMode() { return m_enforceCSSMIMETypeInNoQuirksMode; }
+
+ void setMaximumDecodedImageSize(size_t size) { m_maximumDecodedImageSize = size; }
+ size_t maximumDecodedImageSize() const { return m_maximumDecodedImageSize; }
+
+#if USE(SAFARI_THEME)
+ // Windows debugging pref (global) for switching between the Aqua look and a native windows look.
+ static void setShouldPaintNativeControls(bool);
+ static bool shouldPaintNativeControls() { return gShouldPaintNativeControls; }
+#endif
+
+ void setAllowScriptsToCloseWindows(bool);
+ bool allowScriptsToCloseWindows() const { return m_allowScriptsToCloseWindows; }
+
+ void setEditingBehaviorType(EditingBehaviorType behavior) { m_editingBehaviorType = behavior; }
+ EditingBehaviorType editingBehaviorType() const { return static_cast<EditingBehaviorType>(m_editingBehaviorType); }
+
+ void setDownloadableBinaryFontsEnabled(bool);
+ bool downloadableBinaryFontsEnabled() const { return m_downloadableBinaryFontsEnabled; }
+
+ void setXSSAuditorEnabled(bool);
+ bool xssAuditorEnabled() const { return m_xssAuditorEnabled; }
+
+ void setAcceleratedCompositingEnabled(bool);
+ bool acceleratedCompositingEnabled() const { return m_acceleratedCompositingEnabled; }
+
+ void setAcceleratedCompositingFor3DTransformsEnabled(bool);
+ bool acceleratedCompositingFor3DTransformsEnabled() const { return m_acceleratedCompositingFor3DTransformsEnabled; }
+
+ void setAcceleratedCompositingForVideoEnabled(bool);
+ bool acceleratedCompositingForVideoEnabled() const { return m_acceleratedCompositingForVideoEnabled; }
+
+ void setAcceleratedCompositingForPluginsEnabled(bool);
+ bool acceleratedCompositingForPluginsEnabled() const { return m_acceleratedCompositingForPluginsEnabled; }
+
+ void setAcceleratedCompositingForCanvasEnabled(bool);
+ bool acceleratedCompositingForCanvasEnabled() const { return m_acceleratedCompositingForCanvasEnabled; }
+
+ void setAcceleratedCompositingForAnimationEnabled(bool);
+ bool acceleratedCompositingForAnimationEnabled() const { return m_acceleratedCompositingForAnimationEnabled; }
+
+ void setShowDebugBorders(bool);
+ bool showDebugBorders() const { return m_showDebugBorders; }
+
+ void setShowRepaintCounter(bool);
+ bool showRepaintCounter() const { return m_showRepaintCounter; }
+
+ void setExperimentalNotificationsEnabled(bool);
+ bool experimentalNotificationsEnabled() const { return m_experimentalNotificationsEnabled; }
+
+#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
+ static void setShouldUseHighResolutionTimers(bool);
+ static bool shouldUseHighResolutionTimers() { return gShouldUseHighResolutionTimers; }
+#endif
+
+ void setPluginAllowedRunTime(unsigned);
+ unsigned pluginAllowedRunTime() const { return m_pluginAllowedRunTime; }
+
+ void setWebGLEnabled(bool);
+ bool webGLEnabled() const { return m_webGLEnabled; }
+
+ void setAccelerated2dCanvasEnabled(bool);
+ bool accelerated2dCanvasEnabled() const { return m_acceleratedCanvas2dEnabled; }
+
+ void setLoadDeferringEnabled(bool);
+ bool loadDeferringEnabled() const { return m_loadDeferringEnabled; }
+
+ void setTiledBackingStoreEnabled(bool);
+ bool tiledBackingStoreEnabled() const { return m_tiledBackingStoreEnabled; }
+
+ void setPaginateDuringLayoutEnabled(bool flag) { m_paginateDuringLayoutEnabled = flag; }
+ bool paginateDuringLayoutEnabled() const { return m_paginateDuringLayoutEnabled; }
+
+#if ENABLE(FULLSCREEN_API)
+ void setFullScreenEnabled(bool flag) { m_fullScreenAPIEnabled = flag; }
+ bool fullScreenEnabled() const { return m_fullScreenAPIEnabled; }
+#endif
+
+ void setAsynchronousSpellCheckingEnabled(bool flag) { m_asynchronousSpellCheckingEnabled = flag; }
+ bool asynchronousSpellCheckingEnabled() const { return m_asynchronousSpellCheckingEnabled; }
+
+ void setMemoryInfoEnabled(bool flag) { m_memoryInfoEnabled = flag; }
+ bool memoryInfoEnabled() const { return m_memoryInfoEnabled; }
+
+ // This setting will be removed when an HTML5 compatibility issue is
+ // resolved and WebKit implementation of interactive validation is
+ // completed. See http://webkit.org/b/40520, http://webkit.org/b/40747,
+ // and http://webkit.org/b/40908
+ void setInteractiveFormValidationEnabled(bool flag) { m_interactiveFormValidation = flag; }
+ bool interactiveFormValidationEnabled() const { return m_interactiveFormValidation; }
+
+ void setUsePreHTML5ParserQuirks(bool flag) { m_usePreHTML5ParserQuirks = flag; }
+ bool usePreHTML5ParserQuirks() const { return m_usePreHTML5ParserQuirks; }
+
+ void setHyperlinkAuditingEnabled(bool flag) { m_hyperlinkAuditingEnabled = flag; }
+ bool hyperlinkAuditingEnabled() const { return m_hyperlinkAuditingEnabled; }
+
+ void setCrossOriginCheckInGetMatchedCSSRulesDisabled(bool flag) { m_crossOriginCheckInGetMatchedCSSRulesDisabled = flag; }
+ bool crossOriginCheckInGetMatchedCSSRulesDisabled() const { return m_crossOriginCheckInGetMatchedCSSRulesDisabled; }
+
+#if ENABLE(WEB_AUTOFILL)
+ void setAutoFillEnabled(bool flag) { m_autoFillEnabled = flag; }
+ bool autoFillEnabled() { return m_autoFillEnabled; }
+#endif
+
+ private:
+ Page* m_page;
+
+ String m_defaultTextEncodingName;
+ String m_ftpDirectoryTemplatePath;
+ String m_localStorageDatabasePath;
+ KURL m_userStyleSheetLocation;
+ AtomicString m_standardFontFamily;
+ AtomicString m_fixedFontFamily;
+ AtomicString m_serifFontFamily;
+ AtomicString m_sansSerifFontFamily;
+ AtomicString m_cursiveFontFamily;
+ AtomicString m_fantasyFontFamily;
+#ifdef ANDROID_LAYOUT
+ LayoutAlgorithm m_layoutAlgorithm;
+#endif
+ EditableLinkBehavior m_editableLinkBehavior;
+ TextDirectionSubmenuInclusionBehavior m_textDirectionSubmenuInclusionBehavior;
+ int m_minimumFontSize;
+ int m_minimumLogicalFontSize;
+ int m_defaultFontSize;
+ int m_defaultFixedFontSize;
+#ifdef ANDROID_META_SUPPORT
+ // range is from 200 to 10,000. 0 is a special value means device-width.
+ // default is -1, which means undefined.
+ int m_viewport_width;
+ // range is from 223 to 10,000. 0 is a special value means device-height
+ // default is -1, which means undefined.
+ int m_viewport_height;
+ // range is from 1 to 1000 in percent. default is 0, which means undefined.
+ int m_viewport_initial_scale;
+ // range is from 1 to 1000 in percent. default is 0, which means undefined.
+ int m_viewport_minimum_scale;
+ // range is from 1 to 1000 in percent. default is 0, which means undefined.
+ int m_viewport_maximum_scale;
+ // default is yes
+ bool m_viewport_user_scalable : 1;
+ // range is from 70 to 400. 0 is a special value means device-dpi
+ // default is -1, which means undefined.
+ int m_viewport_target_densitydpi;
+ // default is yes
+ bool m_format_detection_telephone : 1;
+ // default is yes
+ bool m_format_detection_address : 1;
+ // default is yes
+ bool m_format_detection_email : 1;
+ bool m_default_format_detection : 1;
+#endif
+#ifdef ANDROID_LAYOUT
+ bool m_useWideViewport : 1;
+#endif
+#ifdef ANDROID_MULTIPLE_WINDOWS
+ bool m_supportMultipleWindows : 1;
+#endif
+#ifdef ANDROID_BLOCK_NETWORK_IMAGE
+ bool m_blockNetworkImage : 1;
+#endif
+ size_t m_maximumDecodedImageSize;
+#if ENABLE(DOM_STORAGE)
+ unsigned m_sessionStorageQuota;
+#endif
+ unsigned m_pluginAllowedRunTime;
+ unsigned m_editingBehaviorType;
+ bool m_isSpatialNavigationEnabled : 1;
+ bool m_isJavaEnabled : 1;
+ bool m_loadsImagesAutomatically : 1;
+ bool m_privateBrowsingEnabled : 1;
+ bool m_caretBrowsingEnabled : 1;
+ bool m_areImagesEnabled : 1;
+ bool m_isMediaEnabled : 1;
+ bool m_arePluginsEnabled : 1;
+ bool m_localStorageEnabled : 1;
+ bool m_isJavaScriptEnabled : 1;
+ bool m_isWebSecurityEnabled : 1;
+ bool m_allowUniversalAccessFromFileURLs: 1;
+ bool m_allowFileAccessFromFileURLs: 1;
+ bool m_javaScriptCanOpenWindowsAutomatically : 1;
+ bool m_javaScriptCanAccessClipboard : 1;
+ bool m_shouldPrintBackgrounds : 1;
+ bool m_textAreasAreResizable : 1;
+#if ENABLE(DASHBOARD_SUPPORT)
+ bool m_usesDashboardBackwardCompatibilityMode : 1;
+#endif
+ bool m_needsAdobeFrameReloadingQuirk : 1;
+ bool m_needsKeyboardEventDisambiguationQuirks : 1;
+ bool m_treatsAnyTextCSSLinkAsStylesheet : 1;
+ bool m_needsLeopardMailQuirks : 1;
+ bool m_needsTigerMailQuirks : 1;
+ bool m_isDOMPasteAllowed : 1;
+ bool m_shrinksStandaloneImagesToFit : 1;
+ bool m_usesPageCache: 1;
+ bool m_showsURLsInToolTips : 1;
+ bool m_forceFTPDirectoryListings : 1;
+ bool m_developerExtrasEnabled : 1;
+ bool m_authorAndUserStylesEnabled : 1;
+ bool m_needsSiteSpecificQuirks : 1;
+ unsigned m_fontRenderingMode : 1;
+ bool m_frameFlatteningEnabled : 1;
+ bool m_webArchiveDebugModeEnabled : 1;
+ bool m_localFileContentSniffingEnabled : 1;
+ bool m_inApplicationChromeMode : 1;
+ bool m_offlineWebApplicationCacheEnabled : 1;
+ bool m_shouldPaintCustomScrollbars : 1;
+ bool m_enforceCSSMIMETypeInNoQuirksMode : 1;
+ bool m_usesEncodingDetector : 1;
+ bool m_allowScriptsToCloseWindows : 1;
+ bool m_downloadableBinaryFontsEnabled : 1;
+ bool m_xssAuditorEnabled : 1;
+ bool m_acceleratedCompositingEnabled : 1;
+ bool m_acceleratedCompositingFor3DTransformsEnabled : 1;
+ bool m_acceleratedCompositingForVideoEnabled : 1;
+ bool m_acceleratedCompositingForPluginsEnabled : 1;
+ bool m_acceleratedCompositingForCanvasEnabled : 1;
+ bool m_acceleratedCompositingForAnimationEnabled : 1;
+ bool m_showDebugBorders : 1;
+ bool m_showRepaintCounter : 1;
+ bool m_experimentalNotificationsEnabled : 1;
+ bool m_webGLEnabled : 1;
+ bool m_acceleratedCanvas2dEnabled : 1;
+ bool m_loadDeferringEnabled : 1;
+ bool m_tiledBackingStoreEnabled : 1;
+ bool m_paginateDuringLayoutEnabled : 1;
+ bool m_dnsPrefetchingEnabled : 1;
+#if ENABLE(FULLSCREEN_API)
+ bool m_fullScreenAPIEnabled : 1;
+#endif
+ bool m_asynchronousSpellCheckingEnabled: 1;
+ bool m_memoryInfoEnabled: 1;
+ bool m_interactiveFormValidation: 1;
+ bool m_usePreHTML5ParserQuirks: 1;
+ bool m_hyperlinkAuditingEnabled : 1;
+ bool m_crossOriginCheckInGetMatchedCSSRulesDisabled : 1;
+
+#if ENABLE(WEB_AUTOFILL)
+ bool m_autoFillEnabled: 1;
+#endif
+#ifdef ANDROID_PLUGINS
+ bool m_pluginsOnDemand : 1;
+#endif
+
+#if USE(SAFARI_THEME)
+ static bool gShouldPaintNativeControls;
+#endif
+#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
+ static bool gShouldUseHighResolutionTimers;
+#endif
+ };
+
+} // namespace WebCore
+
+#endif // Settings_h