165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch/* 265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * Copyright (C) 2010, 2011 Apple Inc. All rights reserved. 365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * Redistribution and use in source and binary forms, with or without 565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * modification, are permitted provided that the following conditions 665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * are met: 765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 1. Redistributions of source code must retain the above copyright 865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer. 965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright 1065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer in the 1165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * documentation and/or other materials provided with the distribution. 1265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 1365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 1465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 1565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 1765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 1865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 1965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 2365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE POSSIBILITY OF SUCH DAMAGE. 2465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch */ 2565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#ifndef WebPreferencesStore_h 2765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define WebPreferencesStore_h 2865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "ArgumentDecoder.h" 3065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "ArgumentEncoder.h" 3165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/HashMap.h> 3265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/text/StringHash.h> 3365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/text/WTFString.h> 3465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace WebKit { 3665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch// macro(KeyUpper, KeyLower, TypeNameUpper, TypeName, DefaultValue) 3865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define FOR_EACH_WEBKIT_BOOL_PREFERENCE(macro) \ 4065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(JavaScriptEnabled, javaScriptEnabled, Bool, bool, true) \ 4165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(LoadsImagesAutomatically, loadsImagesAutomatically, Bool, bool, true) \ 422daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch macro(LoadsSiteIconsIgnoringImageLoadingPreference, loadsSiteIconsIgnoringImageLoadingPreference, Bool, bool, false) \ 4365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(PluginsEnabled, pluginsEnabled, Bool, bool, true) \ 4465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(JavaEnabled, javaEnabled, Bool, bool, true) \ 4565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(OfflineWebApplicationCacheEnabled, offlineWebApplicationCacheEnabled, Bool, bool, false) \ 4665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(LocalStorageEnabled, localStorageEnabled, Bool, bool, true) \ 4765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(DatabasesEnabled, databasesEnabled, Bool, bool, true) \ 4865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(XSSAuditorEnabled, xssAuditorEnabled, Bool, bool, true) \ 4965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(FrameFlatteningEnabled, frameFlatteningEnabled, Bool, bool, false) \ 5065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(DeveloperExtrasEnabled, developerExtrasEnabled, Bool, bool, false) \ 5165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(PrivateBrowsingEnabled, privateBrowsingEnabled, Bool, bool, false) \ 5265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(TextAreasAreResizable, textAreasAreResizable, Bool, bool, true) \ 5365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(JavaScriptCanOpenWindowsAutomatically, javaScriptCanOpenWindowsAutomatically, Bool, bool, true) \ 5465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(HyperlinkAuditingEnabled, hyperlinkAuditingEnabled, Bool, bool, true) \ 5565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(NeedsSiteSpecificQuirks, needsSiteSpecificQuirks, Bool, bool, false) \ 5665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(AcceleratedCompositingEnabled, acceleratedCompositingEnabled, Bool, bool, true) \ 5781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch macro(AcceleratedDrawingEnabled, acceleratedDrawingEnabled, Bool, bool, false) \ 582bde8e466a4451c7319e3a072d118917957d6554Steve Block macro(CanvasUsesAcceleratedDrawing, canvasUsesAcceleratedDrawing, Bool, bool, true) \ 5965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(CompositingBordersVisible, compositingBordersVisible, Bool, bool, false) \ 6065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(CompositingRepaintCountersVisible, compositingRepaintCountersVisible, Bool, bool, false) \ 612fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(WebGLEnabled, webGLEnabled, Bool, bool, false) \ 6265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(ForceFTPDirectoryListings, forceFTPDirectoryListings, Bool, bool, false) \ 6365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(TabsToLinks, tabsToLinks, Bool, bool, false) \ 6465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(DNSPrefetchingEnabled, dnsPrefetchingEnabled, Bool, bool, false) \ 6565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(WebArchiveDebugModeEnabled, webArchiveDebugModeEnabled, Bool, bool, false) \ 6665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(LocalFileContentSniffingEnabled, localFileContentSniffingEnabled, Bool, bool, false) \ 6765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(UsesPageCache, usesPageCache, Bool, bool, true) \ 6865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(AuthorAndUserStylesEnabled, authorAndUserStylesEnabled, Bool, bool, true) \ 6965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(PaginateDuringLayoutEnabled, paginateDuringLayoutEnabled, Bool, bool, false) \ 7065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(DOMPasteAllowed, domPasteAllowed, Bool, bool, false) \ 712fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(JavaScriptCanAccessClipboard, javaScriptCanAccessClipboard, Bool, bool, false) \ 7265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(ShouldPrintBackgrounds, shouldPrintBackgrounds, Bool, bool, false) \ 732bde8e466a4451c7319e3a072d118917957d6554Steve Block macro(FullScreenEnabled, fullScreenEnabled, Bool, bool, true) \ 742bde8e466a4451c7319e3a072d118917957d6554Steve Block macro(WebSecurityEnabled, webSecurityEnabled, Bool, bool, true) \ 752bde8e466a4451c7319e3a072d118917957d6554Steve Block macro(AllowUniversalAccessFromFileURLs, allowUniversalAccessFromFileURLs, Bool, bool, false) \ 762bde8e466a4451c7319e3a072d118917957d6554Steve Block macro(AllowFileAccessFromFileURLs, allowFileAccessFromFileURLs, Bool, bool, false) \ 7765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch \ 7865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 7965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \ 8065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(PDFScaleFactor, pdfScaleFactor, Double, double, 0) \ 8165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch \ 8265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 8365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define FOR_EACH_WEBKIT_UINT32_PREFERENCE(macro) \ 8465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(FontSmoothingLevel, fontSmoothingLevel, UInt32, uint32_t, FontSmoothingLevelMedium) \ 8565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(MinimumFontSize, minimumFontSize, UInt32, uint32_t, 0) \ 8665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(MinimumLogicalFontSize, minimumLogicalFontSize, UInt32, uint32_t, 9) \ 8765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(DefaultFontSize, defaultFontSize, UInt32, uint32_t, 16) \ 8865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(DefaultFixedFontSize, defaultFixedFontSize, UInt32, uint32_t, 13) \ 8965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(PDFDisplayMode, pdfDisplayMode, UInt32, uint32_t, 1) \ 902daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch macro(EditableLinkBehavior, editableLinkBehavior, UInt32, uint32_t, WebCore::EditableLinkNeverLive) \ 9165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch \ 9265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 9365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(WIN) 9465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 9565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE(macro) \ 9665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(StandardFontFamily, standardFontFamily, String, String, "Times New Roman") \ 9765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(CursiveFontFamily, cursiveFontFamily, String, String, "Comic Sans MS") \ 9865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(FantasyFontFamily, fantasyFontFamily, String, String, "Comic Sans MS") \ 9965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(FixedFontFamily, fixedFontFamily, String, String, "Courier New") \ 10065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(SansSerifFontFamily, sansSerifFontFamily, String, String, "Arial") \ 10165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(SerifFontFamily, serifFontFamily, String, String, "Times New Roman") \ 10265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch \ 10365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1042fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#elif PLATFORM(MAC) 10565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 10665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE(macro) \ 10765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(StandardFontFamily, standardFontFamily, String, String, "Times") \ 10865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(CursiveFontFamily, cursiveFontFamily, String, String, "Apple Chancery") \ 10965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(FantasyFontFamily, fantasyFontFamily, String, String, "Papyrus") \ 11065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(FixedFontFamily, fixedFontFamily, String, String, "Courier") \ 11165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(SansSerifFontFamily, sansSerifFontFamily, String, String, "Helvetica") \ 1122fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(SerifFontFamily, serifFontFamily, String, String, "Times") \ 1132fc2651226baac27029e38c9d6ef883fa32084dbSteve Block \ 1142fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 1152fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#elif PLATFORM(QT) || PLATFORM(GTK) 1162fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 1172fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#define FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE(macro) \ 1182fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(StandardFontFamily, standardFontFamily, String, String, "Times") \ 1192fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(CursiveFontFamily, cursiveFontFamily, String, String, "Comic Sans MS") \ 1202fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(FantasyFontFamily, fantasyFontFamily, String, String, "Impact") \ 1212fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(FixedFontFamily, fixedFontFamily, String, String, "Courier New") \ 1222fc2651226baac27029e38c9d6ef883fa32084dbSteve Block macro(SansSerifFontFamily, sansSerifFontFamily, String, String, "Helvetica") \ 12365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(SerifFontFamily, serifFontFamily, String, String, "Times") \ 12465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch \ 12565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 12765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define FOR_EACH_WEBKIT_STRING_PREFERENCE(macro) \ 12965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE(macro) \ 13065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(DefaultTextEncodingName, defaultTextEncodingName, String, String, "ISO-8859-1") \ 13165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch macro(FTPDirectoryTemplatePath, ftpDirectoryTemplatePath, String, String, "") \ 13265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch \ 13365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define FOR_EACH_WEBKIT_PREFERENCE(macro) \ 13665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FOR_EACH_WEBKIT_BOOL_PREFERENCE(macro) \ 13765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \ 13865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FOR_EACH_WEBKIT_UINT32_PREFERENCE(macro) \ 13965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FOR_EACH_WEBKIT_STRING_PREFERENCE(macro) \ 14065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch \ 14165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace WebPreferencesKey { 14365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define DECLARE_KEY_GETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue) const String& KeyLower##Key(); 14565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FOR_EACH_WEBKIT_PREFERENCE(DECLARE_KEY_GETTERS) 14765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#undef DECLARE_KEY_GETTERS 14965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} // namespace WebPreferencesKey 15165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochstruct WebPreferencesStore { 15365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebPreferencesStore(); 15465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void encode(CoreIPC::ArgumentEncoder* encoder) const; 15665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static bool decode(CoreIPC::ArgumentDecoder*, WebPreferencesStore&); 15765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 15865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // NOTE: The getters in this class have non-standard names to aid in the use of the preference macros. 15965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool setStringValueForKey(const String& key, const String& value); 16165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch String getStringValueForKey(const String& key) const; 16265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool setBoolValueForKey(const String& key, bool value); 16465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool getBoolValueForKey(const String& key) const; 16565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool setUInt32ValueForKey(const String& key, uint32_t value); 16765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch uint32_t getUInt32ValueForKey(const String& key) const; 16865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool setDoubleValueForKey(const String& key, double value); 17065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch double getDoubleValueForKey(const String& key) const; 17165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static void overrideXSSAuditorEnabledForTestRunner(bool); 1732bde8e466a4451c7319e3a072d118917957d6554Steve Block static void overrideAllowUniversalAccessFromFileURLsForTestRunner(bool); 1742daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch static void overrideAllowFileAccessFromFileURLsForTestRunner(bool); 17565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static void removeTestRunnerOverrides(); 17665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HashMap<String, String> m_stringValues; 17865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HashMap<String, bool> m_boolValues; 17965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HashMap<String, uint32_t> m_uint32Values; 18065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HashMap<String, double> m_doubleValues; 18165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}; 18265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} // namespace WebKit 18465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif // WebPreferencesStore_h 186