Settings.h revision bbcce278be9be6a85f47928c38a74c8d36a13a85
18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
22daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved.
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *           (C) 2006 Graham Dennis (graham.dennis@gmail.com)
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met:
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    documentation and/or other materials provided with the distribution.
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef Settings_h
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define Settings_h
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
30545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "EditingBehaviorTypes.h"
315f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#include "FontRenderingMode.h"
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "KURL.h"
33f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick#include <wtf/text/AtomicString.h>
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    class Page;
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    enum EditableLinkBehavior {
405f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        EditableLinkDefaultBehavior,
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        EditableLinkAlwaysLive,
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        EditableLinkOnlyLiveWithShiftKey,
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        EditableLinkLiveWhenNotFocused,
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        EditableLinkNeverLive
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    };
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
47635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    enum TextDirectionSubmenuInclusionBehavior {
48635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        TextDirectionSubmenuNeverIncluded,
49635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        TextDirectionSubmenuAutomaticallyIncluded,
50635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        TextDirectionSubmenuAlwaysIncluded
51635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    };
52635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
53ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch    class Settings {
54ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        WTF_MAKE_NONCOPYABLE(Settings); WTF_MAKE_FAST_ALLOCATED;
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    public:
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        Settings(Page*);
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_LAYOUT
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // FIXME: How do we determine the margins other than guessing?
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        #define ANDROID_SSR_MARGIN_PADDING  3
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        #define ANDROID_FCTS_MARGIN_PADDING  10
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        enum LayoutAlgorithm {
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            kLayoutNormal,
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            kLayoutSSR,
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            kLayoutFitColumnToScreen
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        };
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setStandardFontFamily(const AtomicString&);
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const AtomicString& standardFontFamily() const { return m_standardFontFamily; }
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setFixedFontFamily(const AtomicString&);
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const AtomicString& fixedFontFamily() const { return m_fixedFontFamily; }
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_LAYOUT
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        LayoutAlgorithm layoutAlgorithm() const { return m_layoutAlgorithm; }
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setLayoutAlgorithm(LayoutAlgorithm algorithm) { m_layoutAlgorithm = algorithm; }
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool useWideViewport() const { return m_useWideViewport; }
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setUseWideViewport(bool use) { m_useWideViewport = use; }
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
82bc7b84de3fd863c500a8169fd00dca3811cadbb3Steve Block
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setSerifFontFamily(const AtomicString&);
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const AtomicString& serifFontFamily() const { return m_serifFontFamily; }
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setSansSerifFontFamily(const AtomicString&);
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const AtomicString& sansSerifFontFamily() const { return m_sansSerifFontFamily; }
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setCursiveFontFamily(const AtomicString&);
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const AtomicString& cursiveFontFamily() const { return m_cursiveFontFamily; }
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setFantasyFontFamily(const AtomicString&);
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const AtomicString& fantasyFontFamily() const { return m_fantasyFontFamily; }
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setMinimumFontSize(int);
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int minimumFontSize() const { return m_minimumFontSize; }
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setMinimumLogicalFontSize(int);
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int minimumLogicalFontSize() const { return m_minimumLogicalFontSize; }
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setDefaultFontSize(int);
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int defaultFontSize() const { return m_defaultFontSize; }
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setDefaultFixedFontSize(int);
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int defaultFixedFontSize() const { return m_defaultFixedFontSize; }
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
107d0825bca7fe65beaee391d30da42e937db621564Steve Block        // Unlike areImagesEnabled, this only suppresses the network load of
108d0825bca7fe65beaee391d30da42e937db621564Steve Block        // the image URL.  A cached image will still be rendered if requested.
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setLoadsImagesAutomatically(bool);
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool loadsImagesAutomatically() const { return m_loadsImagesAutomatically; }
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1122daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        // This setting only affects site icon image loading if loadsImagesAutomatically setting is false and this setting is true.
1132daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        // All other permutations still heed loadsImagesAutomatically setting.
1142daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        void setLoadsSiteIconsIgnoringImageLoadingSetting(bool);
1152daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        bool loadsSiteIconsIgnoringImageLoadingSetting() const { return m_loadsSiteIconsIgnoringImageLoadingSetting; }
1162daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setJavaScriptEnabled(bool);
118dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        // Instead of calling isJavaScriptEnabled directly, please consider calling
119dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        // ScriptController::canExecuteScripts, which takes things like the
120dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        // HTML sandbox attribute into account.
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool isJavaScriptEnabled() const { return m_isJavaScriptEnabled; }
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1238f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        void setWebSecurityEnabled(bool);
1248f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool isWebSecurityEnabled() const { return m_isWebSecurityEnabled; }
1258f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
1268f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        void setAllowUniversalAccessFromFileURLs(bool);
1278f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool allowUniversalAccessFromFileURLs() const { return m_allowUniversalAccessFromFileURLs; }
1288f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
129692e5dbf12901edacf14812a6fae25462920af42Steve Block        void setAllowFileAccessFromFileURLs(bool);
130692e5dbf12901edacf14812a6fae25462920af42Steve Block        bool allowFileAccessFromFileURLs() const { return m_allowFileAccessFromFileURLs; }
131692e5dbf12901edacf14812a6fae25462920af42Steve Block
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setJavaScriptCanOpenWindowsAutomatically(bool);
1335f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        bool javaScriptCanOpenWindowsAutomatically() const { return m_javaScriptCanOpenWindowsAutomatically; }
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13521939df44de1705786c545cd1bf519d47250322dBen Murdoch        void setJavaScriptCanAccessClipboard(bool);
13621939df44de1705786c545cd1bf519d47250322dBen Murdoch        bool javaScriptCanAccessClipboard() const { return m_javaScriptCanAccessClipboard; }
13721939df44de1705786c545cd1bf519d47250322dBen Murdoch
138dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        void setSpatialNavigationEnabled(bool);
139dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool isSpatialNavigationEnabled() const { return m_isSpatialNavigationEnabled; }
140dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setJavaEnabled(bool);
1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool isJavaEnabled() const { return m_isJavaEnabled; }
1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
144d0825bca7fe65beaee391d30da42e937db621564Steve Block        void setImagesEnabled(bool);
145d0825bca7fe65beaee391d30da42e937db621564Steve Block        bool areImagesEnabled() const { return m_areImagesEnabled; }
146d0825bca7fe65beaee391d30da42e937db621564Steve Block
147dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        void setMediaEnabled(bool);
148dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool isMediaEnabled() const { return m_isMediaEnabled; }
149dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setPluginsEnabled(bool);
1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool arePluginsEnabled() const { return m_arePluginsEnabled; }
1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1538216a0e796895ec6e736aebbeacee9567ae85515Patrick Scott#ifdef ANDROID_PLUGINS
1548216a0e796895ec6e736aebbeacee9567ae85515Patrick Scott        void setPluginsOnDemand(bool onDemand) { m_pluginsOnDemand = onDemand; }
1558216a0e796895ec6e736aebbeacee9567ae85515Patrick Scott        bool arePluginsOnDemand() const { return m_pluginsOnDemand; }
1568216a0e796895ec6e736aebbeacee9567ae85515Patrick Scott#endif
1578216a0e796895ec6e736aebbeacee9567ae85515Patrick Scott
158635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        void setLocalStorageEnabled(bool);
159635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        bool localStorageEnabled() const { return m_localStorageEnabled; }
160635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
161f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick#if ENABLE(DOM_STORAGE)
162dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        // Allow clients concerned with memory consumption to set a quota on session storage
163dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        // since the memory used won't be released until the Page is destroyed.
164dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        // Default is noQuota.
165dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        void setSessionStorageQuota(unsigned);
166dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        unsigned sessionStorageQuota() const { return m_sessionStorageQuota; }
167dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif
168dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
169dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        // When this option is set, WebCore will avoid storing any record of browsing activity
170dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        // that may persist on disk or remain displayed when the option is reset.
171dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        // This option does not affect the storage of such information in RAM.
172dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        // The following functions respect this setting:
173dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        //  - HTML5/DOM Storage
174dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        //  - Icon Database
175dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        //  - Console Messages
17628040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu        //  - MemoryCache
177dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        //  - Application Cache
178dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        //  - Back/Forward Page History
179dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        //  - Page Search Results
180e14391e94c850b8bd03680c23b38978db68687a8John Reck        //  - HTTP Cookies
181e14391e94c850b8bd03680c23b38978db68687a8John Reck        //  - Plug-ins (that support NPNVprivateModeBool)
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setPrivateBrowsingEnabled(bool);
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool privateBrowsingEnabled() const { return m_privateBrowsingEnabled; }
1845f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
1855f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        void setCaretBrowsingEnabled(bool);
1865f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        bool caretBrowsingEnabled() const { return m_caretBrowsingEnabled; }
1875f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setDefaultTextEncodingName(const String&);
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const String& defaultTextEncodingName() const { return m_defaultTextEncodingName; }
1908f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
1918f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        void setUsesEncodingDetector(bool);
1928f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool usesEncodingDetector() const { return m_usesEncodingDetector; }
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
194ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block        void setDNSPrefetchingEnabled(bool);
195ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block        bool dnsPrefetchingEnabled() const { return m_dnsPrefetchingEnabled; }
196ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setUserStyleSheetLocation(const KURL&);
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const KURL& userStyleSheetLocation() const { return m_userStyleSheetLocation; }
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setShouldPrintBackgrounds(bool);
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool shouldPrintBackgrounds() const { return m_shouldPrintBackgrounds; }
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setTextAreasAreResizable(bool);
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool textAreasAreResizable() const { return m_textAreasAreResizable; }
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setEditableLinkBehavior(EditableLinkBehavior);
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        EditableLinkBehavior editableLinkBehavior() const { return m_editableLinkBehavior; }
208635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
209635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        void setTextDirectionSubmenuInclusionBehavior(TextDirectionSubmenuInclusionBehavior);
210635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        TextDirectionSubmenuInclusionBehavior textDirectionSubmenuInclusionBehavior() const { return m_textDirectionSubmenuInclusionBehavior; }
211635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(DASHBOARD_SUPPORT)
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setUsesDashboardBackwardCompatibilityMode(bool);
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool usesDashboardBackwardCompatibilityMode() const { return m_usesDashboardBackwardCompatibilityMode; }
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setNeedsAdobeFrameReloadingQuirk(bool);
2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool needsAcrobatFrameReloadingQuirk() const { return m_needsAdobeFrameReloadingQuirk; }
2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setNeedsKeyboardEventDisambiguationQuirks(bool);
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool needsKeyboardEventDisambiguationQuirks() const { return m_needsKeyboardEventDisambiguationQuirks; }
2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        void setTreatsAnyTextCSSLinkAsStylesheet(bool);
2240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool treatsAnyTextCSSLinkAsStylesheet() const { return m_treatsAnyTextCSSLinkAsStylesheet; }
2250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2268f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        void setNeedsLeopardMailQuirks(bool);
2278f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool needsLeopardMailQuirks() const { return m_needsLeopardMailQuirks; }
2288f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
2298f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        void setNeedsTigerMailQuirks(bool);
2308f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool needsTigerMailQuirks() const { return m_needsTigerMailQuirks; }
2318f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setDOMPasteAllowed(bool);
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool isDOMPasteAllowed() const { return m_isDOMPasteAllowed; }
2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
23581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        static void setDefaultMinDOMTimerInterval(double); // Interval specified in seconds.
23681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        static double defaultMinDOMTimerInterval();
23768513a70bcd92384395513322f1b801e7bf9c729Steve Block
23881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        void setMinDOMTimerInterval(double); // Per-page; initialized to default value.
23981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        double minDOMTimerInterval();
24081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setUsesPageCache(bool);
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool usesPageCache() const { return m_usesPageCache; }
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setShrinksStandaloneImagesToFit(bool);
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool shrinksStandaloneImagesToFit() const { return m_shrinksStandaloneImagesToFit; }
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setShowsURLsInToolTips(bool);
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool showsURLsInToolTips() const { return m_showsURLsInToolTips; }
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setFTPDirectoryTemplatePath(const String&);
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const String& ftpDirectoryTemplatePath() const { return m_ftpDirectoryTemplatePath; }
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setForceFTPDirectoryListings(bool);
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool forceFTPDirectoryListings() const { return m_forceFTPDirectoryListings; }
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setDeveloperExtrasEnabled(bool);
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool developerExtrasEnabled() const { return m_developerExtrasEnabled; }
25848b7cc16e8edd7abbf40cbe17b1abbc8cf273929Steve Block
259dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        void setFrameFlatteningEnabled(bool);
260dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool frameFlatteningEnabled() const { return m_frameFlatteningEnabled; }
26148b7cc16e8edd7abbf40cbe17b1abbc8cf273929Steve Block
2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_META_SUPPORT
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void resetMetadataSettings();
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setMetadataSettings(const String& key, const String& value);
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2668ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setViewportWidth(int);
267f10585d69aaccf4c1b021df143ee0f08e338cf31Grace Kloba        int viewportWidth() const { return m_viewport_width; }
2688ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2698ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setViewportHeight(int);
2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int viewportHeight() const { return m_viewport_height; }
2718ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2728ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setViewportInitialScale(int);
2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int viewportInitialScale() const { return m_viewport_initial_scale; }
2748ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2758ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setViewportMinimumScale(int);
2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int viewportMinimumScale() const { return m_viewport_minimum_scale; }
2778ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2788ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setViewportMaximumScale(int);
2798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int viewportMaximumScale() const { return m_viewport_maximum_scale; }
2808ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2818ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setViewportUserScalable(bool);
2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool viewportUserScalable() const { return m_viewport_user_scalable; }
2838ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2848ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setViewportTargetDensityDpi(int);
285f10585d69aaccf4c1b021df143ee0f08e338cf31Grace Kloba        int viewportTargetDensityDpi() const { return m_viewport_target_densitydpi; }
2868ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2878ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setFormatDetectionAddress(bool);
2888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool formatDetectionAddress() const { return m_format_detection_address; }
2898ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2908ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setFormatDetectionEmail(bool);
2918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool formatDetectionEmail() const { return m_format_detection_email; }
2928ec4217018562da37ecf4144e582fa848b807263Grace Kloba
2938ec4217018562da37ecf4144e582fa848b807263Grace Kloba        void setFormatDetectionTelephone(bool);
2948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool formatDetectionTelephone() const { return m_format_detection_telephone; }
2956bb45a504d0c8695fdc5d5580b3aba49db3086d7Cary Clark
2966bb45a504d0c8695fdc5d5580b3aba49db3086d7Cary Clark        void setDefaultFormatDetection(bool flag) { m_default_format_detection = flag; }
2978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
2988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_MULTIPLE_WINDOWS
2998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool supportMultipleWindows() const { return m_supportMultipleWindows; }
3008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setSupportMultipleWindows(bool support) { m_supportMultipleWindows = support; }
3018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
3028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setAuthorAndUserStylesEnabled(bool);
3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool authorAndUserStylesEnabled() const { return m_authorAndUserStylesEnabled; }
3048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setFontRenderingMode(FontRenderingMode mode);
3068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        FontRenderingMode fontRenderingMode() const;
3078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setNeedsSiteSpecificQuirks(bool);
3098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool needsSiteSpecificQuirks() const { return m_needsSiteSpecificQuirks; }
3102fc2651226baac27029e38c9d6ef883fa32084dbSteve Block
3112fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#if ENABLE(WEB_ARCHIVE)
3128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setWebArchiveDebugModeEnabled(bool);
3138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool webArchiveDebugModeEnabled() const { return m_webArchiveDebugModeEnabled; }
3142fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#endif
3158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        void setLocalFileContentSniffingEnabled(bool);
3170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool localFileContentSniffingEnabled() const { return m_localFileContentSniffingEnabled; }
3180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setLocalStorageDatabasePath(const String&);
3208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        const String& localStorageDatabasePath() const { return m_localStorageDatabasePath; }
3215ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setApplicationChromeMode(bool);
3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool inApplicationChromeMode() const { return m_inApplicationChromeMode; }
3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setOfflineWebApplicationCacheEnabled(bool);
3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool offlineWebApplicationCacheEnabled() const { return m_offlineWebApplicationCacheEnabled; }
3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setShouldPaintCustomScrollbars(bool);
3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool shouldPaintCustomScrollbars() const { return m_shouldPaintCustomScrollbars; }
3308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3315ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        void setEnforceCSSMIMETypeInNoQuirksMode(bool);
3325ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        bool enforceCSSMIMETypeInNoQuirksMode() { return m_enforceCSSMIMETypeInNoQuirksMode; }
3338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void setMaximumDecodedImageSize(size_t size) { m_maximumDecodedImageSize = size; }
3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        size_t maximumDecodedImageSize() const { return m_maximumDecodedImageSize; }
3368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if USE(SAFARI_THEME)
3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // Windows debugging pref (global) for switching between the Aqua look and a native windows look.
3398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        static void setShouldPaintNativeControls(bool);
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        static bool shouldPaintNativeControls() { return gShouldPaintNativeControls; }
3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3438f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        void setAllowScriptsToCloseWindows(bool);
3448f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool allowScriptsToCloseWindows() const { return m_allowScriptsToCloseWindows; }
345635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
346545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        void setEditingBehaviorType(EditingBehaviorType behavior) { m_editingBehaviorType = behavior; }
347545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        EditingBehaviorType editingBehaviorType() const { return static_cast<EditingBehaviorType>(m_editingBehaviorType); }
348545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
3495f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        void setDownloadableBinaryFontsEnabled(bool);
3505f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        bool downloadableBinaryFontsEnabled() const { return m_downloadableBinaryFontsEnabled; }
3515f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
3520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        void setXSSAuditorEnabled(bool);
3530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool xssAuditorEnabled() const { return m_xssAuditorEnabled; }
3540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3552bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setCanvasUsesAcceleratedDrawing(bool);
3562bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool canvasUsesAcceleratedDrawing() const { return m_canvasUsesAcceleratedDrawing; }
3572bde8e466a4451c7319e3a072d118917957d6554Steve Block
35881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        void setAcceleratedDrawingEnabled(bool);
35981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        bool acceleratedDrawingEnabled() const { return m_acceleratedDrawingEnabled; }
36081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
3610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        void setAcceleratedCompositingEnabled(bool);
3620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool acceleratedCompositingEnabled() const { return m_acceleratedCompositingEnabled; }
3630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3644a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingFor3DTransformsEnabled(bool);
3654a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingFor3DTransformsEnabled() const { return m_acceleratedCompositingFor3DTransformsEnabled; }
3664a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3674a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForVideoEnabled(bool);
3684a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForVideoEnabled() const { return m_acceleratedCompositingForVideoEnabled; }
3694a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3704a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForPluginsEnabled(bool);
3714a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForPluginsEnabled() const { return m_acceleratedCompositingForPluginsEnabled; }
3724a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3734a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForCanvasEnabled(bool);
3744a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForCanvasEnabled() const { return m_acceleratedCompositingForCanvasEnabled; }
3754a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3764a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForAnimationEnabled(bool);
3774a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForAnimationEnabled() const { return m_acceleratedCompositingForAnimationEnabled; }
3784a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
379643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        void setShowDebugBorders(bool);
380643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool showDebugBorders() const { return m_showDebugBorders; }
381643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
382643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        void setShowRepaintCounter(bool);
383643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool showRepaintCounter() const { return m_showRepaintCounter; }
384643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
385231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        void setExperimentalNotificationsEnabled(bool);
386231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool experimentalNotificationsEnabled() const { return m_experimentalNotificationsEnabled; }
387231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
388d0825bca7fe65beaee391d30da42e937db621564Steve Block#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
389231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        static void setShouldUseHighResolutionTimers(bool);
390231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        static bool shouldUseHighResolutionTimers() { return gShouldUseHighResolutionTimers; }
391231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
392231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
393231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        void setPluginAllowedRunTime(unsigned);
394231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        unsigned pluginAllowedRunTime() const { return m_pluginAllowedRunTime; }
395231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
396ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        void setWebAudioEnabled(bool);
397ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        bool webAudioEnabled() const { return m_webAudioEnabled; }
398ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch
399231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        void setWebGLEnabled(bool);
400231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool webGLEnabled() const { return m_webGLEnabled; }
401231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
4022fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        void setOpenGLMultisamplingEnabled(bool);
4032fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        bool openGLMultisamplingEnabled() const { return m_openGLMultisamplingEnabled; }
4042fc2651226baac27029e38c9d6ef883fa32084dbSteve Block
4050617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        void setAccelerated2dCanvasEnabled(bool);
4060617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        bool accelerated2dCanvasEnabled() const { return m_acceleratedCanvas2dEnabled; }
4070617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
408d0825bca7fe65beaee391d30da42e937db621564Steve Block        void setLoadDeferringEnabled(bool);
409d0825bca7fe65beaee391d30da42e937db621564Steve Block        bool loadDeferringEnabled() const { return m_loadDeferringEnabled; }
410dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
411dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        void setTiledBackingStoreEnabled(bool);
412dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool tiledBackingStoreEnabled() const { return m_tiledBackingStoreEnabled; }
413d0825bca7fe65beaee391d30da42e937db621564Steve Block
414545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        void setPaginateDuringLayoutEnabled(bool flag) { m_paginateDuringLayoutEnabled = flag; }
415545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        bool paginateDuringLayoutEnabled() const { return m_paginateDuringLayoutEnabled; }
416545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
4175ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#if ENABLE(FULLSCREEN_API)
4185ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        void setFullScreenEnabled(bool flag) { m_fullScreenAPIEnabled = flag; }
4195ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        bool fullScreenEnabled() const  { return m_fullScreenAPIEnabled; }
4205ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif
4215ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
422f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch        void setAsynchronousSpellCheckingEnabled(bool flag) { m_asynchronousSpellCheckingEnabled = flag; }
423f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch        bool asynchronousSpellCheckingEnabled() const  { return m_asynchronousSpellCheckingEnabled; }
424f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch
425967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch        void setMemoryInfoEnabled(bool flag) { m_memoryInfoEnabled = flag; }
426967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch        bool memoryInfoEnabled() const { return m_memoryInfoEnabled; }
427967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch
4280617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // This setting will be removed when an HTML5 compatibility issue is
4290617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // resolved and WebKit implementation of interactive validation is
4300617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // completed. See http://webkit.org/b/40520, http://webkit.org/b/40747,
4310617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // and http://webkit.org/b/40908
4320617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        void setInteractiveFormValidationEnabled(bool flag) { m_interactiveFormValidation = flag; }
4330617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        bool interactiveFormValidationEnabled() const { return m_interactiveFormValidation; }
4342bde8e466a4451c7319e3a072d118917957d6554Steve Block
4352bde8e466a4451c7319e3a072d118917957d6554Steve Block        // Sets the maginication value for validation message timer.
4362bde8e466a4451c7319e3a072d118917957d6554Steve Block        // If the maginication value is N, a validation message disappears
4372bde8e466a4451c7319e3a072d118917957d6554Steve Block        // automatically after <message length> * N / 1000 seconds. If N is
4382bde8e466a4451c7319e3a072d118917957d6554Steve Block        // equal to or less than 0, a validation message doesn't disappears
4392bde8e466a4451c7319e3a072d118917957d6554Steve Block        // automaticaly. The default value is 50.
4402bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setValidationMessageTimerMagnification(int newValue) { m_validationMessageTimerMagnification = newValue; }
4412bde8e466a4451c7319e3a072d118917957d6554Steve Block        int validationMessageTimerMaginification() const { return m_validationMessageTimerMagnification; }
44268513a70bcd92384395513322f1b801e7bf9c729Steve Block
44368513a70bcd92384395513322f1b801e7bf9c729Steve Block        void setUsePreHTML5ParserQuirks(bool flag) { m_usePreHTML5ParserQuirks = flag; }
44468513a70bcd92384395513322f1b801e7bf9c729Steve Block        bool usePreHTML5ParserQuirks() const { return m_usePreHTML5ParserQuirks; }
4450617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
446e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen        void setHyperlinkAuditingEnabled(bool flag) { m_hyperlinkAuditingEnabled = flag; }
447e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen        bool hyperlinkAuditingEnabled() const { return m_hyperlinkAuditingEnabled; }
448e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen
4494326279fef480892cd059ad1c738f1320601d33fJohn Reck        void setCrossOriginCheckInGetMatchedCSSRulesDisabled(bool flag) { m_crossOriginCheckInGetMatchedCSSRulesDisabled = flag; }
4504326279fef480892cd059ad1c738f1320601d33fJohn Reck        bool crossOriginCheckInGetMatchedCSSRulesDisabled() const { return m_crossOriginCheckInGetMatchedCSSRulesDisabled; }
4512bde8e466a4451c7319e3a072d118917957d6554Steve Block
4522bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setUseQuickLookResourceCachingQuirks(bool flag) { m_useQuickLookResourceCachingQuirks = flag; }
4532bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool useQuickLookResourceCachingQuirks() const { return m_useQuickLookResourceCachingQuirks; }
4542bde8e466a4451c7319e3a072d118917957d6554Steve Block
4552bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setForceCompositingMode(bool flag) { m_forceCompositingMode = flag; }
4562bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool forceCompositingMode() { return m_forceCompositingMode; }
4572daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch
4582daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        void setShouldInjectUserScriptsInInitialEmptyDocument(bool flag) { m_shouldInjectUserScriptsInInitialEmptyDocument = flag; }
4592daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        bool shouldInjectUserScriptsInInitialEmptyDocument() { return m_shouldInjectUserScriptsInInitialEmptyDocument; }
4604326279fef480892cd059ad1c738f1320601d33fJohn Reck
4613978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#if ENABLE(WEB_AUTOFILL)
4623978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch        void setAutoFillEnabled(bool flag) { m_autoFillEnabled = flag; }
4633978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch        bool autoFillEnabled() { return m_autoFillEnabled; }
4643978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#endif
4653978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch
466bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch#ifdef ANDROID_BLOCK_NETWORK_IMAGE
467bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch        void setBlockNetworkImage(bool);
468bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch        bool blockNetworkImage() const { return m_blockNetworkImage; }
469bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch#endif
470bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch
4718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    private:
4728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        Page* m_page;
4735ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
4748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        String m_defaultTextEncodingName;
4758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        String m_ftpDirectoryTemplatePath;
4768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        String m_localStorageDatabasePath;
4778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        KURL m_userStyleSheetLocation;
4788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_standardFontFamily;
4798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_fixedFontFamily;
4808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_serifFontFamily;
4818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_sansSerifFontFamily;
4828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_cursiveFontFamily;
4838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_fantasyFontFamily;
4848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        EditableLinkBehavior m_editableLinkBehavior;
485635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        TextDirectionSubmenuInclusionBehavior m_textDirectionSubmenuInclusionBehavior;
4868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_minimumFontSize;
4878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_minimumLogicalFontSize;
4888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_defaultFontSize;
4898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_defaultFixedFontSize;
4902bde8e466a4451c7319e3a072d118917957d6554Steve Block        int m_validationMessageTimerMagnification;
491cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        size_t m_maximumDecodedImageSize;
492cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#if ENABLE(DOM_STORAGE)
493cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        unsigned m_sessionStorageQuota;
494cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
495cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        unsigned m_pluginAllowedRunTime;
496cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        unsigned m_editingBehaviorType;
4978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_META_SUPPORT
4988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 200 to 10,000. 0 is a special value means device-width.
4998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // default is -1, which means undefined.
5008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_width;
5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 223 to 10,000. 0 is a special value means device-height
5028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // default is -1, which means undefined.
5038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_height;
5048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 1 to 1000 in percent. default is 0, which means undefined.
5058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_initial_scale;
5068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 1 to 1000 in percent. default is 0, which means undefined.
5078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_minimum_scale;
5088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 1 to 1000 in percent. default is 0, which means undefined.
5098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_maximum_scale;
5108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
5118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_LAYOUT
512cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        LayoutAlgorithm m_layoutAlgorithm;
513dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif
514dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool m_isSpatialNavigationEnabled : 1;
5158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_isJavaEnabled : 1;
5168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_loadsImagesAutomatically : 1;
5172daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        bool m_loadsSiteIconsIgnoringImageLoadingSetting : 1;
5188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_privateBrowsingEnabled : 1;
5195f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        bool m_caretBrowsingEnabled : 1;
520d0825bca7fe65beaee391d30da42e937db621564Steve Block        bool m_areImagesEnabled : 1;
521dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool m_isMediaEnabled : 1;
5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_arePluginsEnabled : 1;
523635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        bool m_localStorageEnabled : 1;
5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_isJavaScriptEnabled : 1;
5258f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_isWebSecurityEnabled : 1;
5268f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_allowUniversalAccessFromFileURLs: 1;
527692e5dbf12901edacf14812a6fae25462920af42Steve Block        bool m_allowFileAccessFromFileURLs: 1;
5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_javaScriptCanOpenWindowsAutomatically : 1;
52921939df44de1705786c545cd1bf519d47250322dBen Murdoch        bool m_javaScriptCanAccessClipboard : 1;
5308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_shouldPrintBackgrounds : 1;
5318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_textAreasAreResizable : 1;
5328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(DASHBOARD_SUPPORT)
5338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_usesDashboardBackwardCompatibilityMode : 1;
5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_needsAdobeFrameReloadingQuirk : 1;
5368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_needsKeyboardEventDisambiguationQuirks : 1;
5370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_treatsAnyTextCSSLinkAsStylesheet : 1;
5388f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_needsLeopardMailQuirks : 1;
5398f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_needsTigerMailQuirks : 1;
5408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_isDOMPasteAllowed : 1;
5418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_shrinksStandaloneImagesToFit : 1;
5428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_usesPageCache: 1;
5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_showsURLsInToolTips : 1;
5448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_forceFTPDirectoryListings : 1;
5458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_developerExtrasEnabled : 1;
5468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_authorAndUserStylesEnabled : 1;
5478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_needsSiteSpecificQuirks : 1;
5488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        unsigned m_fontRenderingMode : 1;
549dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool m_frameFlatteningEnabled : 1;
5508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_webArchiveDebugModeEnabled : 1;
5510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_localFileContentSniffingEnabled : 1;
5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_inApplicationChromeMode : 1;
5538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_offlineWebApplicationCacheEnabled : 1;
5548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_shouldPaintCustomScrollbars : 1;
5555ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        bool m_enforceCSSMIMETypeInNoQuirksMode : 1;
5568f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_usesEncodingDetector : 1;
5578f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_allowScriptsToCloseWindows : 1;
5582bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool m_canvasUsesAcceleratedDrawing : 1;
55981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        bool m_acceleratedDrawingEnabled : 1;
5605f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        bool m_downloadableBinaryFontsEnabled : 1;
5610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_xssAuditorEnabled : 1;
5620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_acceleratedCompositingEnabled : 1;
5634a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingFor3DTransformsEnabled : 1;
5644a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForVideoEnabled : 1;
5654a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForPluginsEnabled : 1;
5664a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForCanvasEnabled : 1;
5674a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForAnimationEnabled : 1;
568643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool m_showDebugBorders : 1;
569643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool m_showRepaintCounter : 1;
570231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool m_experimentalNotificationsEnabled : 1;
571231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool m_webGLEnabled : 1;
5722fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        bool m_openGLMultisamplingEnabled : 1;
573ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        bool m_webAudioEnabled : 1;
5740617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        bool m_acceleratedCanvas2dEnabled : 1;
575d0825bca7fe65beaee391d30da42e937db621564Steve Block        bool m_loadDeferringEnabled : 1;
576eebae91469b8f225fe78e97ce6dae26efcf6da43Steve Block        bool m_tiledBackingStoreEnabled : 1;
577ca10fba15464fd5625cec97cf2522d25674e9362Ben Murdoch        bool m_paginateDuringLayoutEnabled : 1;
578919eb425b73bb532c128aa974a43e3c959c5a10aSteve Block        bool m_dnsPrefetchingEnabled : 1;
5795ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#if ENABLE(FULLSCREEN_API)
5805ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        bool m_fullScreenAPIEnabled : 1;
5815ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif
582f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch        bool m_asynchronousSpellCheckingEnabled: 1;
5831ffb211e1b85290ba4deec090093a688b26c6082Ben Murdoch        bool m_memoryInfoEnabled: 1;
58412c3bcdf8b6154d6be87a0b8d88e6f8de9ff222aKristian Monsen        bool m_interactiveFormValidation: 1;
5858de7ac488df2f39f82e56811541f4847b3f2e952Steve Block        bool m_usePreHTML5ParserQuirks: 1;
586e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen        bool m_hyperlinkAuditingEnabled : 1;
5874326279fef480892cd059ad1c738f1320601d33fJohn Reck        bool m_crossOriginCheckInGetMatchedCSSRulesDisabled : 1;
58874ee772b3c1ea8b557e5a596e9cbc655d1c0e161Steve Block        bool m_useQuickLookResourceCachingQuirks : 1;
58974ee772b3c1ea8b557e5a596e9cbc655d1c0e161Steve Block        bool m_forceCompositingMode : 1;
590bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch        bool m_shouldInjectUserScriptsInInitialEmptyDocument : 1;
591cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_META_SUPPORT
592cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
593cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_viewport_user_scalable : 1;
594cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // range is from 70 to 400. 0 is a special value means device-dpi
595cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is -1, which means undefined.
596cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        int m_viewport_target_densitydpi;
597cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
598cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_format_detection_telephone : 1;
599cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
600cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_format_detection_address : 1;
601cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
602cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_format_detection_email : 1;
603cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_default_format_detection : 1;
604cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
605cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_LAYOUT
606cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_useWideViewport : 1;
607cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
608cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_MULTIPLE_WINDOWS
609cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_supportMultipleWindows : 1;
610cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
611cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_BLOCK_NETWORK_IMAGE
612cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_blockNetworkImage : 1;
613cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
6143978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#if ENABLE(WEB_AUTOFILL)
6153978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch        bool m_autoFillEnabled: 1;
6163978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#endif
617a71f9a9fbe6352a660bc2d18d8ad4fac7fa982b8Kristian Monsen#ifdef ANDROID_PLUGINS
618a71f9a9fbe6352a660bc2d18d8ad4fac7fa982b8Kristian Monsen        bool m_pluginsOnDemand : 1;
619a71f9a9fbe6352a660bc2d18d8ad4fac7fa982b8Kristian Monsen#endif
6205ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
6218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if USE(SAFARI_THEME)
6228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        static bool gShouldPaintNativeControls;
6238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
624d0825bca7fe65beaee391d30da42e937db621564Steve Block#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
625231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        static bool gShouldUseHighResolutionTimers;
626231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
6278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    };
6288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore
6308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // Settings_h
632