[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

hyatt at apple.com hyatt at apple.com
Wed Apr 7 23:53:07 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 5a9f0da39abb0089b01d16d7855eb6ce3963c2ac
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Nov 21 02:54:23 2009 +0000

    Change WebSerializedJSValue on Windows to have a zero-argument createInstance call.  Move the
    serialization into a separate serialize() function that can be called after the object has been
    created.
    
    Reviewed by Jon Honeycutt.
    
    Fix a typo in serialize() caused when fixing build bustage (put a ! back in).
    
    * Interfaces/IWebSerializedJSValue.idl:
    * WebSerializedJSValue.cpp:
    (WebSerializedJSValue::WebSerializedJSValue):
    (WebSerializedJSValue::createInstance):
    (WebSerializedJSValue::serialize):
    (WebSerializedJSValue::deserialize):
    * WebSerializedJSValue.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 869215f..89b46dc 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,21 @@
+2009-11-20  Dave Hyatt  <hyatt at apple.com>
+
+        Reviewed by Jon Honeycutt.
+
+        Change WebSerializedJSValue on Windows to have a zero-argument createInstance call.  Move the
+        serialization into a separate serialize() function that can be called after the object has been
+        created.
+
+        Fix a typo in serialize() caused when fixing build bustage (put a ! back in).
+
+        * Interfaces/IWebSerializedJSValue.idl:
+        * WebSerializedJSValue.cpp:
+        (WebSerializedJSValue::WebSerializedJSValue):
+        (WebSerializedJSValue::createInstance):
+        (WebSerializedJSValue::serialize):
+        (WebSerializedJSValue::deserialize):
+        * WebSerializedJSValue.h:
+
 2009-11-20  Brian Weinstein  <bweinstein at apple.com>
 
         Reviewed by Dave Hyatt.
diff --git a/WebKit/win/Interfaces/IWebSerializedJSValue.idl b/WebKit/win/Interfaces/IWebSerializedJSValue.idl
index 16bc924..c59a0c5 100644
--- a/WebKit/win/Interfaces/IWebSerializedJSValue.idl
+++ b/WebKit/win/Interfaces/IWebSerializedJSValue.idl
@@ -35,5 +35,6 @@ import "JavaScriptCoreAPITypes.idl";
     pointer_default(unique)
 ]
 interface IWebSerializedJSValue : IUnknown {
+    [local] HRESULT serialize([in] JSContextRef context, [in] JSValueRef value, [out, retval] JSException* exception);
     [local] HRESULT deserialize([in] JSContextRef context, [out, retval] JSValueRef* value);
 }
diff --git a/WebKit/win/WebSerializedJSValue.cpp b/WebKit/win/WebSerializedJSValue.cpp
index e1ecdec..307df90 100644
--- a/WebKit/win/WebSerializedJSValue.cpp
+++ b/WebKit/win/WebSerializedJSValue.cpp
@@ -30,15 +30,9 @@
 
 using namespace WebCore;
 
-WebSerializedJSValue::WebSerializedJSValue(JSContextRef sourceContext, JSValueRef value, JSValueRef* exception)
+WebSerializedJSValue::WebSerializedJSValue()
     : m_refCount(0)
 {
-    ASSERT_ARG(value, value);
-    ASSERT_ARG(sourceContext, sourceContext);
-
-    if (value && sourceContext)
-        m_value = SerializedScriptValue::create(sourceContext, value, exception);
-
     ++gClassCount;
     gClassNameCount.add("WebSerializedJSValue");
 }
@@ -49,9 +43,9 @@ WebSerializedJSValue::~WebSerializedJSValue()
     gClassNameCount.remove("WebSerializedJSValue");
 }
 
-COMPtr<WebSerializedJSValue> WebSerializedJSValue::createInstance(JSContextRef sourceContext, JSValueRef value, JSValueRef* exception)
+COMPtr<WebSerializedJSValue> WebSerializedJSValue::createInstance()
 {
-    return new WebSerializedJSValue(sourceContext, value, exception);
+    return new WebSerializedJSValue();
 }
 
 ULONG WebSerializedJSValue::AddRef()
@@ -86,12 +80,25 @@ HRESULT WebSerializedJSValue::QueryInterface(REFIID riid, void** ppvObject)
     return S_OK;
 }
 
+HRESULT WebSerializedJSValue::serialize(JSContextRef sourceContext, JSValueRef value, JSValueRef* exception)
+{
+    ASSERT_ARG(value, value);
+    ASSERT_ARG(sourceContext, sourceContext);
+
+    if (!value || !sourceContext)
+        return E_POINTER;
+
+    m_value = SerializedScriptValue::create(sourceContext, value, exception);
+        
+    return S_OK;
+}
+
 HRESULT WebSerializedJSValue::deserialize(JSContextRef destinationContext, JSValueRef* outValue)
 {
     if (!outValue)
         return E_POINTER;
 
-    if (m_value)
+    if (!m_value)
         *outValue = 0;
     else
         *outValue = m_value->deserialize(destinationContext, 0);
diff --git a/WebKit/win/WebSerializedJSValue.h b/WebKit/win/WebSerializedJSValue.h
index 2a21d57..d39323c 100644
--- a/WebKit/win/WebSerializedJSValue.h
+++ b/WebKit/win/WebSerializedJSValue.h
@@ -36,15 +36,16 @@ namespace WebCore {
 
 class WebSerializedJSValue : public Noncopyable, public IWebSerializedJSValue {
 public:
-    static COMPtr<WebSerializedJSValue> createInstance(JSContextRef, JSValueRef value, JSValueRef* exception);
+    static COMPtr<WebSerializedJSValue> createInstance();
 
     virtual ULONG STDMETHODCALLTYPE AddRef();
     virtual ULONG STDMETHODCALLTYPE Release();
 
+    virtual HRESULT STDMETHODCALLTYPE serialize(JSContextRef, JSValueRef value, JSValueRef* exception);
     virtual HRESULT STDMETHODCALLTYPE deserialize(JSContextRef, JSValueRef* result);
 
 private:
-    WebSerializedJSValue(JSContextRef, JSValueRef, JSValueRef*);
+    WebSerializedJSValue();
     ~WebSerializedJSValue();
 
     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list