[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 11:47:44 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 34c425a624c5c65554d726ba30f630ea273e45b0
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Aug 6 23:04:20 2010 +0000

    Change all ArgumentEncoder and ArgumentDecoder references to pointers
    https://bugs.webkit.org/show_bug.cgi?id=43651
    
    Reviewed by Sam Weinig.
    
    * Platform/CoreIPC/ArgumentCoder.h:
    * Platform/CoreIPC/ArgumentDecoder.h:
    * Platform/CoreIPC/Arguments.h:
    * Platform/CoreIPC/Attachment.cpp:
    * Platform/CoreIPC/Attachment.h:
    * Platform/CoreIPC/mac/MachPort.h:
    * Platform/SharedMemory.h:
    * Platform/mac/SharedMemoryMac.cpp:
    * Shared/DrawingAreaBase.cpp:
    * Shared/DrawingAreaBase.h:
    * Shared/WebEvent.h:
    * Shared/WebNavigationDataStore.h:
    * Shared/WebPreferencesStore.h:
    * Shared/mac/UpdateChunk.cpp:
    * Shared/mac/UpdateChunk.h:
    * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
    * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
    * UIProcess/DrawingAreaProxy.h:
    * UIProcess/LayerBackedDrawingAreaProxy.cpp:
    * UIProcess/LayerBackedDrawingAreaProxy.h:
    * UIProcess/WebContext.cpp:
    * UIProcess/WebContext.h:
    * UIProcess/WebPageProxy.cpp:
    * UIProcess/WebPageProxy.h:
    * UIProcess/WebProcessProxy.cpp:
    * WebProcess/InjectedBundle/InjectedBundle.cpp:
    * WebProcess/InjectedBundle/InjectedBundle.h:
    * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
    * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
    * WebProcess/WebPage/DrawingArea.h:
    * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
    * WebProcess/WebPage/LayerBackedDrawingArea.h:
    * WebProcess/WebPage/WebPage.cpp:
    * WebProcess/WebPage/WebPage.h:
    * WebProcess/WebProcess.cpp:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 85f2fd0..fd19520 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -2,6 +2,49 @@
 
         Reviewed by Sam Weinig.
 
+        Change all ArgumentEncoder and ArgumentDecoder references to pointers
+        https://bugs.webkit.org/show_bug.cgi?id=43651
+
+        * Platform/CoreIPC/ArgumentCoder.h:
+        * Platform/CoreIPC/ArgumentDecoder.h:
+        * Platform/CoreIPC/Arguments.h:
+        * Platform/CoreIPC/Attachment.cpp:
+        * Platform/CoreIPC/Attachment.h:
+        * Platform/CoreIPC/mac/MachPort.h:
+        * Platform/SharedMemory.h:
+        * Platform/mac/SharedMemoryMac.cpp:
+        * Shared/DrawingAreaBase.cpp:
+        * Shared/DrawingAreaBase.h:
+        * Shared/WebEvent.h:
+        * Shared/WebNavigationDataStore.h:
+        * Shared/WebPreferencesStore.h:
+        * Shared/mac/UpdateChunk.cpp:
+        * Shared/mac/UpdateChunk.h:
+        * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+        * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+        * UIProcess/DrawingAreaProxy.h:
+        * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+        * UIProcess/LayerBackedDrawingAreaProxy.h:
+        * UIProcess/WebContext.cpp:
+        * UIProcess/WebContext.h:
+        * UIProcess/WebPageProxy.cpp:
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebProcessProxy.cpp:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        * WebProcess/InjectedBundle/InjectedBundle.h:
+        * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+        * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+        * WebProcess/WebPage/DrawingArea.h:
+        * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+        * WebProcess/WebPage/LayerBackedDrawingArea.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebProcess.cpp:
+
+2010-08-06  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
         Don't try to allocate a vector unless we know the buffer can contain it
         https://bugs.webkit.org/show_bug.cgi?id=43647
 
diff --git a/WebKit2/Platform/CoreIPC/ArgumentCoder.h b/WebKit2/Platform/CoreIPC/ArgumentCoder.h
index b092ddf..bd15f51 100644
--- a/WebKit2/Platform/CoreIPC/ArgumentCoder.h
+++ b/WebKit2/Platform/CoreIPC/ArgumentCoder.h
@@ -36,12 +36,12 @@ class ArgumentEncoder;
 template<typename T> struct ArgumentCoder {
     static void encode(ArgumentEncoder* encoder, const T& t)
     {
-        t.encode(*encoder);
+        t.encode(encoder);
     }
 
     static bool decode(ArgumentDecoder* decoder, T& t)
     {
-        return T::decode(*decoder, t);
+        return T::decode(decoder, t);
     }
 };
 
diff --git a/WebKit2/Platform/CoreIPC/ArgumentDecoder.h b/WebKit2/Platform/CoreIPC/ArgumentDecoder.h
index b58f811..231ca16 100644
--- a/WebKit2/Platform/CoreIPC/ArgumentDecoder.h
+++ b/WebKit2/Platform/CoreIPC/ArgumentDecoder.h
@@ -79,8 +79,8 @@ public:
     void debug();
 
 private:
-    ArgumentDecoder(const ArgumentDecoder&);
-    ArgumentDecoder& operator=(const ArgumentDecoder&);
+    ArgumentDecoder(const ArgumentDecoder*);
+    ArgumentDecoder* operator=(const ArgumentDecoder*);
 
     void initialize(const uint8_t* buffer, size_t bufferSize);
 
diff --git a/WebKit2/Platform/CoreIPC/Arguments.h b/WebKit2/Platform/CoreIPC/Arguments.h
index 91b2462..11061f1 100644
--- a/WebKit2/Platform/CoreIPC/Arguments.h
+++ b/WebKit2/Platform/CoreIPC/Arguments.h
@@ -33,11 +33,11 @@ namespace CoreIPC {
     
 class Arguments0 {
 public:
-    void encode(ArgumentEncoder&) const 
+    void encode(ArgumentEncoder*) const 
     {
     }
 
-    static bool decode(ArgumentDecoder&, Arguments0&)
+    static bool decode(ArgumentDecoder*, Arguments0&)
     {
         return true;
     }
@@ -60,14 +60,14 @@ public:
     {
     }
 
-    void encode(ArgumentEncoder& encoder) const 
+    void encode(ArgumentEncoder* encoder) const 
     {
-        encoder.encode(m_value);
+        encoder->encode(m_value);
     }
 
-    static bool decode(ArgumentDecoder& decoder, Arguments1<T1>& result)
+    static bool decode(ArgumentDecoder* decoder, Arguments1<T1>& result)
     {
-        return decoder.decode(result.m_value);
+        return decoder->decode(result.m_value);
     }
     
 private:
@@ -92,18 +92,18 @@ public:
     {
     }
 
-    void encode(ArgumentEncoder& encoder) const 
+    void encode(ArgumentEncoder* encoder) const 
     {
         Arguments1<T1>::encode(encoder);
-        encoder.encode(m_value);
+        encoder->encode(m_value);
     }
 
-    static bool decode(ArgumentDecoder& decoder, Arguments2<T1, T2>& result)
+    static bool decode(ArgumentDecoder* decoder, Arguments2<T1, T2>& result)
     {
         if (!Arguments1<T1>::decode(decoder, result))
             return false;
         
-        return decoder.decode(result.m_value);
+        return decoder->decode(result.m_value);
     }
 
 private:
@@ -128,18 +128,18 @@ public:
     {
     }
 
-    void encode(ArgumentEncoder& encoder) const 
+    void encode(ArgumentEncoder* encoder) const 
     {
         Arguments2<T1, T2>::encode(encoder);
-        encoder.encode(m_value);
+        encoder->encode(m_value);
     }
 
-    static bool decode(ArgumentDecoder& decoder, Arguments3<T1, T2, T3>& result)
+    static bool decode(ArgumentDecoder* decoder, Arguments3<T1, T2, T3>& result)
     {
         if (!Arguments2<T1, T2>::decode(decoder, result))
             return false;
         
-        return decoder.decode(result.m_value);
+        return decoder->decode(result.m_value);
     }
 
 private:
@@ -164,18 +164,18 @@ public:
     {
     }
 
-    void encode(ArgumentEncoder& encoder) const
+    void encode(ArgumentEncoder* encoder) const
     {
         Arguments3<T1, T2, T3>::encode(encoder);
-        encoder.encode(m_value);
+        encoder->encode(m_value);
     }
     
-    static bool decode(ArgumentDecoder& decoder, Arguments4<T1, T2, T3, T4>& result)
+    static bool decode(ArgumentDecoder* decoder, Arguments4<T1, T2, T3, T4>& result)
     {
         if (!Arguments3<T1, T2, T3>::decode(decoder, result))
             return false;
         
-        return decoder.decode(result.m_value);
+        return decoder->decode(result.m_value);
     }
 
 private:
@@ -200,18 +200,18 @@ public:
     {
     }
 
-    void encode(ArgumentEncoder& encoder) const
+    void encode(ArgumentEncoder* encoder) const
     {
         Arguments4<T1, T2, T3, T4>::encode(encoder);
-        encoder.encode(m_value);
+        encoder->encode(m_value);
     }
     
-    static bool decode(ArgumentDecoder& decoder, Arguments5<T1, T2, T3, T4, T5>& result)
+    static bool decode(ArgumentDecoder* decoder, Arguments5<T1, T2, T3, T4, T5>& result)
     {
         if (!Arguments4<T1, T2, T3, T4>::decode(decoder, result))
             return false;
         
-        return decoder.decode(result.m_value);
+        return decoder->decode(result.m_value);
     }
 
 private:
diff --git a/WebKit2/Platform/CoreIPC/Attachment.cpp b/WebKit2/Platform/CoreIPC/Attachment.cpp
index 32b8784..c8d35f4 100644
--- a/WebKit2/Platform/CoreIPC/Attachment.cpp
+++ b/WebKit2/Platform/CoreIPC/Attachment.cpp
@@ -58,14 +58,14 @@ void Attachment::release()
 }
 #endif
 
-void Attachment::encode(ArgumentEncoder& encoder) const
+void Attachment::encode(ArgumentEncoder* encoder) const
 {
-    encoder.addAttachment(*this);
+    encoder->addAttachment(*this);
 }
 
-bool Attachment::decode(ArgumentDecoder& decoder, Attachment& attachment)
+bool Attachment::decode(ArgumentDecoder* decoder, Attachment& attachment)
 {
-    if (!decoder.removeAttachment(attachment))
+    if (!decoder->removeAttachment(attachment))
         return false;
     return true;
 }
diff --git a/WebKit2/Platform/CoreIPC/Attachment.h b/WebKit2/Platform/CoreIPC/Attachment.h
index 6cacffa..55a09c9 100644
--- a/WebKit2/Platform/CoreIPC/Attachment.h
+++ b/WebKit2/Platform/CoreIPC/Attachment.h
@@ -64,8 +64,8 @@ public:
     bool deallocate() const { ASSERT(m_type == MachOOLMemoryType); return m_oolMemory.deallocate; }
 #endif
 
-    void encode(ArgumentEncoder&) const;
-    static bool decode(ArgumentDecoder&, Attachment&);
+    void encode(ArgumentEncoder*) const;
+    static bool decode(ArgumentDecoder*, Attachment&);
     
 private:
     Type m_type;
diff --git a/WebKit2/Platform/CoreIPC/mac/MachPort.h b/WebKit2/Platform/CoreIPC/mac/MachPort.h
index 9f1fd88..0fe7917 100644
--- a/WebKit2/Platform/CoreIPC/mac/MachPort.h
+++ b/WebKit2/Platform/CoreIPC/mac/MachPort.h
@@ -44,15 +44,15 @@ public:
     {
     }
 
-    void encode(ArgumentEncoder& encoder) const
+    void encode(ArgumentEncoder* encoder) const
     {
-        encoder.encode(Attachment(m_port, m_disposition));
+        encoder->encode(Attachment(m_port, m_disposition));
     }
 
-    static bool decode(ArgumentDecoder& decoder, MachPort& p)
+    static bool decode(ArgumentDecoder* decoder, MachPort& p)
     {
         Attachment attachment;
-        if (!decoder.decode(attachment))
+        if (!decoder->decode(attachment))
             return false;
         
         p.m_port = attachment.port();
diff --git a/WebKit2/Platform/SharedMemory.h b/WebKit2/Platform/SharedMemory.h
index 68675fe..d7708d1 100644
--- a/WebKit2/Platform/SharedMemory.h
+++ b/WebKit2/Platform/SharedMemory.h
@@ -49,8 +49,8 @@ public:
         Handle();
         ~Handle();
 
-        void encode(CoreIPC::ArgumentEncoder&) const;
-        static bool decode(CoreIPC::ArgumentDecoder&, Handle&);
+        void encode(CoreIPC::ArgumentEncoder*) const;
+        static bool decode(CoreIPC::ArgumentDecoder*, Handle&);
 
     private:
         friend class SharedMemory;
diff --git a/WebKit2/Platform/mac/SharedMemoryMac.cpp b/WebKit2/Platform/mac/SharedMemoryMac.cpp
index 54eaf9b..4a65be3 100644
--- a/WebKit2/Platform/mac/SharedMemoryMac.cpp
+++ b/WebKit2/Platform/mac/SharedMemoryMac.cpp
@@ -48,27 +48,27 @@ SharedMemory::Handle::~Handle()
         mach_port_deallocate(mach_task_self(), m_port);
 }
 
-void SharedMemory::Handle::encode(CoreIPC::ArgumentEncoder& encoder) const
+void SharedMemory::Handle::encode(CoreIPC::ArgumentEncoder* encoder) const
 {
     ASSERT(m_port);
     ASSERT(m_size);
     
-    encoder.encodeUInt64(m_size);
-    encoder.encode(CoreIPC::MachPort(m_port, MACH_MSG_TYPE_COPY_SEND));
+    encoder->encodeUInt64(m_size);
+    encoder->encode(CoreIPC::MachPort(m_port, MACH_MSG_TYPE_COPY_SEND));
     m_port = MACH_PORT_NULL;
 }
 
-bool SharedMemory::Handle::decode(CoreIPC::ArgumentDecoder& decoder, Handle& handle)
+bool SharedMemory::Handle::decode(CoreIPC::ArgumentDecoder* decoder, Handle& handle)
 {
     ASSERT(!handle.m_port);
     ASSERT(!handle.m_size);
 
     uint64_t size;
-    if (!decoder.decodeUInt64(size))
+    if (!decoder->decodeUInt64(size))
         return false;
 
     CoreIPC::MachPort machPort;
-    if (!decoder.decode(CoreIPC::Out(machPort)))
+    if (!decoder->decode(CoreIPC::Out(machPort)))
         return false;
     
     handle.m_size = size;
diff --git a/WebKit2/Shared/DrawingAreaBase.cpp b/WebKit2/Shared/DrawingAreaBase.cpp
index 0539fcf..dfb02c2 100644
--- a/WebKit2/Shared/DrawingAreaBase.cpp
+++ b/WebKit2/Shared/DrawingAreaBase.cpp
@@ -27,20 +27,20 @@
 
 namespace WebKit {
 
-void DrawingAreaBase::encode(CoreIPC::ArgumentEncoder& encoder) const
+void DrawingAreaBase::encode(CoreIPC::ArgumentEncoder* encoder) const
 {
     DrawingAreaInfo info(type(), id());
-    encoder.encode(info);
+    encoder->encode(info);
 }
 
-bool DrawingAreaBase::decode(CoreIPC::ArgumentDecoder& decoder, DrawingAreaInfo& info)
+bool DrawingAreaBase::decode(CoreIPC::ArgumentDecoder* decoder, DrawingAreaInfo& info)
 {
     uint32_t drawingAreaType;
-    if (!decoder.decode(drawingAreaType))
+    if (!decoder->decode(drawingAreaType))
         return false;
 
     DrawingAreaID drawingAreaID;
-    if (!decoder.decode(drawingAreaID))
+    if (!decoder->decode(drawingAreaID))
         return false;
 
     info.type = static_cast<Type>(drawingAreaType);
diff --git a/WebKit2/Shared/DrawingAreaBase.h b/WebKit2/Shared/DrawingAreaBase.h
index 2ac7ddf..91ed7da 100644
--- a/WebKit2/Shared/DrawingAreaBase.h
+++ b/WebKit2/Shared/DrawingAreaBase.h
@@ -65,8 +65,8 @@ public:
     };
     
     // The DrawingAreaProxy should never be decoded itself. Instead, the DrawingArea should be decoded.
-    void encode(CoreIPC::ArgumentEncoder& encoder) const;
-    static bool decode(CoreIPC::ArgumentDecoder&, DrawingAreaInfo&);
+    void encode(CoreIPC::ArgumentEncoder* encoder) const;
+    static bool decode(CoreIPC::ArgumentDecoder*, DrawingAreaInfo&);
 
 protected:
     DrawingAreaBase(Type type, DrawingAreaID identifier)
diff --git a/WebKit2/Shared/WebEvent.h b/WebKit2/Shared/WebEvent.h
index 5050eaf..8058ccf 100644
--- a/WebKit2/Shared/WebEvent.h
+++ b/WebKit2/Shared/WebEvent.h
@@ -82,20 +82,20 @@ protected:
     {
     }
 
-    void encode(CoreIPC::ArgumentEncoder& encoder) const
+    void encode(CoreIPC::ArgumentEncoder* encoder) const
     {
-        encoder.encode(m_type);
-        encoder.encode(m_modifiers);
-        encoder.encode(m_timestamp);
+        encoder->encode(m_type);
+        encoder->encode(m_modifiers);
+        encoder->encode(m_timestamp);
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, WebEvent& t)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, WebEvent& t)
     {
-        if (!decoder.decode(t.m_type))
+        if (!decoder->decode(t.m_type))
             return false;
-        if (!decoder.decode(t.m_modifiers))
+        if (!decoder->decode(t.m_modifiers))
             return false;
-        if (!decoder.decode(t.m_timestamp))
+        if (!decoder->decode(t.m_timestamp))
             return false;
 
         return true;
@@ -145,14 +145,14 @@ public:
     float deltaZ() const { return m_deltaZ; }
     int clickCount() const { return m_clickCount; }
 
-    void encode(CoreIPC::ArgumentEncoder& encoder) const
+    void encode(CoreIPC::ArgumentEncoder* encoder) const
     {
-        encoder.encodeBytes(reinterpret_cast<const uint8_t*>(this), sizeof(*this));
+        encoder->encodeBytes(reinterpret_cast<const uint8_t*>(this), sizeof(*this));
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, WebMouseEvent& t)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, WebMouseEvent& t)
     {
-        return decoder.decodeBytes(reinterpret_cast<uint8_t*>(&t), sizeof(t));
+        return decoder->decodeBytes(reinterpret_cast<uint8_t*>(&t), sizeof(t));
     }
 
 private:
@@ -208,14 +208,14 @@ public:
     float wheelTicksY() const { return m_wheelTicksY; }
     Granularity granularity() const { return (Granularity)m_granularity; }
 
-    void encode(CoreIPC::ArgumentEncoder& encoder) const
+    void encode(CoreIPC::ArgumentEncoder* encoder) const
     {
-        encoder.encodeBytes(reinterpret_cast<const uint8_t*>(this), sizeof(*this));
+        encoder->encodeBytes(reinterpret_cast<const uint8_t*>(this), sizeof(*this));
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, WebWheelEvent& t)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, WebWheelEvent& t)
     {
-        return decoder.decodeBytes(reinterpret_cast<uint8_t*>(&t), sizeof(t));
+        return decoder->decodeBytes(reinterpret_cast<uint8_t*>(&t), sizeof(t));
     }
 
 private:
@@ -264,49 +264,49 @@ public:
     bool isKeypad() const { return m_isKeypad; }
     bool isSystemKey() const { return m_isSystemKey; }
 
-    void encode(CoreIPC::ArgumentEncoder& encoder) const
+    void encode(CoreIPC::ArgumentEncoder* encoder) const
     {
         WebEvent::encode(encoder);
 
-        encoder.encode(m_text);
-        encoder.encode(m_unmodifiedText);
-        encoder.encode(m_keyIdentifier);
-        encoder.encode(m_windowsVirtualKeyCode);
-        encoder.encode(m_nativeVirtualKeyCode);
-        encoder.encode(m_isAutoRepeat);
-        encoder.encode(m_isKeypad);
-        encoder.encode(m_isSystemKey);
+        encoder->encode(m_text);
+        encoder->encode(m_unmodifiedText);
+        encoder->encode(m_keyIdentifier);
+        encoder->encode(m_windowsVirtualKeyCode);
+        encoder->encode(m_nativeVirtualKeyCode);
+        encoder->encode(m_isAutoRepeat);
+        encoder->encode(m_isKeypad);
+        encoder->encode(m_isSystemKey);
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, WebKeyboardEvent& t)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, WebKeyboardEvent& t)
     {
         if (!WebEvent::decode(decoder, t))
             return false;
 
         WebCore::String text;
-        if (!decoder.decode(text))
+        if (!decoder->decode(text))
             return false;
         t.m_text = text;
 
         WebCore::String unmodifiedText;
-        if (!decoder.decode(unmodifiedText))
+        if (!decoder->decode(unmodifiedText))
             return false;
         t.m_unmodifiedText = unmodifiedText;
 
         WebCore::String keyIdentifier;
-        if (!decoder.decode(keyIdentifier))
+        if (!decoder->decode(keyIdentifier))
             return false;
         t.m_keyIdentifier = keyIdentifier;
 
-        if (!decoder.decode(t.m_windowsVirtualKeyCode))
+        if (!decoder->decode(t.m_windowsVirtualKeyCode))
             return false;
-        if (!decoder.decode(t.m_nativeVirtualKeyCode))
+        if (!decoder->decode(t.m_nativeVirtualKeyCode))
             return false;
-        if (!decoder.decode(t.m_isAutoRepeat))
+        if (!decoder->decode(t.m_isAutoRepeat))
             return false;
-        if (!decoder.decode(t.m_isKeypad))
+        if (!decoder->decode(t.m_isKeypad))
             return false;
-        if (!decoder.decode(t.m_isSystemKey))
+        if (!decoder->decode(t.m_isSystemKey))
             return false;
         return true;
     }
diff --git a/WebKit2/Shared/WebNavigationDataStore.h b/WebKit2/Shared/WebNavigationDataStore.h
index c4ae206..f559c32 100644
--- a/WebKit2/Shared/WebNavigationDataStore.h
+++ b/WebKit2/Shared/WebNavigationDataStore.h
@@ -34,17 +34,17 @@
 namespace WebKit {
 
 struct WebNavigationDataStore {
-    void encode(CoreIPC::ArgumentEncoder& encoder) const
+    void encode(CoreIPC::ArgumentEncoder* encoder) const
     {
-        encoder.encode(url);
-        encoder.encode(title);
+        encoder->encode(url);
+        encoder->encode(title);
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, WebNavigationDataStore& store)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, WebNavigationDataStore& store)
     {
-        if (!decoder.decode(store.url))
+        if (!decoder->decode(store.url))
             return false;
-        if (!decoder.decode(store.title))
+        if (!decoder->decode(store.title))
             return false;
         return true;
     }
diff --git a/WebKit2/Shared/WebPreferencesStore.h b/WebKit2/Shared/WebPreferencesStore.h
index 3e37172..f0215f9 100644
--- a/WebKit2/Shared/WebPreferencesStore.h
+++ b/WebKit2/Shared/WebPreferencesStore.h
@@ -39,56 +39,56 @@ struct WebPreferencesStore {
     WebPreferencesStore& operator=(const WebPreferencesStore&);
     void swap(WebPreferencesStore&);
 
-    void encode(CoreIPC::ArgumentEncoder& encoder) const
+    void encode(CoreIPC::ArgumentEncoder* encoder) const
     {
-        encoder.encode(javaScriptEnabled);
-        encoder.encode(loadsImagesAutomatically);
-        encoder.encode(pluginsEnabled);
-        encoder.encode(offlineWebApplicationCacheEnabled);
-        encoder.encode(localStorageEnabled);
-        encoder.encode(minimumFontSize);
-        encoder.encode(minimumLogicalFontSize);
-        encoder.encode(defaultFontSize);
-        encoder.encode(defaultFixedFontSize);
-        encoder.encode(standardFontFamily);
-        encoder.encode(cursiveFontFamily);
-        encoder.encode(fantasyFontFamily);
-        encoder.encode(fixedFontFamily);
-        encoder.encode(sansSerifFontFamily);
-        encoder.encode(serifFontFamily);
+        encoder->encode(javaScriptEnabled);
+        encoder->encode(loadsImagesAutomatically);
+        encoder->encode(pluginsEnabled);
+        encoder->encode(offlineWebApplicationCacheEnabled);
+        encoder->encode(localStorageEnabled);
+        encoder->encode(minimumFontSize);
+        encoder->encode(minimumLogicalFontSize);
+        encoder->encode(defaultFontSize);
+        encoder->encode(defaultFixedFontSize);
+        encoder->encode(standardFontFamily);
+        encoder->encode(cursiveFontFamily);
+        encoder->encode(fantasyFontFamily);
+        encoder->encode(fixedFontFamily);
+        encoder->encode(sansSerifFontFamily);
+        encoder->encode(serifFontFamily);
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, WebPreferencesStore& s)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, WebPreferencesStore& s)
     {
-        if (!decoder.decode(s.javaScriptEnabled))
+        if (!decoder->decode(s.javaScriptEnabled))
             return false;
-        if (!decoder.decode(s.loadsImagesAutomatically))
+        if (!decoder->decode(s.loadsImagesAutomatically))
             return false;
-        if (!decoder.decode(s.pluginsEnabled))
+        if (!decoder->decode(s.pluginsEnabled))
             return false;
-        if (!decoder.decode(s.offlineWebApplicationCacheEnabled))
+        if (!decoder->decode(s.offlineWebApplicationCacheEnabled))
             return false;
-        if (!decoder.decode(s.localStorageEnabled))
+        if (!decoder->decode(s.localStorageEnabled))
             return false;
-        if (!decoder.decode(s.minimumFontSize))
+        if (!decoder->decode(s.minimumFontSize))
             return false;
-        if (!decoder.decode(s.minimumLogicalFontSize))
+        if (!decoder->decode(s.minimumLogicalFontSize))
             return false;
-        if (!decoder.decode(s.defaultFontSize))
+        if (!decoder->decode(s.defaultFontSize))
             return false;
-        if (!decoder.decode(s.defaultFixedFontSize))
+        if (!decoder->decode(s.defaultFixedFontSize))
             return false;
-        if (!decoder.decode(s.standardFontFamily))
+        if (!decoder->decode(s.standardFontFamily))
             return false;
-        if (!decoder.decode(s.cursiveFontFamily))
+        if (!decoder->decode(s.cursiveFontFamily))
             return false;
-        if (!decoder.decode(s.fantasyFontFamily))
+        if (!decoder->decode(s.fantasyFontFamily))
             return false;
-        if (!decoder.decode(s.fixedFontFamily))
+        if (!decoder->decode(s.fixedFontFamily))
             return false;
-        if (!decoder.decode(s.sansSerifFontFamily))
+        if (!decoder->decode(s.sansSerifFontFamily))
             return false;
-        if (!decoder.decode(s.serifFontFamily))
+        if (!decoder->decode(s.serifFontFamily))
             return false;
         return true;
     }
diff --git a/WebKit2/Shared/mac/UpdateChunk.cpp b/WebKit2/Shared/mac/UpdateChunk.cpp
index ad77a4d..a9376db 100644
--- a/WebKit2/Shared/mac/UpdateChunk.cpp
+++ b/WebKit2/Shared/mac/UpdateChunk.cpp
@@ -65,23 +65,23 @@ RetainPtr<CGImageRef> UpdateChunk::createImage()
     return image;
 }
 
-void UpdateChunk::encode(CoreIPC::ArgumentEncoder& encoder) const
+void UpdateChunk::encode(CoreIPC::ArgumentEncoder* encoder) const
 {
-    encoder.encode(m_rect);
-    encoder.encode(CoreIPC::Attachment(m_data, size(), MACH_MSG_VIRTUAL_COPY, true));
+    encoder->encode(m_rect);
+    encoder->encode(CoreIPC::Attachment(m_data, size(), MACH_MSG_VIRTUAL_COPY, true));
     
     m_data = 0;
 }
 
-bool UpdateChunk::decode(CoreIPC::ArgumentDecoder& decoder, UpdateChunk& chunk)
+bool UpdateChunk::decode(CoreIPC::ArgumentDecoder* decoder, UpdateChunk& chunk)
 {
     IntRect rect;
-    if (!decoder.decode(rect))
+    if (!decoder->decode(rect))
         return false;
     chunk.m_rect = rect;
     
     CoreIPC::Attachment attachment;
-    if (!decoder.decode(attachment))
+    if (!decoder->decode(attachment))
         return false;
 
     chunk.m_size = attachment.size();
diff --git a/WebKit2/Shared/mac/UpdateChunk.h b/WebKit2/Shared/mac/UpdateChunk.h
index 711c848..6d4fca0 100644
--- a/WebKit2/Shared/mac/UpdateChunk.h
+++ b/WebKit2/Shared/mac/UpdateChunk.h
@@ -46,8 +46,8 @@ public:
     const WebCore::IntRect& rect() const { return m_rect; }
     bool isEmpty() const { return m_rect.isEmpty(); }
 
-    void encode(CoreIPC::ArgumentEncoder&) const;
-    static bool decode(CoreIPC::ArgumentDecoder&, UpdateChunk&);
+    void encode(CoreIPC::ArgumentEncoder*) const;
+    static bool decode(CoreIPC::ArgumentDecoder*, UpdateChunk&);
 
     RetainPtr<CGImageRef> createImage();
 
diff --git a/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp b/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp
index 9db7d57..14763de 100644
--- a/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp
+++ b/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp
@@ -62,7 +62,7 @@ void ChunkedUpdateDrawingAreaProxy::paint(const IntRect& rect, PlatformDrawingCo
 
         OwnPtr<CoreIPC::ArgumentDecoder> arguments = page->process()->connection()->waitFor(DrawingAreaProxyMessage::DidSetSize, page->pageID(), 0.04);
         if (arguments)
-            didReceiveMessage(page->process()->connection(), CoreIPC::MessageID(DrawingAreaProxyMessage::DidSetSize), *arguments.get());
+            didReceiveMessage(page->process()->connection(), CoreIPC::MessageID(DrawingAreaProxyMessage::DidSetSize), arguments.get());
     }
 
     platformPaint(rect, context);
@@ -144,12 +144,12 @@ void ChunkedUpdateDrawingAreaProxy::update(UpdateChunk* updateChunk)
     page->process()->send(DrawingAreaMessage::DidUpdate, page->pageID(), CoreIPC::In(id()));
 }
 
-void ChunkedUpdateDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void ChunkedUpdateDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     switch (messageID.get<DrawingAreaProxyMessage::Kind>()) {
         case DrawingAreaProxyMessage::Update: {
             UpdateChunk updateChunk;
-            if (!arguments.decode(updateChunk))
+            if (!arguments->decode(updateChunk))
                 return;
 
             update(&updateChunk);
@@ -157,7 +157,7 @@ void ChunkedUpdateDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, Core
         }
         case DrawingAreaProxyMessage::DidSetSize: {
             UpdateChunk updateChunk;
-            if (!arguments.decode(CoreIPC::Out(updateChunk)))
+            if (!arguments->decode(CoreIPC::Out(updateChunk)))
                 return;
 
             didSetSize(&updateChunk);
diff --git a/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h b/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h
index 58ccaca..68b0dab 100644
--- a/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h
+++ b/WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.h
@@ -61,7 +61,7 @@ public:
     virtual ~ChunkedUpdateDrawingAreaProxy();
 
     // The DrawingAreaProxy should never be decoded itself. Instead, the DrawingArea should be decoded.
-    virtual void encode(CoreIPC::ArgumentEncoder& encoder) const
+    virtual void encode(CoreIPC::ArgumentEncoder* encoder) const
     {
         DrawingAreaProxy::encode(encoder);
     }
@@ -70,7 +70,7 @@ private:
     WebPageProxy* page();
 
     // DrawingAreaProxy
-    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
     virtual void paint(const WebCore::IntRect&, PlatformDrawingContext);
     virtual void setSize(const WebCore::IntSize&);
     virtual void setPageIsVisible(bool isVisible);
diff --git a/WebKit2/UIProcess/DrawingAreaProxy.h b/WebKit2/UIProcess/DrawingAreaProxy.h
index 5a73f49..f281161 100644
--- a/WebKit2/UIProcess/DrawingAreaProxy.h
+++ b/WebKit2/UIProcess/DrawingAreaProxy.h
@@ -48,8 +48,8 @@ public:
 
     virtual ~DrawingAreaProxy();
 
-    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&) = 0;
-    virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&, CoreIPC::ArgumentEncoder&) { ASSERT_NOT_REACHED(); }
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) = 0;
+    virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*) { ASSERT_NOT_REACHED(); }
 
     virtual void paint(const WebCore::IntRect&, PlatformDrawingContext) = 0;
     virtual void setSize(const WebCore::IntSize&) = 0;
diff --git a/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp b/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp
index b2375fc..86bb394 100644
--- a/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp
+++ b/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.cpp
@@ -118,7 +118,7 @@ void LayerBackedDrawingAreaProxy::update()
     page->process()->connection()->send(DrawingAreaMessage::DidUpdate, page->pageID(), CoreIPC::In(id()));
 }
 
-void LayerBackedDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void LayerBackedDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     switch (messageID.get<DrawingAreaProxyMessage::Kind>()) {
         case DrawingAreaProxyMessage::Update: {
@@ -134,13 +134,13 @@ void LayerBackedDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIP
     }
 }
 
-void LayerBackedDrawingAreaProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments, CoreIPC::ArgumentEncoder&)
+void LayerBackedDrawingAreaProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder*)
 {
     switch (messageID.get<DrawingAreaProxyMessage::Kind>()) {
 #if USE(ACCELERATED_COMPOSITING)
         case DrawingAreaProxyMessage::AttachCompositingContext: {
             uint32_t contextID;
-            if (!arguments.decode(CoreIPC::Out(contextID)))
+            if (!arguments->decode(CoreIPC::Out(contextID)))
                 return;
             attachCompositingContext(contextID);
             break;
diff --git a/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h b/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h
index 5c072be..0877c35 100644
--- a/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h
+++ b/WebKit2/UIProcess/LayerBackedDrawingAreaProxy.h
@@ -62,8 +62,8 @@ private:
     WebPageProxy* page();
 
     // DrawingAreaProxy
-    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
-    virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&, CoreIPC::ArgumentEncoder&);
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+    virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
 
     virtual void paint(const WebCore::IntRect&, PlatformDrawingContext);
     virtual void setSize(const WebCore::IntSize&);
diff --git a/WebKit2/UIProcess/WebContext.cpp b/WebKit2/UIProcess/WebContext.cpp
index 46b1eb9..807e596 100644
--- a/WebKit2/UIProcess/WebContext.cpp
+++ b/WebKit2/UIProcess/WebContext.cpp
@@ -68,26 +68,26 @@ public:
     {
     }
 
-    void encode(CoreIPC::ArgumentEncoder& encoder) const 
+    void encode(CoreIPC::ArgumentEncoder* encoder) const 
     {
         APIObject::Type type = m_root->type();
-        encoder.encode(static_cast<uint32_t>(type));
+        encoder->encode(static_cast<uint32_t>(type));
         switch (type) {
         case APIObject::TypeArray: {
             ImmutableArray* array = static_cast<ImmutableArray*>(m_root);
-            encoder.encode(static_cast<uint64_t>(array->size()));
+            encoder->encode(static_cast<uint64_t>(array->size()));
             for (size_t i = 0; i < array->size(); ++i)
-                encoder.encode(PostMessageEncoder(array->at(i)));
+                encoder->encode(PostMessageEncoder(array->at(i)));
             break;
         }
         case APIObject::TypeString: {
             WebString* string = static_cast<WebString*>(m_root);
-            encoder.encode(string->string());
+            encoder->encode(string->string());
             break;
         }
         case APIObject::TypePage: {
             WebPageProxy* page = static_cast<WebPageProxy*>(m_root);
-            encoder.encode(page->pageID());
+            encoder->encode(page->pageID());
             break;
         }
         default:
@@ -114,16 +114,16 @@ public:
     {
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, PostMessageDecoder& coder)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, PostMessageDecoder& coder)
     {
         uint32_t type;
-        if (!decoder.decode(type))
+        if (!decoder->decode(type))
             return false;
 
         switch (type) {
         case APIObject::TypeArray: {
             uint64_t size;
-            if (!decoder.decode(size))
+            if (!decoder->decode(size))
                 return false;
             
             OwnArrayPtr<APIObject*> array;
@@ -132,7 +132,7 @@ public:
             for (size_t i = 0; i < size; ++i) {
                 APIObject* element;
                 PostMessageDecoder messageCoder(&element, coder.m_context);
-                if (!decoder.decode(messageCoder))
+                if (!decoder->decode(messageCoder))
                     return false;
                 array[i] = element;
             }
@@ -142,14 +142,14 @@ public:
         }
         case APIObject::TypeString: {
             String string;
-            if (!decoder.decode(string))
+            if (!decoder->decode(string))
                 return false;
             *(coder.m_root) = WebString::create(string).leakRef();
             break;
         }
         case APIObject::TypeBundlePage: {
             uint64_t pageID;
-            if (!decoder.decode(pageID))
+            if (!decoder->decode(pageID))
                 return false;
             *(coder.m_root) = coder.m_context->process()->webPage(pageID);
             break;
@@ -397,7 +397,7 @@ void WebContext::addVisitedLink(LinkHash linkHash)
     m_visitedLinkProvider.addVisitedLink(linkHash);
 }
         
-void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     switch (messageID.get<WebContextMessage::Kind>()) {
         case WebContextMessage::PostMessage: {
@@ -405,7 +405,7 @@ void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
             // FIXME: This should be a RefPtr<APIObject>
             APIObject* messageBody = 0;
             PostMessageDecoder messageCoder(&messageBody, this);
-            if (!arguments.decode(CoreIPC::Out(messageName, messageCoder)))
+            if (!arguments->decode(CoreIPC::Out(messageName, messageCoder)))
                 return;
 
             didReceiveMessageFromInjectedBundle(messageName, messageBody);
diff --git a/WebKit2/UIProcess/WebContext.h b/WebKit2/UIProcess/WebContext.h
index a6abe22..256d82b 100644
--- a/WebKit2/UIProcess/WebContext.h
+++ b/WebKit2/UIProcess/WebContext.h
@@ -104,7 +104,7 @@ public:
     void addVisitedLink(const WebCore::String&);
     void addVisitedLink(WebCore::LinkHash);
 
-    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
 
 private:
     WebContext(ProcessModel, const WebCore::String& injectedBundlePath);
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index af4b089..51aa970 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -388,7 +388,7 @@ WebFrameProxy* WebPageProxy::webFrame(uint64_t frameID) const
     return m_frameMap.get(frameID).get();
 }
 
-void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     if (messageID.is<CoreIPC::MessageClassDrawingAreaProxy>()) {
         m_drawingArea->didReceiveMessage(connection, messageID, arguments);
@@ -398,14 +398,14 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
     switch (messageID.get<WebPageProxyMessage::Kind>()) {
         case WebPageProxyMessage::DidCreateMainFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didCreateMainFrame(frameID);
             break;
         }
         case WebPageProxyMessage::DidCreateSubFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didCreateSubFrame(frameID);
             break;
@@ -413,42 +413,42 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         case WebPageProxyMessage::DidStartProvisionalLoadForFrame: {
             uint64_t frameID;
             String url;
-            if (!arguments.decode(CoreIPC::Out(frameID, url)))
+            if (!arguments->decode(CoreIPC::Out(frameID, url)))
                 return;
             didStartProvisionalLoadForFrame(webFrame(frameID), url);
             break;
         }
         case WebPageProxyMessage::DidReceiveServerRedirectForProvisionalLoadForFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didReceiveServerRedirectForProvisionalLoadForFrame(webFrame(frameID));
             break;
         }
         case WebPageProxyMessage::DidFailProvisionalLoadForFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didFailProvisionalLoadForFrame(webFrame(frameID));
             break;
         }
         case WebPageProxyMessage::DidCommitLoadForFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didCommitLoadForFrame(webFrame(frameID));
             break;
         }
         case WebPageProxyMessage::DidFinishLoadForFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didFinishLoadForFrame(webFrame(frameID));
             break;
         }
         case WebPageProxyMessage::DidFailLoadForFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didFailLoadForFrame(webFrame(frameID));
             break;
@@ -456,21 +456,21 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         case WebPageProxyMessage::DidReceiveTitleForFrame: {
             uint64_t frameID;
             String title;
-            if (!arguments.decode(CoreIPC::Out(frameID, title)))
+            if (!arguments->decode(CoreIPC::Out(frameID, title)))
                 return;
             didReceiveTitleForFrame(webFrame(frameID), title);
             break;
         }
         case WebPageProxyMessage::DidFirstLayoutForFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didFirstLayoutForFrame(webFrame(frameID));
             break;
         }
         case WebPageProxyMessage::DidFirstVisuallyNonEmptyLayoutForFrame: {
             uint64_t frameID;
-            if (!arguments.decode(frameID))
+            if (!arguments->decode(frameID))
                 return;
             didFirstVisuallyNonEmptyLayoutForFrame(webFrame(frameID));
             break;
@@ -480,7 +480,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
             break;
         case WebPageProxyMessage::DidChangeProgress: {
             double value;
-            if (!arguments.decode(value))
+            if (!arguments->decode(value))
                 return;
             didChangeProgress(value);
             break;
@@ -490,7 +490,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
             break;
         case WebPageProxyMessage::DidReceiveEvent: {
             uint32_t type;
-            if (!arguments.decode(type))
+            if (!arguments->decode(type))
                 return;
             didReceiveEvent((WebEvent::Type)type);
             break;
@@ -498,7 +498,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         case WebPageProxyMessage::TakeFocus: {
             // FIXME: Use enum here.
             bool direction;
-            if (!arguments.decode(direction))
+            if (!arguments->decode(direction))
                 return;
             takeFocus(direction);
             break;
@@ -508,7 +508,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
             uint32_t navigationType;
             String url;
             uint64_t listenerID;
-            if (!arguments.decode(CoreIPC::Out(frameID, navigationType, url, listenerID)))
+            if (!arguments->decode(CoreIPC::Out(frameID, navigationType, url, listenerID)))
                 return;
             decidePolicyForNavigationAction(webFrame(frameID), static_cast<NavigationType>(navigationType), url, listenerID);
             break;
@@ -518,7 +518,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
             uint32_t navigationType;
             String url;
             uint64_t listenerID;
-            if (!arguments.decode(CoreIPC::Out(frameID, navigationType, url, listenerID)))
+            if (!arguments->decode(CoreIPC::Out(frameID, navigationType, url, listenerID)))
                 return;
             decidePolicyForNewWindowAction(webFrame(frameID), static_cast<NavigationType>(navigationType), url, listenerID);
             break;
@@ -528,7 +528,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
             String MIMEType;
             String url;
             uint64_t listenerID;
-            if (!arguments.decode(CoreIPC::Out(frameID, MIMEType, url, listenerID)))
+            if (!arguments->decode(CoreIPC::Out(frameID, MIMEType, url, listenerID)))
                 return;
             decidePolicyForMIMEType(webFrame(frameID), MIMEType, url, listenerID);
             break;
@@ -536,7 +536,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         case WebPageProxyMessage::DidRunJavaScriptInMainFrame: {
             String resultString;
             uint64_t callbackID;
-            if (!arguments.decode(CoreIPC::Out(resultString, callbackID)))
+            if (!arguments->decode(CoreIPC::Out(resultString, callbackID)))
                 return;
             didRunJavaScriptInMainFrame(resultString, callbackID);
             break;
@@ -544,14 +544,14 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         case WebPageProxyMessage::DidGetRenderTreeExternalRepresentation: {
             String resultString;
             uint64_t callbackID;
-            if (!arguments.decode(CoreIPC::Out(resultString, callbackID)))
+            if (!arguments->decode(CoreIPC::Out(resultString, callbackID)))
                 return;
             didGetRenderTreeExternalRepresentation(resultString, callbackID);
             break;
         }
         case WebPageProxyMessage::SetToolTip: {
             String toolTip;
-            if (!arguments.decode(toolTip))
+            if (!arguments->decode(toolTip))
                 return;
             setToolTip(toolTip);
             break;
@@ -559,7 +559,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         case WebPageProxyMessage::SetCursor: {
 #if USE(LAZY_NATIVE_CURSOR)
             Cursor cursor;
-            if (!arguments.decode(cursor))
+            if (!arguments->decode(cursor))
                 return;
             setCursor(cursor);
 #endif
@@ -575,14 +575,14 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         }
         case WebPageProxyMessage::BackForwardAddItem: {
             uint64_t itemID;
-            if (!arguments.decode(CoreIPC::Out(itemID)))
+            if (!arguments->decode(CoreIPC::Out(itemID)))
                 return;
             addItemToBackForwardList(process()->webBackForwardItem(itemID));
             break;
         }
         case WebPageProxyMessage::BackForwardGoToItem: {
             uint64_t itemID;
-            if (!arguments.decode(CoreIPC::Out(itemID)))
+            if (!arguments->decode(CoreIPC::Out(itemID)))
                 return;
             goToItemInBackForwardList(process()->webBackForwardItem(itemID));
             break;
@@ -593,7 +593,7 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
     }
 }
 
-void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments, CoreIPC::ArgumentEncoder& reply)
+void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
 {
     if (messageID.is<CoreIPC::MessageClassDrawingAreaProxy>()) {
         m_drawingArea->didReceiveSyncMessage(connection, messageID, arguments, reply);
@@ -605,18 +605,18 @@ void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIP
             RefPtr<WebPageProxy> newPage = createNewPage();
             if (newPage) {
                 // FIXME: Pass the real size.
-                reply.encode(CoreIPC::In(newPage->pageID(), IntSize(100, 100), 
-                                         newPage->pageNamespace()->context()->preferences()->store(),
-                                         *(newPage->drawingArea())));
+                reply->encode(CoreIPC::In(newPage->pageID(), IntSize(100, 100), 
+                                          newPage->pageNamespace()->context()->preferences()->store(),
+                                          *(newPage->drawingArea())));
             } else {
-                reply.encode(CoreIPC::In(static_cast<uint64_t>(0), IntSize(), WebPreferencesStore(), DrawingAreaBase::DrawingAreaInfo()));
+                reply->encode(CoreIPC::In(static_cast<uint64_t>(0), IntSize(), WebPreferencesStore(), DrawingAreaBase::DrawingAreaInfo()));
             }
             break;
         }
         case WebPageProxyMessage::RunJavaScriptAlert: {
             uint64_t frameID;
             String message;
-            if (!arguments.decode(CoreIPC::Out(frameID, message)))
+            if (!arguments->decode(CoreIPC::Out(frameID, message)))
                 return;
             runJavaScriptAlert(webFrame(frameID), message);
             break;
@@ -625,11 +625,11 @@ void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIP
             // FIXME: We should probably encode something in the case that the arguments do not decode correctly.
             uint64_t frameID;
             String message;
-            if (!arguments.decode(CoreIPC::Out(frameID, message)))
+            if (!arguments->decode(CoreIPC::Out(frameID, message)))
                 return;
 
             bool result = runJavaScriptConfirm(webFrame(frameID), message);
-            reply.encode(CoreIPC::In(result));
+            reply->encode(CoreIPC::In(result));
             break;
         }
         case WebPageProxyMessage::RunJavaScriptPrompt: {
@@ -637,47 +637,47 @@ void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIP
             uint64_t frameID;
             String message;
             String defaultValue;
-            if (!arguments.decode(CoreIPC::Out(frameID, message, defaultValue)))
+            if (!arguments->decode(CoreIPC::Out(frameID, message, defaultValue)))
                 return;
 
             String result = runJavaScriptPrompt(webFrame(frameID), message, defaultValue);
-            reply.encode(CoreIPC::In(result));
+            reply->encode(CoreIPC::In(result));
             break;
         }
         case WebPageProxyMessage::BackForwardCurrentItem: {
             WebBackForwardListItem* currentItem = m_backForwardList->currentItem();
             uint64_t currentItemID = currentItem ? currentItem->itemID() : 0;
-            reply.encode(CoreIPC::In(currentItemID));
+            reply->encode(CoreIPC::In(currentItemID));
             break;
         }
         case WebPageProxyMessage::BackForwardItemAtIndex: {
             int itemIndex;
-            if (!arguments.decode(CoreIPC::Out(itemIndex)))
+            if (!arguments->decode(CoreIPC::Out(itemIndex)))
                 return;
 
             WebBackForwardListItem* item = m_backForwardList->itemAtIndex(itemIndex);
             uint64_t itemID = item ? item->itemID() : 0;
-            reply.encode(CoreIPC::In(itemID));
+            reply->encode(CoreIPC::In(itemID));
             break;
         }
         case WebPageProxyMessage::BackForwardBackListCount: {
             int backListCount = m_backForwardList->backListCount();
-            reply.encode(CoreIPC::In(backListCount));
+            reply->encode(CoreIPC::In(backListCount));
             break;
         }
         case WebPageProxyMessage::BackForwardForwardListCount: {
             int forwardListCount = m_backForwardList->forwardListCount();
-            reply.encode(CoreIPC::In(forwardListCount));
+            reply->encode(CoreIPC::In(forwardListCount));
             break;
         }
 #if USE(ACCELERATED_COMPOSITING)
         case WebPageProxyMessage::DidChangeAcceleratedCompositing: {
             bool compositing;
-            if (!arguments.decode(CoreIPC::Out(compositing)))
+            if (!arguments->decode(CoreIPC::Out(compositing)))
                 return;
 
             didChangeAcceleratedCompositing(compositing);
-            reply.encode(*(drawingArea()));
+            reply->encode(*(drawingArea()));
             break;
         }
 #endif // USE(ACCELERATED_COMPOSITING)
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index b1d7b1a..1294ad7 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -140,8 +140,8 @@ public:
 
     void receivedPolicyDecision(WebCore::PolicyAction, WebFrameProxy*, uint64_t listenerID);
 
-    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
-    void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&, CoreIPC::ArgumentEncoder&);
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+    void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
 
     void processDidBecomeUnresponsive();
     void processDidBecomeResponsive();
diff --git a/WebKit2/UIProcess/WebProcessProxy.cpp b/WebKit2/UIProcess/WebProcessProxy.cpp
index d89d025..9f2358f 100644
--- a/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -315,7 +315,7 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
     }
 
     if (messageID.is<CoreIPC::MessageClassWebContext>()) {
-        m_context->didReceiveMessage(connection, messageID, *arguments);    
+        m_context->didReceiveMessage(connection, messageID, arguments);    
         return;
     }
 
@@ -327,7 +327,7 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
     if (!pageProxy)
         return;
     
-    pageProxy->didReceiveMessage(connection, messageID, *arguments);    
+    pageProxy->didReceiveMessage(connection, messageID, arguments);    
 }
 
 void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
@@ -380,7 +380,7 @@ void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, Cor
     if (!pageProxy)
         return;
     
-    pageProxy->didReceiveSyncMessage(connection, messageID, *arguments, *reply);
+    pageProxy->didReceiveSyncMessage(connection, messageID, arguments, reply);
 }
 
 void WebProcessProxy::didClose(CoreIPC::Connection*)
diff --git a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
index 9e2a2ec..c6681e9 100644
--- a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
+++ b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
@@ -60,26 +60,26 @@ public:
     {
     }
 
-    void encode(CoreIPC::ArgumentEncoder& encoder) const 
+    void encode(CoreIPC::ArgumentEncoder* encoder) const 
     {
         APIObject::Type type = m_root->type();
-        encoder.encode(static_cast<uint32_t>(type));
+        encoder->encode(static_cast<uint32_t>(type));
         switch (type) {
         case APIObject::TypeArray: {
             ImmutableArray* array = static_cast<ImmutableArray*>(m_root);
-            encoder.encode(static_cast<uint64_t>(array->size()));
+            encoder->encode(static_cast<uint64_t>(array->size()));
             for (size_t i = 0; i < array->size(); ++i)
-                encoder.encode(PostMessageEncoder(array->at(i)));
+                encoder->encode(PostMessageEncoder(array->at(i)));
             break;
         }
         case APIObject::TypeString: {
             WebString* string = static_cast<WebString*>(m_root);
-            encoder.encode(string->string());
+            encoder->encode(string->string());
             break;
         }
         case APIObject::TypeBundlePage: {
             WebPage* page = static_cast<WebPage*>(m_root);
-            encoder.encode(page->pageID());
+            encoder->encode(page->pageID());
             break;
         }
         default:
@@ -106,16 +106,16 @@ public:
     {
     }
 
-    static bool decode(CoreIPC::ArgumentDecoder& decoder, PostMessageDecoder& coder)
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, PostMessageDecoder& coder)
     {
         uint32_t type;
-        if (!decoder.decode(type))
+        if (!decoder->decode(type))
             return false;
 
         switch (type) {
         case APIObject::TypeArray: {
             uint64_t size;
-            if (!decoder.decode(size))
+            if (!decoder->decode(size))
                 return false;
             
             OwnArrayPtr<APIObject*> array;
@@ -124,7 +124,7 @@ public:
             for (size_t i = 0; i < size; ++i) {
                 APIObject* element;
                 PostMessageDecoder messageCoder(&element);
-                if (!decoder.decode(messageCoder))
+                if (!decoder->decode(messageCoder))
                     return false;
                 array[i] = element;
             }
@@ -134,14 +134,14 @@ public:
         }
         case APIObject::TypeString: {
             String string;
-            if (!decoder.decode(string))
+            if (!decoder->decode(string))
                 return false;
             *(coder.m_root) = WebString::create(string).leakRef();
             break;
         }
         case APIObject::TypePage: {
             uint64_t pageID;
-            if (!decoder.decode(pageID))
+            if (!decoder->decode(pageID))
                 return false;
             *(coder.m_root) = WebProcess::shared().webPage(pageID);
             break;
@@ -211,7 +211,7 @@ void InjectedBundle::didReceiveMessage(const String& messageName, APIObject* mes
         m_client.didReceiveMessage(toRef(this), toRef(messageName.impl()), toRef(messageBody), m_client.clientInfo);
 }
 
-void InjectedBundle::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void InjectedBundle::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     switch (messageID.get<InjectedBundleMessage::Kind>()) {
         case InjectedBundleMessage::PostMessage: {
@@ -219,7 +219,7 @@ void InjectedBundle::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC:
             // FIXME: This should be a RefPtr<APIObject>
             APIObject* messageBody = 0;
             PostMessageDecoder messageCoder(&messageBody);
-            if (!arguments.decode(CoreIPC::Out(messageName, messageCoder)))
+            if (!arguments->decode(CoreIPC::Out(messageName, messageCoder)))
                 return;
 
             didReceiveMessage(messageName, messageBody);
diff --git a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
index 857ac9e..17945a4 100644
--- a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
+++ b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
@@ -77,7 +77,7 @@ public:
     void willDestroyPage(WebPage*);
     void didReceiveMessage(const WebCore::String&, APIObject*);
 
-    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
 
 private:
     InjectedBundle(const WebCore::String&);
diff --git a/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp b/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp
index 24badff..1a16096 100644
--- a/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp
+++ b/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp
@@ -180,10 +180,10 @@ void ChunkedUpdateDrawingArea::didUpdate()
     display();
 }
 
-void ChunkedUpdateDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void ChunkedUpdateDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     DrawingAreaID targetDrawingAreaID;
-    if (!arguments.decode(CoreIPC::Out(targetDrawingAreaID)))
+    if (!arguments->decode(CoreIPC::Out(targetDrawingAreaID)))
         return;
 
     // We can switch drawing areas on the fly, so if this message was targetted at an obsolete drawing area, ignore it.
@@ -193,7 +193,7 @@ void ChunkedUpdateDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::
     switch (messageID.get<DrawingAreaMessage::Kind>()) {
         case DrawingAreaMessage::SetSize: {
             IntSize size;
-            if (!arguments.decode(CoreIPC::Out(size)))
+            if (!arguments->decode(CoreIPC::Out(size)))
                 return;
 
             setSize(size);
@@ -206,7 +206,7 @@ void ChunkedUpdateDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::
 
         case DrawingAreaMessage::ResumePainting: {
             bool forceRepaint;
-            if (!arguments.decode(CoreIPC::Out(forceRepaint)))
+            if (!arguments->decode(CoreIPC::Out(forceRepaint)))
                 return;
             
             resumePainting(forceRepaint);
diff --git a/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h b/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h
index 9b937d9..767198f 100644
--- a/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h
+++ b/WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h
@@ -54,7 +54,7 @@ public:
     virtual void syncCompositingLayers() { }
 #endif
 
-    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
 
 private:
     void scheduleDisplay();
diff --git a/WebKit2/WebProcess/WebPage/DrawingArea.h b/WebKit2/WebProcess/WebPage/DrawingArea.h
index 1ca3e27..5ff3ae5 100644
--- a/WebKit2/WebProcess/WebPage/DrawingArea.h
+++ b/WebKit2/WebProcess/WebPage/DrawingArea.h
@@ -64,7 +64,7 @@ public:
     virtual void syncCompositingLayers() = 0;
 #endif
 
-    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&) = 0;
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) = 0;
 
 protected:
     DrawingArea(Type, DrawingAreaID, WebPage*);
diff --git a/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp b/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp
index 213efa1..5c319e7 100644
--- a/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp
+++ b/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.cpp
@@ -146,10 +146,10 @@ void LayerBackedDrawingArea::didUpdate()
     display();
 }
 
-void LayerBackedDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void LayerBackedDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     DrawingAreaID targetDrawingAreaID;
-    if (!arguments.decode(CoreIPC::Out(targetDrawingAreaID)))
+    if (!arguments->decode(CoreIPC::Out(targetDrawingAreaID)))
         return;
 
     // We can switch drawing areas on the fly, so if this message was targetted at an obsolete drawing area, ignore it.
@@ -159,7 +159,7 @@ void LayerBackedDrawingArea::didReceiveMessage(CoreIPC::Connection*, CoreIPC::Me
     switch (messageID.get<DrawingAreaMessage::Kind>()) {
         case DrawingAreaMessage::SetSize: {
             IntSize size;
-            if (!arguments.decode(CoreIPC::Out(size)))
+            if (!arguments->decode(CoreIPC::Out(size)))
                 return;
 
             setSize(size);
diff --git a/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h b/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h
index 3749420..4705e71 100644
--- a/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h
+++ b/WebKit2/WebProcess/WebPage/LayerBackedDrawingArea.h
@@ -68,7 +68,7 @@ public:
     virtual void scheduleCompositingLayerSync();
     virtual void syncCompositingLayers();
 
-    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
 
 private:
 
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 8fc516c..34ba2db 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -542,7 +542,7 @@ void WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent& keyboard
         m_page->focusController()->focusedOrMainFrame()->eventHandler()->scrollRecursively(direction, granularity);
 }
 
-void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
+void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
     if (messageID.is<CoreIPC::MessageClassDrawingArea>()) {
         ASSERT(m_drawingArea);
@@ -553,7 +553,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
     switch (messageID.get<WebPageMessage::Kind>()) {
         case WebPageMessage::SetActive: {
             bool active;
-            if (!arguments.decode(active))
+            if (!arguments->decode(active))
                 return;
          
             setActive(active);
@@ -561,7 +561,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         }
         case WebPageMessage::SetFocused: {
             bool focused;
-            if (!arguments.decode(focused))
+            if (!arguments->decode(focused))
                 return;
             
             setFocused(focused);
@@ -569,7 +569,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         }
         case WebPageMessage::SetIsInWindow: {
             bool isInWindow;
-            if (!arguments.decode(isInWindow))
+            if (!arguments->decode(isInWindow))
                 return;
             
             setIsInWindow(isInWindow);
@@ -577,14 +577,14 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         }
         case WebPageMessage::MouseEvent: {
             WebMouseEvent event;
-            if (!arguments.decode(event))
+            if (!arguments->decode(event))
                 return;
             mouseEvent(event);
             return;
         }
         case WebPageMessage::PreferencesDidChange: {
             WebPreferencesStore store;
-            if (!arguments.decode(store))
+            if (!arguments->decode(store))
                 return;
             
             preferencesDidChange(store);
@@ -592,7 +592,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         }
         case WebPageMessage::WheelEvent: {
             WebWheelEvent event;
-            if (!arguments.decode(event))
+            if (!arguments->decode(event))
                 return;
 
             wheelEvent(event);
@@ -600,7 +600,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         }
         case WebPageMessage::KeyEvent: {
             WebKeyboardEvent event;
-            if (!arguments.decode(event))
+            if (!arguments->decode(event))
                 return;
 
             keyEvent(event);
@@ -608,7 +608,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         }
         case WebPageMessage::LoadURL: {
             String url;
-            if (!arguments.decode(url))
+            if (!arguments->decode(url))
                 return;
             
             loadURL(url);
@@ -619,7 +619,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
             break;
         case WebPageMessage::Reload: {
             bool reloadFromOrigin;
-            if (!arguments.decode(CoreIPC::Out(reloadFromOrigin)))
+            if (!arguments->decode(CoreIPC::Out(reloadFromOrigin)))
                 return;
 
             reload(reloadFromOrigin);
@@ -627,21 +627,21 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         }
         case WebPageMessage::GoForward: {
             uint64_t backForwardItemID;
-            if (!arguments.decode(CoreIPC::Out(backForwardItemID)))
+            if (!arguments->decode(CoreIPC::Out(backForwardItemID)))
                 return;
             goForward(backForwardItemID);
             return;
         }
         case WebPageMessage::GoBack: {
             uint64_t backForwardItemID;
-            if (!arguments.decode(CoreIPC::Out(backForwardItemID)))
+            if (!arguments->decode(CoreIPC::Out(backForwardItemID)))
                 return;
             goBack(backForwardItemID);
             return;
         }
        case WebPageMessage::GoToBackForwardItem: {
             uint64_t backForwardItemID;
-            if (!arguments.decode(CoreIPC::Out(backForwardItemID)))
+            if (!arguments->decode(CoreIPC::Out(backForwardItemID)))
                 return;
             goToBackForwardItem(backForwardItemID);
             return;
@@ -650,7 +650,7 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
             uint64_t frameID;
             uint64_t listenerID;
             uint32_t policyAction;
-            if (!arguments.decode(CoreIPC::Out(frameID, listenerID, policyAction)))
+            if (!arguments->decode(CoreIPC::Out(frameID, listenerID, policyAction)))
                 return;
             didReceivePolicyDecision(webFrame(frameID), listenerID, (WebCore::PolicyAction)policyAction);
             return;
@@ -658,14 +658,14 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
         case WebPageMessage::RunJavaScriptInMainFrame: {
             String script;
             uint64_t callbackID;
-            if (!arguments.decode(CoreIPC::Out(script, callbackID)))
+            if (!arguments->decode(CoreIPC::Out(script, callbackID)))
                 return;
             runJavaScriptInMainFrame(script, callbackID);
             return;
         }
         case WebPageMessage::GetRenderTreeExternalRepresentation: {
             uint64_t callbackID;
-            if (!arguments.decode(callbackID))
+            if (!arguments->decode(callbackID))
                 return;
             getRenderTreeExternalRepresentation(callbackID);
             return;
diff --git a/WebKit2/WebProcess/WebPage/WebPage.h b/WebKit2/WebProcess/WebPage/WebPage.h
index a31b086..54303f4 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/WebKit2/WebProcess/WebPage/WebPage.h
@@ -93,7 +93,7 @@ public:
     void show();
 
     // -- Called from WebProcess.
-    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder&);
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
 
     // -- InjectedBundle methods
     void initializeInjectedBundleEditorClient(WKBundlePageEditorClient*);
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index 5c30593..283ad1f 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -294,7 +294,7 @@ void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
     if (messageID.is<CoreIPC::MessageClassInjectedBundle>()) {
         if (!m_injectedBundle)
             return;
-        m_injectedBundle->didReceiveMessage(connection, messageID, *arguments);    
+        m_injectedBundle->didReceiveMessage(connection, messageID, arguments);    
         return;
     }
 
@@ -306,7 +306,7 @@ void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
     if (!page)
         return;
     
-    page->didReceiveMessage(connection, messageID, *arguments);    
+    page->didReceiveMessage(connection, messageID, arguments);
 }
 
 void WebProcess::didClose(CoreIPC::Connection*)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list