Title: [131825] trunk/Source/WebKit2
Revision
131825
Author
commit-qu...@webkit.org
Date
2012-10-18 16:59:59 -0700 (Thu, 18 Oct 2012)

Log Message

Add support for float-valued prefernces
https://bugs.webkit.org/show_bug.cgi?id=99419

Patch by Jaehun Lim <ljaehun....@samsung.com> on 2012-10-18
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):

Modified Paths

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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to