[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

andersca at apple.com andersca at apple.com
Wed Dec 22 15:23:23 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit e4fb50ce90a9f13890688fba2b66f8ddcf1e9399
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 2 18:01:17 2010 +0000

    Handle boolean values in NPVariant and NPVariantData
    https://bugs.webkit.org/show_bug.cgi?id=48852
    
    Reviewed by John Sullivan.
    
    * Shared/Plugins/NPRemoteObjectMap.cpp:
    (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
    (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
    * Shared/Plugins/NPVariantData.cpp:
    (WebKit::NPVariantData::makeBool):
    (WebKit::NPVariantData::encode):
    (WebKit::NPVariantData::decode):
    * Shared/Plugins/NPVariantData.h:
    (WebKit::NPVariantData::boolValue):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 303bbb0..9504e42 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -21,6 +21,23 @@
 
         Reviewed by John Sullivan.
 
+        Handle boolean values in NPVariant and NPVariantData
+        https://bugs.webkit.org/show_bug.cgi?id=48852
+
+        * Shared/Plugins/NPRemoteObjectMap.cpp:
+        (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+        (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+        * Shared/Plugins/NPVariantData.cpp:
+        (WebKit::NPVariantData::makeBool):
+        (WebKit::NPVariantData::encode):
+        (WebKit::NPVariantData::decode):
+        * Shared/Plugins/NPVariantData.h:
+        (WebKit::NPVariantData::boolValue):
+
+2010-11-02  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by John Sullivan.
+
         Assertion hit in WebProcessProxy::~WebProcessProxy()
         https://bugs.webkit.org/show_bug.cgi?id=48849
         <rdar://problem/8617676>
diff --git a/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp b/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
index e8f3c83..04e42b7 100644
--- a/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
+++ b/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
@@ -79,11 +79,13 @@ NPVariantData NPRemoteObjectMap::npVariantToNPVariantData(const NPVariant& varia
     case NPVariantType_Void:
         return NPVariantData::makeVoid();
 
+    case NPVariantType_Bool:
+        return NPVariantData::makeBool(variant.value.boolValue);
+
     case NPVariantType_Double:
         return NPVariantData::makeDouble(variant.value.doubleValue);
             
     case NPVariantType_Null:
-    case NPVariantType_Bool:
     case NPVariantType_Int32:
     case NPVariantType_String:
     case NPVariantType_Object:
@@ -103,6 +105,9 @@ NPVariant NPRemoteObjectMap::npVariantDataToNPVariant(const NPVariantData& npVar
     case NPVariantData::Void:
         VOID_TO_NPVARIANT(npVariant);
         break;
+    case NPVariantData::Bool:
+        BOOLEAN_TO_NPVARIANT(npVariantData.boolValue(), npVariant);
+        break;
     case NPVariantData::Double:
         DOUBLE_TO_NPVARIANT(npVariantData.doubleValue(), npVariant);
         break;
diff --git a/WebKit2/Shared/Plugins/NPVariantData.cpp b/WebKit2/Shared/Plugins/NPVariantData.cpp
index bacb74d..70acc89 100644
--- a/WebKit2/Shared/Plugins/NPVariantData.cpp
+++ b/WebKit2/Shared/Plugins/NPVariantData.cpp
@@ -43,6 +43,16 @@ NPVariantData NPVariantData::makeVoid()
     return NPVariantData();
 }
 
+NPVariantData NPVariantData::makeBool(bool value)
+{
+    NPVariantData npVariantData;
+
+    npVariantData.m_type = NPVariantData::Bool;
+    npVariantData.m_boolValue = value;
+
+    return npVariantData;
+}
+
 NPVariantData NPVariantData::makeDouble(double value)
 {
     NPVariantData npVariantData;
@@ -60,8 +70,12 @@ void NPVariantData::encode(CoreIPC::ArgumentEncoder* encoder) const
     switch (type()) {
     case NPVariantData::Void:
         break;
+    case NPVariantData::Bool:
+        encoder->encode(m_boolValue);
+        break;
     case NPVariantData::Double:
         encoder->encode(m_doubleValue);
+        break;
     }
 }
 
@@ -73,6 +87,8 @@ bool NPVariantData::decode(CoreIPC::ArgumentDecoder* decoder, NPVariantData& res
     switch (result.m_type) {
     case NPVariantData::Void:
         return true;
+    case NPVariantData::Bool:
+        return decoder->decode(result.m_boolValue);
     case NPVariantData::Double:
         return decoder->decode(result.m_doubleValue);
     default:
diff --git a/WebKit2/Shared/Plugins/NPVariantData.h b/WebKit2/Shared/Plugins/NPVariantData.h
index e7cd83f..72c6722 100644
--- a/WebKit2/Shared/Plugins/NPVariantData.h
+++ b/WebKit2/Shared/Plugins/NPVariantData.h
@@ -41,15 +41,23 @@ class NPVariantData {
 public:
     enum Type {
         Void,
+        Bool,
         Double,
     };
     NPVariantData();
 
     static NPVariantData makeVoid();
+    static NPVariantData makeBool(bool value);
     static NPVariantData makeDouble(double value);
 
     Type type() const { return static_cast<Type>(m_type); }
 
+    bool boolValue() const
+    {
+        ASSERT(type() == NPVariantData::Bool);
+        return m_boolValue;
+    }
+
     double doubleValue() const
     {
         ASSERT(type() == NPVariantData::Double);
@@ -61,6 +69,7 @@ public:
 
 private:
     uint32_t m_type;
+    bool m_boolValue;
     double m_doubleValue;
 };
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list