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
355361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease#if ENABLE(LINK_PREFETCH)
356361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease        void setLinkPrefetchEnabled(bool);
357361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease        bool linkPrefetchEnabled() const { return m_linkPrefetchEnabled; }
358361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease#endif
359361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease
3602bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setCanvasUsesAcceleratedDrawing(bool);
3612bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool canvasUsesAcceleratedDrawing() const { return m_canvasUsesAcceleratedDrawing; }
3622bde8e466a4451c7319e3a072d118917957d6554Steve Block
36381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        void setAcceleratedDrawingEnabled(bool);
36481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        bool acceleratedDrawingEnabled() const { return m_acceleratedDrawingEnabled; }
36581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
3660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        void setAcceleratedCompositingEnabled(bool);
3670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool acceleratedCompositingEnabled() const { return m_acceleratedCompositingEnabled; }
3680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3694a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingFor3DTransformsEnabled(bool);
3704a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingFor3DTransformsEnabled() const { return m_acceleratedCompositingFor3DTransformsEnabled; }
3714a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3724a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForVideoEnabled(bool);
3734a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForVideoEnabled() const { return m_acceleratedCompositingForVideoEnabled; }
3744a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3754a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForPluginsEnabled(bool);
3764a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForPluginsEnabled() const { return m_acceleratedCompositingForPluginsEnabled; }
3774a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3784a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForCanvasEnabled(bool);
3794a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForCanvasEnabled() const { return m_acceleratedCompositingForCanvasEnabled; }
3804a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
3814a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        void setAcceleratedCompositingForAnimationEnabled(bool);
3824a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool acceleratedCompositingForAnimationEnabled() const { return m_acceleratedCompositingForAnimationEnabled; }
3834a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch
384643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        void setShowDebugBorders(bool);
385643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool showDebugBorders() const { return m_showDebugBorders; }
386643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
387643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        void setShowRepaintCounter(bool);
388643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool showRepaintCounter() const { return m_showRepaintCounter; }
389643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
390231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        void setExperimentalNotificationsEnabled(bool);
391231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool experimentalNotificationsEnabled() const { return m_experimentalNotificationsEnabled; }
392231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
393d0825bca7fe65beaee391d30da42e937db621564Steve Block#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
394231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        static void setShouldUseHighResolutionTimers(bool);
395231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        static bool shouldUseHighResolutionTimers() { return gShouldUseHighResolutionTimers; }
396231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
397231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
398231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        void setPluginAllowedRunTime(unsigned);
399231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        unsigned pluginAllowedRunTime() const { return m_pluginAllowedRunTime; }
400231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
401ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        void setWebAudioEnabled(bool);
402ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        bool webAudioEnabled() const { return m_webAudioEnabled; }
403ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch
404231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        void setWebGLEnabled(bool);
405231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool webGLEnabled() const { return m_webGLEnabled; }
406231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
4072fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        void setOpenGLMultisamplingEnabled(bool);
4082fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        bool openGLMultisamplingEnabled() const { return m_openGLMultisamplingEnabled; }
4092fc2651226baac27029e38c9d6ef883fa32084dbSteve Block
4100617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        void setAccelerated2dCanvasEnabled(bool);
4110617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        bool accelerated2dCanvasEnabled() const { return m_acceleratedCanvas2dEnabled; }
4120617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
413d0825bca7fe65beaee391d30da42e937db621564Steve Block        void setLoadDeferringEnabled(bool);
414d0825bca7fe65beaee391d30da42e937db621564Steve Block        bool loadDeferringEnabled() const { return m_loadDeferringEnabled; }
415dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
416dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        void setTiledBackingStoreEnabled(bool);
417dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool tiledBackingStoreEnabled() const { return m_tiledBackingStoreEnabled; }
418d0825bca7fe65beaee391d30da42e937db621564Steve Block
419545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        void setPaginateDuringLayoutEnabled(bool flag) { m_paginateDuringLayoutEnabled = flag; }
420545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        bool paginateDuringLayoutEnabled() const { return m_paginateDuringLayoutEnabled; }
421545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
4225ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#if ENABLE(FULLSCREEN_API)
4235ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        void setFullScreenEnabled(bool flag) { m_fullScreenAPIEnabled = flag; }
4245ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        bool fullScreenEnabled() const  { return m_fullScreenAPIEnabled; }
4255ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif
4265ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
427f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch        void setAsynchronousSpellCheckingEnabled(bool flag) { m_asynchronousSpellCheckingEnabled = flag; }
428f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch        bool asynchronousSpellCheckingEnabled() const  { return m_asynchronousSpellCheckingEnabled; }
429f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch
430967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch        void setMemoryInfoEnabled(bool flag) { m_memoryInfoEnabled = flag; }
431967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch        bool memoryInfoEnabled() const { return m_memoryInfoEnabled; }
432967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch
4330617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // This setting will be removed when an HTML5 compatibility issue is
4340617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // resolved and WebKit implementation of interactive validation is
4350617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // completed. See http://webkit.org/b/40520, http://webkit.org/b/40747,
4360617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        // and http://webkit.org/b/40908
4370617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        void setInteractiveFormValidationEnabled(bool flag) { m_interactiveFormValidation = flag; }
4380617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        bool interactiveFormValidationEnabled() const { return m_interactiveFormValidation; }
4392bde8e466a4451c7319e3a072d118917957d6554Steve Block
4402bde8e466a4451c7319e3a072d118917957d6554Steve Block        // Sets the maginication value for validation message timer.
4412bde8e466a4451c7319e3a072d118917957d6554Steve Block        // If the maginication value is N, a validation message disappears
4422bde8e466a4451c7319e3a072d118917957d6554Steve Block        // automatically after <message length> * N / 1000 seconds. If N is
4432bde8e466a4451c7319e3a072d118917957d6554Steve Block        // equal to or less than 0, a validation message doesn't disappears
4442bde8e466a4451c7319e3a072d118917957d6554Steve Block        // automaticaly. The default value is 50.
4452bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setValidationMessageTimerMagnification(int newValue) { m_validationMessageTimerMagnification = newValue; }
4462bde8e466a4451c7319e3a072d118917957d6554Steve Block        int validationMessageTimerMaginification() const { return m_validationMessageTimerMagnification; }
44768513a70bcd92384395513322f1b801e7bf9c729Steve Block
44868513a70bcd92384395513322f1b801e7bf9c729Steve Block        void setUsePreHTML5ParserQuirks(bool flag) { m_usePreHTML5ParserQuirks = flag; }
44968513a70bcd92384395513322f1b801e7bf9c729Steve Block        bool usePreHTML5ParserQuirks() const { return m_usePreHTML5ParserQuirks; }
4500617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
451e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen        void setHyperlinkAuditingEnabled(bool flag) { m_hyperlinkAuditingEnabled = flag; }
452e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen        bool hyperlinkAuditingEnabled() const { return m_hyperlinkAuditingEnabled; }
453e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen
4544326279fef480892cd059ad1c738f1320601d33fJohn Reck        void setCrossOriginCheckInGetMatchedCSSRulesDisabled(bool flag) { m_crossOriginCheckInGetMatchedCSSRulesDisabled = flag; }
4554326279fef480892cd059ad1c738f1320601d33fJohn Reck        bool crossOriginCheckInGetMatchedCSSRulesDisabled() const { return m_crossOriginCheckInGetMatchedCSSRulesDisabled; }
4562bde8e466a4451c7319e3a072d118917957d6554Steve Block
4572bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setUseQuickLookResourceCachingQuirks(bool flag) { m_useQuickLookResourceCachingQuirks = flag; }
4582bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool useQuickLookResourceCachingQuirks() const { return m_useQuickLookResourceCachingQuirks; }
4592bde8e466a4451c7319e3a072d118917957d6554Steve Block
4602bde8e466a4451c7319e3a072d118917957d6554Steve Block        void setForceCompositingMode(bool flag) { m_forceCompositingMode = flag; }
4612bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool forceCompositingMode() { return m_forceCompositingMode; }
4622daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch
4632daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        void setShouldInjectUserScriptsInInitialEmptyDocument(bool flag) { m_shouldInjectUserScriptsInInitialEmptyDocument = flag; }
4642daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        bool shouldInjectUserScriptsInInitialEmptyDocument() { return m_shouldInjectUserScriptsInInitialEmptyDocument; }
4654326279fef480892cd059ad1c738f1320601d33fJohn Reck
4665fe5f9958e40c39747144b3b454077d73415a112George Mount        void setPasswordEchoEnabled(bool flag) { m_passwordEchoEnabled = flag; }
4675fe5f9958e40c39747144b3b454077d73415a112George Mount        bool passwordEchoEnabled() const { return m_passwordEchoEnabled; }
4685fe5f9958e40c39747144b3b454077d73415a112George Mount
4695fe5f9958e40c39747144b3b454077d73415a112George Mount        void setPasswordEchoDurationInSeconds(double durationInSeconds) { m_passwordEchoDurationInSeconds = durationInSeconds; }
4705fe5f9958e40c39747144b3b454077d73415a112George Mount        double passwordEchoDurationInSeconds() const { return m_passwordEchoDurationInSeconds; }
4715fe5f9958e40c39747144b3b454077d73415a112George Mount
4723978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#if ENABLE(WEB_AUTOFILL)
4733978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch        void setAutoFillEnabled(bool flag) { m_autoFillEnabled = flag; }
4743978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch        bool autoFillEnabled() { return m_autoFillEnabled; }
4753978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#endif
4763978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch
477bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch#ifdef ANDROID_BLOCK_NETWORK_IMAGE
478bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch        void setBlockNetworkImage(bool);
479bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch        bool blockNetworkImage() const { return m_blockNetworkImage; }
480bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch#endif
481bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch
482ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu        void setMediaPlaybackRequiresUserGesture(bool flag) { m_mediaPlaybackRequiresUserGesture = flag; };
483ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu        bool mediaPlaybackRequiresUserGesture() const { return m_mediaPlaybackRequiresUserGesture; }
484ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu
485ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu        void setMediaPlaybackAllowsInline(bool flag) { m_mediaPlaybackAllowsInline = flag; };
486ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu        bool mediaPlaybackAllowsInline() const { return m_mediaPlaybackAllowsInline; }
487ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu
4888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    private:
4898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        Page* m_page;
4905ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
4918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        String m_defaultTextEncodingName;
4928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        String m_ftpDirectoryTemplatePath;
4938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        String m_localStorageDatabasePath;
4948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        KURL m_userStyleSheetLocation;
4958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_standardFontFamily;
4968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_fixedFontFamily;
4978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_serifFontFamily;
4988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_sansSerifFontFamily;
4998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_cursiveFontFamily;
5008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        AtomicString m_fantasyFontFamily;
5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        EditableLinkBehavior m_editableLinkBehavior;
502635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        TextDirectionSubmenuInclusionBehavior m_textDirectionSubmenuInclusionBehavior;
5038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_minimumFontSize;
5048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_minimumLogicalFontSize;
5058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_defaultFontSize;
5068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_defaultFixedFontSize;
5072bde8e466a4451c7319e3a072d118917957d6554Steve Block        int m_validationMessageTimerMagnification;
508cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        size_t m_maximumDecodedImageSize;
509cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#if ENABLE(DOM_STORAGE)
510cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        unsigned m_sessionStorageQuota;
511cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
512cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        unsigned m_pluginAllowedRunTime;
513cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        unsigned m_editingBehaviorType;
5148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_META_SUPPORT
5158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 200 to 10,000. 0 is a special value means device-width.
5168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // default is -1, which means undefined.
5178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_width;
5188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 223 to 10,000. 0 is a special value means device-height
5198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // default is -1, which means undefined.
5208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_height;
5218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 1 to 1000 in percent. default is 0, which means undefined.
5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_initial_scale;
5238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 1 to 1000 in percent. default is 0, which means undefined.
5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_minimum_scale;
5258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // range is from 1 to 1000 in percent. default is 0, which means undefined.
5268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        int m_viewport_maximum_scale;
5278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef ANDROID_LAYOUT
529cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        LayoutAlgorithm m_layoutAlgorithm;
530dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif
5315fe5f9958e40c39747144b3b454077d73415a112George Mount        double m_passwordEchoDurationInSeconds;
5325fe5f9958e40c39747144b3b454077d73415a112George Mount
533dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool m_isSpatialNavigationEnabled : 1;
5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_isJavaEnabled : 1;
5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_loadsImagesAutomatically : 1;
5362daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        bool m_loadsSiteIconsIgnoringImageLoadingSetting : 1;
5378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_privateBrowsingEnabled : 1;
5385f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        bool m_caretBrowsingEnabled : 1;
539d0825bca7fe65beaee391d30da42e937db621564Steve Block        bool m_areImagesEnabled : 1;
540dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool m_isMediaEnabled : 1;
5418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_arePluginsEnabled : 1;
542635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        bool m_localStorageEnabled : 1;
5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_isJavaScriptEnabled : 1;
5448f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_isWebSecurityEnabled : 1;
5458f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_allowUniversalAccessFromFileURLs: 1;
546692e5dbf12901edacf14812a6fae25462920af42Steve Block        bool m_allowFileAccessFromFileURLs: 1;
5478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_javaScriptCanOpenWindowsAutomatically : 1;
54821939df44de1705786c545cd1bf519d47250322dBen Murdoch        bool m_javaScriptCanAccessClipboard : 1;
5498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_shouldPrintBackgrounds : 1;
5508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_textAreasAreResizable : 1;
5518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(DASHBOARD_SUPPORT)
5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_usesDashboardBackwardCompatibilityMode : 1;
5538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
5548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_needsAdobeFrameReloadingQuirk : 1;
5558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_needsKeyboardEventDisambiguationQuirks : 1;
5560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_treatsAnyTextCSSLinkAsStylesheet : 1;
5578f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_needsLeopardMailQuirks : 1;
5588f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_needsTigerMailQuirks : 1;
5598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_isDOMPasteAllowed : 1;
5608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_shrinksStandaloneImagesToFit : 1;
5618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_usesPageCache: 1;
5628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_showsURLsInToolTips : 1;
5638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_forceFTPDirectoryListings : 1;
5648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_developerExtrasEnabled : 1;
5658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_authorAndUserStylesEnabled : 1;
5668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_needsSiteSpecificQuirks : 1;
5678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        unsigned m_fontRenderingMode : 1;
568dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        bool m_frameFlatteningEnabled : 1;
5698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_webArchiveDebugModeEnabled : 1;
5700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_localFileContentSniffingEnabled : 1;
5718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_inApplicationChromeMode : 1;
5728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_offlineWebApplicationCacheEnabled : 1;
5738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        bool m_shouldPaintCustomScrollbars : 1;
5745ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        bool m_enforceCSSMIMETypeInNoQuirksMode : 1;
5758f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_usesEncodingDetector : 1;
5768f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        bool m_allowScriptsToCloseWindows : 1;
5772bde8e466a4451c7319e3a072d118917957d6554Steve Block        bool m_canvasUsesAcceleratedDrawing : 1;
57881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        bool m_acceleratedDrawingEnabled : 1;
5795f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        bool m_downloadableBinaryFontsEnabled : 1;
5800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_xssAuditorEnabled : 1;
581361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease#if ENABLE(LINK_PREFETCH)
582361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease        bool m_linkPrefetchEnabled : 1;
583361796a8de13ad8057f57e08c2322e3a025ae63bVictoria Lease#endif
5840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        bool m_acceleratedCompositingEnabled : 1;
5854a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingFor3DTransformsEnabled : 1;
5864a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForVideoEnabled : 1;
5874a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForPluginsEnabled : 1;
5884a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForCanvasEnabled : 1;
5894a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch        bool m_acceleratedCompositingForAnimationEnabled : 1;
590643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool m_showDebugBorders : 1;
591643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        bool m_showRepaintCounter : 1;
592231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool m_experimentalNotificationsEnabled : 1;
593231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool m_webGLEnabled : 1;
5942fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        bool m_openGLMultisamplingEnabled : 1;
595ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        bool m_webAudioEnabled : 1;
5960617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        bool m_acceleratedCanvas2dEnabled : 1;
597d0825bca7fe65beaee391d30da42e937db621564Steve Block        bool m_loadDeferringEnabled : 1;
598eebae91469b8f225fe78e97ce6dae26efcf6da43Steve Block        bool m_tiledBackingStoreEnabled : 1;
599ca10fba15464fd5625cec97cf2522d25674e9362Ben Murdoch        bool m_paginateDuringLayoutEnabled : 1;
600919eb425b73bb532c128aa974a43e3c959c5a10aSteve Block        bool m_dnsPrefetchingEnabled : 1;
6015ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#if ENABLE(FULLSCREEN_API)
6025ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        bool m_fullScreenAPIEnabled : 1;
6035ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif
604f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch        bool m_asynchronousSpellCheckingEnabled: 1;
6051ffb211e1b85290ba4deec090093a688b26c6082Ben Murdoch        bool m_memoryInfoEnabled: 1;
60612c3bcdf8b6154d6be87a0b8d88e6f8de9ff222aKristian Monsen        bool m_interactiveFormValidation: 1;
6078de7ac488df2f39f82e56811541f4847b3f2e952Steve Block        bool m_usePreHTML5ParserQuirks: 1;
608e1a0cd8247467a70fed9f6099fc9c65ec35ae23eKristian Monsen        bool m_hyperlinkAuditingEnabled : 1;
6094326279fef480892cd059ad1c738f1320601d33fJohn Reck        bool m_crossOriginCheckInGetMatchedCSSRulesDisabled : 1;
61074ee772b3c1ea8b557e5a596e9cbc655d1c0e161Steve Block        bool m_useQuickLookResourceCachingQuirks : 1;
61174ee772b3c1ea8b557e5a596e9cbc655d1c0e161Steve Block        bool m_forceCompositingMode : 1;
612bbcce278be9be6a85f47928c38a74c8d36a13a85Ben Murdoch        bool m_shouldInjectUserScriptsInInitialEmptyDocument : 1;
613cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_META_SUPPORT
614cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
615cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_viewport_user_scalable : 1;
616cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // range is from 70 to 400. 0 is a special value means device-dpi
617cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is -1, which means undefined.
618cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        int m_viewport_target_densitydpi;
619cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
620cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_format_detection_telephone : 1;
621cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
622cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_format_detection_address : 1;
623cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        // default is yes
624cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_format_detection_email : 1;
625cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_default_format_detection : 1;
626cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
627cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_LAYOUT
628cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_useWideViewport : 1;
629cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
630cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_MULTIPLE_WINDOWS
631cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_supportMultipleWindows : 1;
632cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
633cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#ifdef ANDROID_BLOCK_NETWORK_IMAGE
634cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block        bool m_blockNetworkImage : 1;
635cbb4d7cda345c2678aa649cc57bffce8ca84949aSteve Block#endif
6363978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#if ENABLE(WEB_AUTOFILL)
6373978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch        bool m_autoFillEnabled: 1;
6383978ee5f7771518f1c2650dfe39033c2fecc09feBen Murdoch#endif
639a71f9a9fbe6352a660bc2d18d8ad4fac7fa982b8Kristian Monsen#ifdef ANDROID_PLUGINS
640a71f9a9fbe6352a660bc2d18d8ad4fac7fa982b8Kristian Monsen        bool m_pluginsOnDemand : 1;
641a71f9a9fbe6352a660bc2d18d8ad4fac7fa982b8Kristian Monsen#endif
642ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu        bool m_mediaPlaybackRequiresUserGesture : 1;
643ad46784d9075ff6d1e11cd2be47a6169761b0eebTeng-Hui Zhu        bool m_mediaPlaybackAllowsInline : 1;
6445fe5f9958e40c39747144b3b454077d73415a112George Mount        bool m_passwordEchoEnabled : 1;
6455ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
6468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if USE(SAFARI_THEME)
6478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        static bool gShouldPaintNativeControls;
6488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
649d0825bca7fe65beaee391d30da42e937db621564Steve Block#if PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(WX))
650231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        static bool gShouldUseHighResolutionTimers;
651231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
6528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    };
6538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore
6558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // Settings_h
657