Diff
Modified: trunk/Source/WebKit2/ChangeLog (131824 => 131825)
--- trunk/Source/WebKit2/ChangeLog 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/ChangeLog 2012-10-18 23:59:59 UTC (rev 131825)
@@ -1,3 +1,41 @@
+2012-10-18 Jaehun Lim <ljaehun....@samsung.com>
+
+ Add support for float-valued prefernces
+ https://bugs.webkit.org/show_bug.cgi?id=99419
+
+ Reviewed by Anders Carlsson.
+
+ Support float values for preferences in WK2.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ (WebKit):
+ (WebKit::defaultValueForKey):
+ * Shared/WebPreferencesStore.h:
+ (WebKit):
+ (WebPreferencesStore):
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::updateFloatValueForKey):
+ (WebKit):
+ * UIProcess/WebPreferences.h:
+ (WebPreferences):
+ * UIProcess/cf/WebPreferencesCF.cpp:
+ (WebKit::WebPreferences::platformUpdateFloatValueForKey):
+ (WebKit):
+ * UIProcess/efl/WebPreferencesEfl.cpp:
+ (WebKit::WebPreferences::platformUpdateFloatValueForKey):
+ (WebKit):
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ (WebKit::WebPreferences::platformUpdateFloatValueForKey):
+ (WebKit):
+ * UIProcess/mac/WebPreferencesMac.mm:
+ (WebKit::WebPreferences::platformUpdateFloatValueForKey):
+ (WebKit):
+ * UIProcess/qt/WebPreferencesQt.cpp:
+ (WebKit::WebPreferences::platformUpdateFloatValueForKey):
+ (WebKit):
+
2012-10-18 Anders Carlsson <ander...@apple.com>
Replace uses of ArgumentEncoder/ArgumentDecoder with MessageEncoder/MessageDecoder
Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.cpp (131824 => 131825)
--- trunk/Source/WebKit2/Shared/WebPreferencesStore.cpp 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.cpp 2012-10-18 23:59:59 UTC (rev 131825)
@@ -65,6 +65,7 @@
encoder->encode(m_boolValues);
encoder->encode(m_uint32Values);
encoder->encode(m_doubleValues);
+ encoder->encode(m_floatValues);
}
bool WebPreferencesStore::decode(CoreIPC::ArgumentDecoder* decoder, WebPreferencesStore& result)
@@ -77,6 +78,8 @@
return false;
if (!decoder->decode(result.m_doubleValues))
return false;
+ if (!decoder->decode(result.m_floatValues))
+ return false;
return true;
}
@@ -146,6 +149,19 @@
return defaults.get(key);
}
+template<>
+float defaultValueForKey(const String& key)
+{
+ static HashMap<String, float>& defaults = *new HashMap<String, float>;
+ if (defaults.isEmpty()) {
+#define DEFINE_FLOAT_DEFAULTS(KeyUpper, KeyLower, TypeName, Type, DefaultValue) defaults.set(WebPreferencesKey::KeyLower##Key(), DefaultValue);
+ FOR_EACH_WEBKIT_FLOAT_PREFERENCE(DEFINE_FLOAT_DEFAULTS)
+#undef DEFINE_FLOAT_DEFAULTS
+ }
+
+ return defaults.get(key);
+}
+
template<typename MapType>
static typename MapType::MappedType valueForKey(const MapType& map, const typename MapType::KeyType& key)
{
Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.h (131824 => 131825)
--- trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2012-10-18 23:59:59 UTC (rev 131825)
@@ -144,6 +144,9 @@
macro(PDFScaleFactor, pdfScaleFactor, Double, double, 0) \
\
+#define FOR_EACH_WEBKIT_FLOAT_PREFERENCE(macro) \
+ \
+
#if PLATFORM(WIN)
#define DEFAULT_WEBKIT_FONT_SMOOTHING_LEVEL FontSmoothingLevelWindows
#else
@@ -212,6 +215,7 @@
#define FOR_EACH_WEBKIT_PREFERENCE(macro) \
FOR_EACH_WEBKIT_BOOL_PREFERENCE(macro) \
FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
+ FOR_EACH_WEBKIT_FLOAT_PREFERENCE(macro) \
FOR_EACH_WEBKIT_UINT32_PREFERENCE(macro) \
FOR_EACH_WEBKIT_STRING_PREFERENCE(macro) \
\
@@ -246,6 +250,9 @@
bool setDoubleValueForKey(const String& key, double value);
double getDoubleValueForKey(const String& key) const;
+ bool setFloatValueForKey(const String& key, float value);
+ float getFloatValueForKey(const String& key) const;
+
// For WebKitTestRunner usage.
static void overrideBoolValueForKey(const String& key, bool value);
static void removeTestRunnerOverrides();
@@ -254,6 +261,7 @@
HashMap<String, bool> m_boolValues;
HashMap<String, uint32_t> m_uint32Values;
HashMap<String, double> m_doubleValues;
+ HashMap<String, float> m_floatValues;
};
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/WebPreferences.cpp (131824 => 131825)
--- trunk/Source/WebKit2/UIProcess/WebPreferences.cpp 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/UIProcess/WebPreferences.cpp 2012-10-18 23:59:59 UTC (rev 131825)
@@ -92,6 +92,12 @@
update(); // FIXME: Only send over the changed key and value.
}
+void WebPreferences::updateFloatValueForKey(const String& key, float value)
+{
+ platformUpdateFloatValueForKey(key, value);
+ update(); // FIXME: Only send over the changed key and value.
+}
+
#define DEFINE_PREFERENCE_GETTER_AND_SETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue) \
void WebPreferences::set##KeyUpper(const Type& value) \
{ \
Modified: trunk/Source/WebKit2/UIProcess/WebPreferences.h (131824 => 131825)
--- trunk/Source/WebKit2/UIProcess/WebPreferences.h 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/UIProcess/WebPreferences.h 2012-10-18 23:59:59 UTC (rev 131825)
@@ -92,10 +92,12 @@
void updateBoolValueForKey(const String& key, bool value);
void updateUInt32ValueForKey(const String& key, uint32_t value);
void updateDoubleValueForKey(const String& key, double value);
+ void updateFloatValueForKey(const String& key, float value);
void platformUpdateStringValueForKey(const String& key, const String& value);
void platformUpdateBoolValueForKey(const String& key, bool value);
void platformUpdateUInt32ValueForKey(const String& key, uint32_t value);
void platformUpdateDoubleValueForKey(const String& key, double value);
+ void platformUpdateFloatValueForKey(const String& key, float value);
HashSet<WebPageGroup*> m_pageGroups;
WebPreferencesStore m_store;
Modified: trunk/Source/WebKit2/UIProcess/cf/WebPreferencesCF.cpp (131824 => 131825)
--- trunk/Source/WebKit2/UIProcess/cf/WebPreferencesCF.cpp 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/UIProcess/cf/WebPreferencesCF.cpp 2012-10-18 23:59:59 UTC (rev 131825)
@@ -141,6 +141,15 @@
CFPreferencesSetAppValue(makeKey(m_identifier, key).get(), number.get(), kCFPreferencesCurrentApplication);
}
+void WebPreferences::platformUpdateFloatValueForKey(const String& key, float value)
+{
+ if (!m_identifier)
+ return;
+
+ RetainPtr<CFNumberRef> number(AdoptCF, CFNumberCreate(0, kCFNumberFloatType, &value));
+ CFPreferencesSetAppValue(makeKey(m_identifier, key).get(), number.get(), kCFPreferencesCurrentApplication);
+}
+
} // namespace WebKit
#endif // !PLATFORM(MAC)
Modified: trunk/Source/WebKit2/UIProcess/efl/WebPreferencesEfl.cpp (131824 => 131825)
--- trunk/Source/WebKit2/UIProcess/efl/WebPreferencesEfl.cpp 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/UIProcess/efl/WebPreferencesEfl.cpp 2012-10-18 23:59:59 UTC (rev 131825)
@@ -55,4 +55,9 @@
notImplemented();
}
+void WebPreferences::platformUpdateFloatValueForKey(const String&, float)
+{
+ notImplemented();
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp (131824 => 131825)
--- trunk/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp 2012-10-18 23:59:59 UTC (rev 131825)
@@ -56,4 +56,9 @@
notImplemented();
}
+void WebPreferences::platformUpdateFloatValueForKey(const String&, float)
+{
+ notImplemented();
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm (131824 => 131825)
--- trunk/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm 2012-10-18 23:59:59 UTC (rev 131825)
@@ -125,4 +125,12 @@
[[NSUserDefaults standardUserDefaults] setDouble:value forKey:makeKey(m_identifier, key)];
}
+void WebPreferences::platformUpdateFloatValueForKey(const String& key, float value)
+{
+ if (!m_identifier)
+ return;
+
+ [[NSUserDefaults standardUserDefaults] setFloat:value forKey:makeKey(m_identifier, key)];
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/qt/WebPreferencesQt.cpp (131824 => 131825)
--- trunk/Source/WebKit2/UIProcess/qt/WebPreferencesQt.cpp 2012-10-18 23:56:27 UTC (rev 131824)
+++ trunk/Source/WebKit2/UIProcess/qt/WebPreferencesQt.cpp 2012-10-18 23:59:59 UTC (rev 131825)
@@ -76,4 +76,8 @@
{
}
+void WebPreferences::platformUpdateFloatValueForKey(const String&, float)
+{
+}
+
} // namespace WebKit