[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:24:51 UTC 2010


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

    Add Null and Int32 to NPVariantData
    https://bugs.webkit.org/show_bug.cgi?id=48887
    
    Reviewed by John Sullivan.
    
    * Shared/Plugins/NPRemoteObjectMap.cpp:
    (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
    (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
    * Shared/Plugins/NPVariantData.cpp:
    (WebKit::NPVariantData::NPVariantData):
    (WebKit::NPVariantData::makeNull):
    (WebKit::NPVariantData::makeInt32):
    (WebKit::NPVariantData::encode):
    (WebKit::NPVariantData::decode):
    * Shared/Plugins/NPVariantData.h:
    (WebKit::NPVariantData::int32Value):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71188 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 8ff97b5..de9816f 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,24 @@
 2010-11-02  Anders Carlsson  <andersca at apple.com>
 
+        Reviewed by John Sullivan.
+
+        Add Null and Int32 to NPVariantData
+        https://bugs.webkit.org/show_bug.cgi?id=48887
+
+        * Shared/Plugins/NPRemoteObjectMap.cpp:
+        (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+        (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+        * Shared/Plugins/NPVariantData.cpp:
+        (WebKit::NPVariantData::NPVariantData):
+        (WebKit::NPVariantData::makeNull):
+        (WebKit::NPVariantData::makeInt32):
+        (WebKit::NPVariantData::encode):
+        (WebKit::NPVariantData::decode):
+        * Shared/Plugins/NPVariantData.h:
+        (WebKit::NPVariantData::int32Value):
+
+2010-11-02  Anders Carlsson  <andersca at apple.com>
+
         Reviewed by Adam Roben.
 
         Add support for NP_HasMethod and NP_Invoke
diff --git a/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp b/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
index b36f343..dca7a27 100644
--- a/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
+++ b/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
@@ -94,20 +94,21 @@ NPVariantData NPRemoteObjectMap::npVariantToNPVariantData(const NPVariant& varia
     case NPVariantType_Void:
         return NPVariantData::makeVoid();
 
+    case NPVariantType_Null:
+        return NPVariantData::makeNull();
+
     case NPVariantType_Bool:
         return NPVariantData::makeBool(variant.value.boolValue);
 
+    case NPVariantType_Int32:
+        return NPVariantData::makeInt32(variant.value.intValue);
+
     case NPVariantType_Double:
         return NPVariantData::makeDouble(variant.value.doubleValue);
 
     case NPVariantType_String:
         return NPVariantData::makeString(variant.value.stringValue.UTF8Characters, variant.value.stringValue.UTF8Length);
 
-    case NPVariantType_Null:
-    case NPVariantType_Int32:
-        notImplemented();
-        return NPVariantData::makeVoid();
-
     case NPVariantType_Object: {
         NPObject* npObject = variant.value.objectValue;
         if (NPObjectProxy::isNPObjectProxy(npObject)) {
@@ -134,9 +135,15 @@ NPVariant NPRemoteObjectMap::npVariantDataToNPVariant(const NPVariantData& npVar
     case NPVariantData::Void:
         VOID_TO_NPVARIANT(npVariant);
         break;
+    case NPVariantData::Null:
+        NULL_TO_NPVARIANT(npVariant);
+        break;
     case NPVariantData::Bool:
         BOOLEAN_TO_NPVARIANT(npVariantData.boolValue(), npVariant);
         break;
+    case NPVariantData::Int32:
+        INT32_TO_NPVARIANT(npVariantData.int32Value(), 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 4ead6f9..bc6f0e3 100644
--- a/WebKit2/Shared/Plugins/NPVariantData.cpp
+++ b/WebKit2/Shared/Plugins/NPVariantData.cpp
@@ -37,6 +37,7 @@ namespace WebKit {
 NPVariantData::NPVariantData()
     : m_type(NPVariantData::Void)
     , m_boolValue(false)
+    , m_int32Value(0)
     , m_doubleValue(0)
     , m_localNPObjectIDValue(0)
     , m_remoteNPObjectIDValue(0)
@@ -48,6 +49,15 @@ NPVariantData NPVariantData::makeVoid()
     return NPVariantData();
 }
 
+NPVariantData NPVariantData::makeNull()
+{
+    NPVariantData npVariantData;
+    
+    npVariantData.m_type = NPVariantData::Null;
+    
+    return npVariantData;
+}
+    
 NPVariantData NPVariantData::makeBool(bool value)
 {
     NPVariantData npVariantData;
@@ -58,6 +68,16 @@ NPVariantData NPVariantData::makeBool(bool value)
     return npVariantData;
 }
 
+NPVariantData NPVariantData::makeInt32(int32_t value)
+{
+    NPVariantData npVariantData;
+
+    npVariantData.m_type = NPVariantData::Int32;
+    npVariantData.m_int32Value = value;
+
+    return npVariantData;
+}    
+
 NPVariantData NPVariantData::makeDouble(double value)
 {
     NPVariantData npVariantData;
@@ -94,10 +114,14 @@ void NPVariantData::encode(CoreIPC::ArgumentEncoder* encoder) const
 
     switch (type()) {
     case NPVariantData::Void:
+    case NPVariantData::Null:
         break;
     case NPVariantData::Bool:
         encoder->encode(boolValue());
         break;
+    case NPVariantData::Int32:
+        encoder->encode(int32Value());
+        break;
     case NPVariantData::Double:
         encoder->encode(doubleValue());
         break;
@@ -132,9 +156,12 @@ bool NPVariantData::decode(CoreIPC::ArgumentDecoder* decoder, NPVariantData& res
 
     switch (result.m_type) {
     case NPVariantData::Void:
+    case NPVariantData::Null:
         return true;
     case NPVariantData::Bool:
         return decoder->decode(result.m_boolValue);
+    case NPVariantData::Int32:
+        return decoder->decode(result.m_int32Value);
     case NPVariantData::Double:
         return decoder->decode(result.m_doubleValue);
     case NPVariantData::String:
@@ -143,9 +170,9 @@ bool NPVariantData::decode(CoreIPC::ArgumentDecoder* decoder, NPVariantData& res
         return decoder->decode(result.m_localNPObjectIDValue);
     case NPVariantData::RemoteNPObjectID:
         return decoder->decode(result.m_remoteNPObjectIDValue);
-    default:
-        return false;
     }
+
+    return false;
 }
 
 } // namespace WebKit
diff --git a/WebKit2/Shared/Plugins/NPVariantData.h b/WebKit2/Shared/Plugins/NPVariantData.h
index 9783f13..18d3ecf 100644
--- a/WebKit2/Shared/Plugins/NPVariantData.h
+++ b/WebKit2/Shared/Plugins/NPVariantData.h
@@ -43,7 +43,9 @@ class NPVariantData {
 public:
     enum Type {
         Void,
+        Null,
         Bool,
+        Int32,
         Double,
         String,
         LocalNPObjectID,
@@ -52,7 +54,9 @@ public:
     NPVariantData();
 
     static NPVariantData makeVoid();
+    static NPVariantData makeNull();
     static NPVariantData makeBool(bool value);
+    static NPVariantData makeInt32(int32_t value);
     static NPVariantData makeDouble(double value);
     static NPVariantData makeString(const char* string, unsigned length);
     static NPVariantData makeLocalNPObjectID(uint64_t value);
@@ -65,6 +69,12 @@ public:
         return m_boolValue;
     }
 
+    int32_t int32Value() const
+    {
+        ASSERT(type() == NPVariantData::Int32);
+        return m_int32Value;
+    }
+
     double doubleValue() const
     {
         ASSERT(type() == NPVariantData::Double);
@@ -95,6 +105,7 @@ public:
 private:
     uint32_t m_type;
     bool m_boolValue;
+    int32_t m_int32Value;
     double m_doubleValue;
     CString m_stringValue;
     uint64_t m_localNPObjectIDValue;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list