Build system for .ipdl files.
authorBenjamin Smedberg <benjamin@smedbergs.us>
Mon, 13 Jul 2009 12:14:56 -0400
changeset 35775 17c4987e08e3ee0ff29fc766cf51f41c1f07c651
parent 35774 cb8189926a69872c73508fba50830f0d07af341f
child 35776 f891c242f736ba0c57ec4b95af50d9cac5067392
push idunknown
push userunknown
push dateunknown
milestone1.9.2a1pre
Build system for .ipdl files.
dom/ipc/IFrameEmbeddingProtocol.h
dom/ipc/IFrameEmbeddingProtocolChild.h
dom/ipc/IFrameEmbeddingProtocolParent.h
dom/ipc/ipdl.mk
dom/plugins/Makefile.in
dom/plugins/NPAPIProtocol.h
dom/plugins/NPAPIProtocolChild.h
dom/plugins/NPAPIProtocolParent.h
dom/plugins/NPP.ipdl
dom/plugins/NPPInstanceChild.h
dom/plugins/NPPInstanceParent.h
dom/plugins/NPPProtocol.h
dom/plugins/NPPProtocolChild.h
dom/plugins/NPPProtocolParent.h
dom/plugins/ipdl.mk
ipc/Makefile.in
ipc/chromium/chromium-config.mk
ipc/glue/IPCMessageUtils.h
ipc/ipdl/Makefile
ipc/ipdl/Makefile.in
ipc/ipdl/ipdl.py
ipc/ipdl/ipdl/Makefile
ipc/testshell/Makefile.in
ipc/testshell/TestShellProtocol.h
ipc/testshell/TestShellProtocolChild.h
ipc/testshell/TestShellProtocolParent.h
ipc/testshell/ipdl.mk
toolkit/toolkit-makefiles.sh
toolkit/toolkit-tiers.mk
deleted file mode 100644
--- a/dom/ipc/IFrameEmbeddingProtocol.h
+++ /dev/null
@@ -1,215 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef IFrameEmbeddingProtocol_h
-#define IFrameEmbeddingProtocol_h
-
-#include "base/basictypes.h"
-#include "nscore.h"
-#include "IPC/IPCMessageUtils.h"
-#include "mozilla/ipc/MessageTypes.h"
-#include "mozilla/ipc/ProtocolUtils.h"
-
-namespace IFrameEmbeddingProtocol {
-
-
-enum State {
-    StateStart = 0,
-    StateError,
-    StateLast
-};
-
-enum MessageType {
-    IFrameEmbeddingProtocolStart = IFrameEmbeddingProtocolMsgStart << 12,
-    IFrameEmbeddingProtocolPreStart = (IFrameEmbeddingProtocolMsgStart << 12) - 1,
-    Msg_init__ID,
-    Reply_init__ID,
-    Msg_loadURL__ID,
-    Reply_loadURL__ID,
-    Msg_move__ID,
-    Reply_move__ID,
-    IFrameEmbeddingProtocolEnd
-};
-
-class Msg_init :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_init__ID
-    };
-    Msg_init(const MagicWindowHandle& parentWidget) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, parentWidget);
-    }
-
-    static bool Read(
-                const Message* msg,
-                MagicWindowHandle* parentWidget)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), parentWidget))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_init :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_init__ID
-    };
-    Reply_init() :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-    }
-
-    static bool Read(const Message* msg)
-    {
-        return true;
-    }
-};
-class Msg_loadURL :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_loadURL__ID
-    };
-    Msg_loadURL(const String& uri) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, uri);
-    }
-
-    static bool Read(
-                const Message* msg,
-                String* uri)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), uri))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_loadURL :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_loadURL__ID
-    };
-    Reply_loadURL() :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-    }
-
-    static bool Read(const Message* msg)
-    {
-        return true;
-    }
-};
-class Msg_move :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_move__ID
-    };
-    Msg_move(
-                const PRUint32& x,
-                const PRUint32& y,
-                const PRUint32& width,
-                const PRUint32& height) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, x);
-        IPC::WriteParam(this, y);
-        IPC::WriteParam(this, width);
-        IPC::WriteParam(this, height);
-    }
-
-    static bool Read(
-                const Message* msg,
-                PRUint32* x,
-                PRUint32* y,
-                PRUint32* width,
-                PRUint32* height)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), x))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), y))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), width))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), height))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_move :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_move__ID
-    };
-    Reply_move() :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-    }
-
-    static bool Read(const Message* msg)
-    {
-        return true;
-    }
-};
-
-
-} // namespace IFrameEmbeddingProtocol
-
-#endif // ifndef IFrameEmbeddingProtocol_h
deleted file mode 100644
--- a/dom/ipc/IFrameEmbeddingProtocolChild.h
+++ /dev/null
@@ -1,196 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef IFrameEmbeddingProtocolChild_h
-#define IFrameEmbeddingProtocolChild_h
-
-#include "IFrameEmbeddingProtocol.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-
-
-class /*NS_ABSTRACT_CLASS*/ IFrameEmbeddingProtocolChild :
-    public mozilla::ipc::RPCChannel::Listener
-{
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-    virtual nsresult Answerinit(const MagicWindowHandle& parentWidget) = 0;
-    virtual nsresult AnswerloadURL(const String& uri) = 0;
-    virtual nsresult Answermove(
-                const PRUint32& x,
-                const PRUint32& y,
-                const PRUint32& width,
-                const PRUint32& height) = 0;
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    IFrameEmbeddingProtocolChild() :
-        mChannel(this)
-    {
-    }
-
-    virtual ~IFrameEmbeddingProtocolChild()
-    {
-    }
-
-    bool Open(
-                IPC::Channel* aChannel,
-                MessageLoop* aThread = 0)
-    {
-        return mChannel.Open(aChannel, aThread);
-    }
-
-    void Close()
-    {
-        mChannel.Close();
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        case IFrameEmbeddingProtocol::Msg_init__ID:
-            {
-                MagicWindowHandle parentWidget;
-
-                if (!(IFrameEmbeddingProtocol::Msg_init::Read(&(msg), &(parentWidget)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(Answerinit(parentWidget))) {
-                    return MsgValueError;
-                }
-
-                reply = new IFrameEmbeddingProtocol::Reply_init();
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        case IFrameEmbeddingProtocol::Msg_loadURL__ID:
-            {
-                String uri;
-
-                if (!(IFrameEmbeddingProtocol::Msg_loadURL::Read(&(msg), &(uri)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(AnswerloadURL(uri))) {
-                    return MsgValueError;
-                }
-
-                reply = new IFrameEmbeddingProtocol::Reply_loadURL();
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        case IFrameEmbeddingProtocol::Msg_move__ID:
-            {
-                PRUint32 x;
-                PRUint32 y;
-                PRUint32 width;
-                PRUint32 height;
-
-                if (!(IFrameEmbeddingProtocol::Msg_move::Read(&(msg), &(x), &(y), &(width), &(height)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(Answermove(x, y, width, height))) {
-                    return MsgValueError;
-                }
-
-                reply = new IFrameEmbeddingProtocol::Reply_move();
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-private:
-    Channel mChannel;
-    int mId;
-    int mPeerId;
-    mozilla::ipc::IProtocolManager* mManager;
-};
-
-
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public IFrameEmbeddingProtocolChild
-{
-    virtual nsresult Answerinit(const MagicWindowHandle& parentWidget);
-    virtual nsresult AnswerloadURL(const String& uri);
-    virtual nsresult Answermove(
-                const PRUint32& x,
-                const PRUint32& y,
-                const PRUint32& width,
-                const PRUint32& height);
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-nsresult ActorImpl::Answerinit(const MagicWindowHandle& parentWidget)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-nsresult ActorImpl::AnswerloadURL(const String& uri)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-nsresult ActorImpl::Answermove(
-            const PRUint32& x,
-            const PRUint32& y,
-            const PRUint32& width,
-            const PRUint32& height)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef IFrameEmbeddingProtocolChild_h
deleted file mode 100644
--- a/dom/ipc/IFrameEmbeddingProtocolParent.h
+++ /dev/null
@@ -1,164 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef IFrameEmbeddingProtocolParent_h
-#define IFrameEmbeddingProtocolParent_h
-
-#include "IFrameEmbeddingProtocol.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-
-
-class /*NS_ABSTRACT_CLASS*/ IFrameEmbeddingProtocolParent :
-    public mozilla::ipc::RPCChannel::Listener
-{
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    IFrameEmbeddingProtocolParent() :
-        mChannel(this)
-    {
-    }
-
-    virtual ~IFrameEmbeddingProtocolParent()
-    {
-    }
-
-    bool Open(
-                IPC::Channel* aChannel,
-                MessageLoop* aThread = 0)
-    {
-        return mChannel.Open(aChannel, aThread);
-    }
-
-    void Close()
-    {
-        mChannel.Close();
-    }
-
-    nsresult Callinit(const MagicWindowHandle& parentWidget)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new IFrameEmbeddingProtocol::Msg_init(parentWidget);
-        __msg->set_routing_id(MSG_ROUTING_CONTROL);
-        if (!(mChannel.Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(IFrameEmbeddingProtocol::Reply_init::Read(&(__reply)))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    nsresult CallloadURL(const String& uri)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new IFrameEmbeddingProtocol::Msg_loadURL(uri);
-        __msg->set_routing_id(MSG_ROUTING_CONTROL);
-        if (!(mChannel.Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(IFrameEmbeddingProtocol::Reply_loadURL::Read(&(__reply)))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    nsresult Callmove(
-                const PRUint32& x,
-                const PRUint32& y,
-                const PRUint32& width,
-                const PRUint32& height)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new IFrameEmbeddingProtocol::Msg_move(x, y, width, height);
-        __msg->set_routing_id(MSG_ROUTING_CONTROL);
-        if (!(mChannel.Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(IFrameEmbeddingProtocol::Reply_move::Read(&(__reply)))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-private:
-    Channel mChannel;
-    int mId;
-    int mPeerId;
-    mozilla::ipc::IProtocolManager* mManager;
-};
-
-
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public IFrameEmbeddingProtocolParent
-{
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef IFrameEmbeddingProtocolParent_h
new file mode 100644
--- /dev/null
+++ b/dom/ipc/ipdl.mk
@@ -0,0 +1,3 @@
+IPDLSRCS = \
+  IFrameEmbedding.ipdl \
+  $(NULL)
--- a/dom/plugins/Makefile.in
+++ b/dom/plugins/Makefile.in
@@ -49,24 +49,18 @@ EXPORTS_NAMESPACES = mozilla mozilla/plu
 EXPORTS_mozilla =				\
   SharedLibrary.h				\
   SharedPRLibrary.h				\
   $(NULL)
 
 EXPORTS_mozilla/plugins =			\
   NPAPIPluginChild.h				\
   NPAPIPluginParent.h				\
-  NPAPIProtocol.h				\
-  NPAPIProtocolChild.h				\
-  NPAPIProtocolParent.h				\
   NPPInstanceChild.h				\
   NPPInstanceParent.h				\
-  NPPProtocol.h					\
-  NPPProtocolChild.h				\
-  NPPProtocolParent.h				\
   PluginMessageUtils.h				\
   PluginProcessParent.h				\
   PluginThreadChild.h				\
   $(NULL)
 
 MODULE           = dom
 LIBRARY_NAME     = domplugins_s
 LIBXUL_LIBRARY   = 1
deleted file mode 100644
--- a/dom/plugins/NPAPIProtocol.h
+++ /dev/null
@@ -1,262 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_plugins_NPAPIProtocol_h
-#define mozilla_plugins_NPAPIProtocol_h
-
-#include "base/basictypes.h"
-#include "nscore.h"
-#include "IPC/IPCMessageUtils.h"
-#include "mozilla/ipc/MessageTypes.h"
-#include "mozilla/ipc/ProtocolUtils.h"
-#include "npapi.h"
-#include "mozilla/plugins/NPPProtocol.h"
-
-namespace mozilla {
-namespace plugins {
-namespace NPAPIProtocol {
-
-
-enum State {
-    StateStart = 0,
-    StateError,
-    StateLast
-};
-
-enum MessageType {
-    NPAPIProtocolStart = NPAPIProtocolMsgStart << 12,
-    NPAPIProtocolPreStart = (NPAPIProtocolMsgStart << 12) - 1,
-    Msg_NP_Initialize__ID,
-    Reply_NP_Initialize__ID,
-    Msg_NPPConstructor__ID,
-    Reply_NPPConstructor__ID,
-    Msg_NPPDestructor__ID,
-    Reply_NPPDestructor__ID,
-    NPAPIProtocolEnd
-};
-
-class Msg_NP_Initialize :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_NP_Initialize__ID
-    };
-    Msg_NP_Initialize() :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-    }
-
-    static bool Read(const Message* msg)
-    {
-        return true;
-    }
-};
-class Reply_NP_Initialize :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_NP_Initialize__ID
-    };
-    Reply_NP_Initialize(const NPError& rv) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, rv);
-    }
-
-    static bool Read(
-                const Message* msg,
-                NPError* rv)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), rv))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Msg_NPPConstructor :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_NPPConstructor__ID
-    };
-    Msg_NPPConstructor(
-                const String& aMimeType,
-                const uint16_t& aMode,
-                const StringArray& aNames,
-                const StringArray& aValues,
-                const mozilla::ipc::ActorHandle& __ah) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, aMimeType);
-        IPC::WriteParam(this, aMode);
-        IPC::WriteParam(this, aNames);
-        IPC::WriteParam(this, aValues);
-        IPC::WriteParam(this, __ah);
-    }
-
-    static bool Read(
-                const Message* msg,
-                String* aMimeType,
-                uint16_t* aMode,
-                StringArray* aNames,
-                StringArray* aValues,
-                mozilla::ipc::ActorHandle* __ah)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), aMimeType))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), aMode))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), aNames))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), aValues))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), __ah))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_NPPConstructor :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_NPPConstructor__ID
-    };
-    Reply_NPPConstructor(
-                const NPError& rv,
-                const mozilla::ipc::ActorHandle& __ah) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, rv);
-        IPC::WriteParam(this, __ah);
-    }
-
-    static bool Read(
-                const Message* msg,
-                NPError* rv,
-                mozilla::ipc::ActorHandle* __ah)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), rv))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), __ah))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Msg_NPPDestructor :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_NPPDestructor__ID
-    };
-    Msg_NPPDestructor(const mozilla::ipc::ActorHandle& __ah) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, __ah);
-    }
-
-    static bool Read(
-                const Message* msg,
-                mozilla::ipc::ActorHandle* __ah)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), __ah))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_NPPDestructor :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_NPPDestructor__ID
-    };
-    Reply_NPPDestructor(
-                const NPError& rv,
-                const mozilla::ipc::ActorHandle& __ah) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, rv);
-        IPC::WriteParam(this, __ah);
-    }
-
-    static bool Read(
-                const Message* msg,
-                NPError* rv,
-                mozilla::ipc::ActorHandle* __ah)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), rv))) {
-            return false;
-        }
-
-        if (!(IPC::ReadParam(msg, &(iter), __ah))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-
-
-} // namespace NPAPIProtocol
-} // namespace plugins
-} // namespace mozilla
-
-#endif // ifndef mozilla_plugins_NPAPIProtocol_h
deleted file mode 100644
--- a/dom/plugins/NPAPIProtocolChild.h
+++ /dev/null
@@ -1,252 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_plugins_NPAPIProtocolChild_h
-#define mozilla_plugins_NPAPIProtocolChild_h
-
-#include "mozilla/plugins/NPAPIProtocol.h"
-#include "mozilla/plugins/NPPProtocolChild.h"
-#include "base/id_map.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-namespace mozilla {
-namespace plugins {
-
-
-class /*NS_ABSTRACT_CLASS*/ NPAPIProtocolChild :
-    public mozilla::ipc::RPCChannel::Listener,
-    public mozilla::ipc::IProtocolManager
-{
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-    virtual nsresult AnswerNP_Initialize(NPError* rv) = 0;
-    virtual NPPProtocolChild* NPPConstructor(
-                const String& aMimeType,
-                const uint16_t& aMode,
-                const StringArray& aNames,
-                const StringArray& aValues,
-                NPError* rv) = 0;
-    virtual nsresult NPPDestructor(
-                NPPProtocolChild* __a,
-                NPError* rv) = 0;
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    NPAPIProtocolChild() :
-        mChannel(this)
-    {
-    }
-
-    virtual ~NPAPIProtocolChild()
-    {
-    }
-
-    bool Open(
-                IPC::Channel* aChannel,
-                MessageLoop* aThread = 0)
-    {
-        return mChannel.Open(aChannel, aThread);
-    }
-
-    void Close()
-    {
-        mChannel.Close();
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        int __route;
-        __route = msg.routing_id();
-        if ((MSG_ROUTING_CONTROL) != (__route)) {
-            Channel::Listener* __routed;
-            __routed = Lookup(__route);
-            if (!(__routed)) {
-                return MsgRouteError;
-            }
-            return __routed->OnCallReceived(msg, reply);
-        }
-
-        switch (msg.type()) {
-        case NPAPIProtocol::Msg_NP_Initialize__ID:
-            {
-                NPError rv;
-
-                if (!(NPAPIProtocol::Msg_NP_Initialize::Read(&(msg)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(AnswerNP_Initialize(&(rv)))) {
-                    return MsgValueError;
-                }
-
-                reply = new NPAPIProtocol::Reply_NP_Initialize(rv);
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        case NPAPIProtocol::Msg_NPPConstructor__ID:
-            {
-                String aMimeType;
-                uint16_t aMode;
-                StringArray aNames;
-                StringArray aValues;
-                NPError rv;
-                mozilla::ipc::ActorHandle __ah;
-
-                if (!(NPAPIProtocol::Msg_NPPConstructor::Read(&(msg), &(aMimeType), &(aMode), &(aNames), &(aValues), &(__ah)))) {
-                    return MsgPayloadError;
-                }
-
-                NPPProtocolChild* __a;
-                __a = NPPConstructor(aMimeType, aMode, aNames, aValues, &(rv));
-                if (!(__a)) {
-                    return MsgValueError;
-                }
-
-                __ah.mChildId = __a->mId = Register(__a);
-                __a->mPeerId = __ah.mParentId;
-                __a->mManager = this;
-                __a->mChannel = &(mChannel);
-
-                reply = new NPAPIProtocol::Reply_NPPConstructor(rv, __ah);
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        case NPAPIProtocol::Msg_NPPDestructor__ID:
-            {
-                NPError rv;
-                mozilla::ipc::ActorHandle __ah;
-
-                if (!(NPAPIProtocol::Msg_NPPDestructor::Read(&(msg), &(__ah)))) {
-                    return MsgPayloadError;
-                }
-                NPPProtocolChild* __a;
-                __a = static_cast<NPPProtocolChild*>(Lookup(__ah.mChildId));
-                if (!(__a)) {
-                    return MsgValueError;
-                }
-                if (NS_FAILED(NPPDestructor(__a, &(rv)))) {
-                    return MsgValueError;
-                }
-                Unregister(__ah.mChildId);
-                __ah.mChildId = -1;
-
-                reply = new NPAPIProtocol::Reply_NPPDestructor(rv, __ah);
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual int32 Register(Channel::Listener* aRouted)
-    {
-        return mActorMap.Add(aRouted);
-    }
-    virtual Channel::Listener* Lookup(int32 aId)
-    {
-        return mActorMap.Lookup(aId);
-    }
-    virtual void Unregister(int32 aId)
-    {
-        return mActorMap.Remove(aId);
-    }
-
-private:
-    Channel mChannel;
-    IDMap<Channel::Listener> mActorMap;
-};
-
-
-} // namespace plugins
-} // namespace mozilla
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public NPAPIProtocolChild
-{
-    virtual nsresult AnswerNP_Initialize(NPError* rv);
-    virtual NPPProtocolChild* NPPConstructor(
-                const String& aMimeType,
-                const uint16_t& aMode,
-                const StringArray& aNames,
-                const StringArray& aValues,
-                NPError* rv);
-    virtual nsresult NPPDestructor(
-                NPPProtocolChild* __a,
-                NPError* rv);
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-nsresult ActorImpl::AnswerNP_Initialize(NPError* rv)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NPPProtocolChild* ActorImpl::NPPConstructor(
-            const String& aMimeType,
-            const uint16_t& aMode,
-            const StringArray& aNames,
-            const StringArray& aValues,
-            NPError* rv)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-nsresult ActorImpl::NPPDestructor(
-            NPPProtocolChild* __a,
-            NPError* rv)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef mozilla_plugins_NPAPIProtocolChild_h
deleted file mode 100644
--- a/dom/plugins/NPAPIProtocolParent.h
+++ /dev/null
@@ -1,260 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_plugins_NPAPIProtocolParent_h
-#define mozilla_plugins_NPAPIProtocolParent_h
-
-#include "mozilla/plugins/NPAPIProtocol.h"
-#include "mozilla/plugins/NPPProtocolParent.h"
-#include "base/id_map.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-namespace mozilla {
-namespace plugins {
-
-
-class /*NS_ABSTRACT_CLASS*/ NPAPIProtocolParent :
-    public mozilla::ipc::RPCChannel::Listener,
-    public mozilla::ipc::IProtocolManager
-{
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-    virtual NPPProtocolParent* NPPConstructor(
-                const String& aMimeType,
-                const uint16_t& aMode,
-                const StringArray& aNames,
-                const StringArray& aValues,
-                NPError* rv) = 0;
-    virtual nsresult NPPDestructor(
-                NPPProtocolParent* __a,
-                NPError* rv) = 0;
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    NPAPIProtocolParent() :
-        mChannel(this)
-    {
-    }
-
-    virtual ~NPAPIProtocolParent()
-    {
-    }
-
-    bool Open(
-                IPC::Channel* aChannel,
-                MessageLoop* aThread = 0)
-    {
-        return mChannel.Open(aChannel, aThread);
-    }
-
-    void Close()
-    {
-        mChannel.Close();
-    }
-
-    nsresult CallNP_Initialize(NPError* rv)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new NPAPIProtocol::Msg_NP_Initialize();
-        __msg->set_routing_id(MSG_ROUTING_CONTROL);
-        if (!(mChannel.Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(NPAPIProtocol::Reply_NP_Initialize::Read(&(__reply), rv))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    NPPProtocolParent* CallNPPConstructor(
-                const String& aMimeType,
-                const uint16_t& aMode,
-                const StringArray& aNames,
-                const StringArray& aValues,
-                NPError* rv)
-    {
-        NPPProtocolParent* __a;
-        __a = NPPConstructor(aMimeType, aMode, aNames, aValues, rv);
-        if (!(__a)) {
-            return 0;
-        }
-        __a->mId = Register(__a);
-        mozilla::ipc::ActorHandle __ah;
-        __ah.mParentId = __a->mId;
-
-        Message __reply;
-        Message* __msg;
-        __msg = new NPAPIProtocol::Msg_NPPConstructor(aMimeType, aMode, aNames, aValues, __ah);
-        __msg->set_routing_id(MSG_ROUTING_CONTROL);
-        if (!(mChannel.Call(__msg, &(__reply)))) {
-            return 0;
-        }
-        if (!(NPAPIProtocol::Reply_NPPConstructor::Read(&(__reply), rv, &(__ah)))) {
-            return 0;
-        }
-        __a->mPeerId = __ah.mChildId;
-        __a->mManager = this;
-        __a->mChannel = &(mChannel);
-        return __a;
-    }
-
-    nsresult CallNPPDestructor(
-                NPPProtocolParent* __a,
-                NPError* rv)
-    {
-        if (!(__a)) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        NPPProtocolParent* __b;
-        __b = static_cast<NPPProtocolParent*>(Lookup(__a->mId));
-        if ((__a) != (__b)) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-
-        mozilla::ipc::ActorHandle __ah;
-        __ah.mParentId = __a->mId;
-        __ah.mChildId = __a->mPeerId;
-
-        Message __reply;
-        Message* __msg;
-        __msg = new NPAPIProtocol::Msg_NPPDestructor(__ah);
-        __msg->set_routing_id(MSG_ROUTING_CONTROL);
-        if (!(mChannel.Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(NPAPIProtocol::Reply_NPPDestructor::Read(&(__reply), rv, &(__ah)))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        Unregister(__a->mId);
-        __a->mId = -1;
-        __a->mManager = 0;
-        __a->mPeerId = -1;
-        return NS_OK;
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        int __route;
-        __route = msg.routing_id();
-        if ((MSG_ROUTING_CONTROL) != (__route)) {
-            Channel::Listener* __routed;
-            __routed = Lookup(__route);
-            if (!(__routed)) {
-                return MsgRouteError;
-            }
-            return __routed->OnCallReceived(msg, reply);
-        }
-
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual int32 Register(Channel::Listener* aRouted)
-    {
-        return mActorMap.Add(aRouted);
-    }
-    virtual Channel::Listener* Lookup(int32 aId)
-    {
-        return mActorMap.Lookup(aId);
-    }
-    virtual void Unregister(int32 aId)
-    {
-        return mActorMap.Remove(aId);
-    }
-
-private:
-    Channel mChannel;
-    IDMap<Channel::Listener> mActorMap;
-};
-
-
-} // namespace plugins
-} // namespace mozilla
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public NPAPIProtocolParent
-{
-    virtual NPPProtocolParent* NPPConstructor(
-                const String& aMimeType,
-                const uint16_t& aMode,
-                const StringArray& aNames,
-                const StringArray& aValues,
-                NPError* rv);
-    virtual nsresult NPPDestructor(
-                NPPProtocolParent* __a,
-                NPError* rv);
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-NPPProtocolParent* ActorImpl::NPPConstructor(
-            const String& aMimeType,
-            const uint16_t& aMode,
-            const StringArray& aNames,
-            const StringArray& aValues,
-            NPError* rv)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-nsresult ActorImpl::NPPDestructor(
-            NPPProtocolParent* __a,
-            NPError* rv)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef mozilla_plugins_NPAPIProtocolParent_h
--- a/dom/plugins/NPP.ipdl
+++ b/dom/plugins/NPP.ipdl
@@ -1,12 +1,12 @@
 include protocol "NPAPI.ipdl";
 //include protocol "NPStream.ipdl";
 
-include "PluginMessageUtils.h";
+include "mozilla/plugins/PluginMessageUtils.h";
 
 using NPError;
 using NPWindow;
 
 namespace mozilla {
 namespace plugins {
 
 rpc protocol NPP
--- a/dom/plugins/NPPInstanceChild.h
+++ b/dom/plugins/NPPInstanceChild.h
@@ -34,17 +34,17 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef dom_plugins_NPPInstanceChild_h
 #define dom_plugins_NPPInstanceChild_h 1
 
-#include "NPPProtocolChild.h"
+#include "mozilla/plugins/NPPProtocolChild.h"
 
 #include "npfunctions.h"
 
 #undef _MOZ_LOG
 #define _MOZ_LOG(s) printf("[NPPInstanceChild] %s\n", s)
 
 namespace mozilla {
 namespace plugins {
--- a/dom/plugins/NPPInstanceParent.h
+++ b/dom/plugins/NPPInstanceParent.h
@@ -34,17 +34,17 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef dom_plugins_NPPInstanceParent_h
 #define dom_plugins_NPPInstanceParent_h 1
 
-#include "NPPProtocolParent.h"
+#include "mozilla/plugins/NPPProtocolParent.h"
 
 #include "npfunctions.h"
 
 #undef _MOZ_LOG
 #define _MOZ_LOG(s) printf("[NPPInstanceParent] %s\n", s)
 
 namespace mozilla {
 namespace plugins {
deleted file mode 100644
--- a/dom/plugins/NPPProtocol.h
+++ /dev/null
@@ -1,226 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_plugins_NPPProtocol_h
-#define mozilla_plugins_NPPProtocol_h
-
-#include "base/basictypes.h"
-#include "nscore.h"
-#include "IPC/IPCMessageUtils.h"
-#include "mozilla/ipc/MessageTypes.h"
-#include "mozilla/ipc/ProtocolUtils.h"
-#include "PluginMessageUtils.h"
-#include "mozilla/plugins/NPAPIProtocol.h"
-
-namespace mozilla {
-namespace plugins {
-namespace NPPProtocol {
-
-
-enum State {
-    StateStart = 0,
-    StateError,
-    StateLast
-};
-
-enum MessageType {
-    NPPProtocolStart = NPPProtocolMsgStart << 12,
-    NPPProtocolPreStart = (NPPProtocolMsgStart << 12) - 1,
-    Msg_NPP_SetWindow__ID,
-    Reply_NPP_SetWindow__ID,
-    Msg_NPP_GetValue__ID,
-    Reply_NPP_GetValue__ID,
-    Msg_NPN_GetValue__ID,
-    Reply_NPN_GetValue__ID,
-    NPPProtocolEnd
-};
-
-class Msg_NPP_SetWindow :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_NPP_SetWindow__ID
-    };
-    Msg_NPP_SetWindow(const NPWindow& window) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, window);
-    }
-
-    static bool Read(
-                const Message* msg,
-                NPWindow* window)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), window))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_NPP_SetWindow :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_NPP_SetWindow__ID
-    };
-    Reply_NPP_SetWindow(const NPError& rv) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, rv);
-    }
-
-    static bool Read(
-                const Message* msg,
-                NPError* rv)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), rv))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Msg_NPP_GetValue :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_NPP_GetValue__ID
-    };
-    Msg_NPP_GetValue(const String& key) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, key);
-    }
-
-    static bool Read(
-                const Message* msg,
-                String* key)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), key))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_NPP_GetValue :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_NPP_GetValue__ID
-    };
-    Reply_NPP_GetValue(const String& value) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, value);
-    }
-
-    static bool Read(
-                const Message* msg,
-                String* value)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), value))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Msg_NPN_GetValue :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_NPN_GetValue__ID
-    };
-    Msg_NPN_GetValue(const String& key) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, key);
-    }
-
-    static bool Read(
-                const Message* msg,
-                String* key)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), key))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_NPN_GetValue :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_NPN_GetValue__ID
-    };
-    Reply_NPN_GetValue(const String& value) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, value);
-    }
-
-    static bool Read(
-                const Message* msg,
-                String* value)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), value))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-
-
-} // namespace NPPProtocol
-} // namespace plugins
-} // namespace mozilla
-
-#endif // ifndef mozilla_plugins_NPPProtocol_h
deleted file mode 100644
--- a/dom/plugins/NPPProtocolChild.h
+++ /dev/null
@@ -1,183 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_plugins_NPPProtocolChild_h
-#define mozilla_plugins_NPPProtocolChild_h
-
-#include "mozilla/plugins/NPPProtocol.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-namespace mozilla {
-namespace plugins {
-
-
-class /*NS_ABSTRACT_CLASS*/ NPPProtocolChild :
-    public mozilla::ipc::RPCChannel::Listener
-{
-    friend class NPAPIProtocolChild;
-
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-    virtual nsresult AnswerNPP_SetWindow(
-                const NPWindow& window,
-                NPError* rv) = 0;
-    virtual nsresult AnswerNPP_GetValue(
-                const String& key,
-                String* value) = 0;
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    NPPProtocolChild()
-    {
-    }
-
-    virtual ~NPPProtocolChild()
-    {
-    }
-
-    nsresult CallNPN_GetValue(
-                const String& key,
-                String* value)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new NPPProtocol::Msg_NPN_GetValue(key);
-        __msg->set_routing_id(mPeerId);
-        if (!(mChannel->Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(NPPProtocol::Reply_NPN_GetValue::Read(&(__reply), value))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        case NPPProtocol::Msg_NPP_SetWindow__ID:
-            {
-                NPWindow window;
-                NPError rv;
-
-                if (!(NPPProtocol::Msg_NPP_SetWindow::Read(&(msg), &(window)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(AnswerNPP_SetWindow(window, &(rv)))) {
-                    return MsgValueError;
-                }
-
-                reply = new NPPProtocol::Reply_NPP_SetWindow(rv);
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        case NPPProtocol::Msg_NPP_GetValue__ID:
-            {
-                String key;
-                String value;
-
-                if (!(NPPProtocol::Msg_NPP_GetValue::Read(&(msg), &(key)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(AnswerNPP_GetValue(key, &(value)))) {
-                    return MsgValueError;
-                }
-
-                reply = new NPPProtocol::Reply_NPP_GetValue(value);
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-private:
-    Channel* mChannel;
-    int mId;
-    int mPeerId;
-    mozilla::ipc::IProtocolManager* mManager;
-};
-
-
-} // namespace plugins
-} // namespace mozilla
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public NPPProtocolChild
-{
-    virtual nsresult AnswerNPP_SetWindow(
-                const NPWindow& window,
-                NPError* rv);
-    virtual nsresult AnswerNPP_GetValue(
-                const String& key,
-                String* value);
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-nsresult ActorImpl::AnswerNPP_SetWindow(
-            const NPWindow& window,
-            NPError* rv)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-nsresult ActorImpl::AnswerNPP_GetValue(
-            const String& key,
-            String* value)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef mozilla_plugins_NPPProtocolChild_h
deleted file mode 100644
--- a/dom/plugins/NPPProtocolParent.h
+++ /dev/null
@@ -1,171 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_plugins_NPPProtocolParent_h
-#define mozilla_plugins_NPPProtocolParent_h
-
-#include "mozilla/plugins/NPPProtocol.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-namespace mozilla {
-namespace plugins {
-
-
-class /*NS_ABSTRACT_CLASS*/ NPPProtocolParent :
-    public mozilla::ipc::RPCChannel::Listener
-{
-    friend class NPAPIProtocolParent;
-
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-    virtual nsresult AnswerNPN_GetValue(
-                const String& key,
-                String* value) = 0;
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    NPPProtocolParent()
-    {
-    }
-
-    virtual ~NPPProtocolParent()
-    {
-    }
-
-    nsresult CallNPP_SetWindow(
-                const NPWindow& window,
-                NPError* rv)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new NPPProtocol::Msg_NPP_SetWindow(window);
-        __msg->set_routing_id(mPeerId);
-        if (!(mChannel->Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(NPPProtocol::Reply_NPP_SetWindow::Read(&(__reply), rv))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    nsresult CallNPP_GetValue(
-                const String& key,
-                String* value)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new NPPProtocol::Msg_NPP_GetValue(key);
-        __msg->set_routing_id(mPeerId);
-        if (!(mChannel->Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(NPPProtocol::Reply_NPP_GetValue::Read(&(__reply), value))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        case NPPProtocol::Msg_NPN_GetValue__ID:
-            {
-                String key;
-                String value;
-
-                if (!(NPPProtocol::Msg_NPN_GetValue::Read(&(msg), &(key)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(AnswerNPN_GetValue(key, &(value)))) {
-                    return MsgValueError;
-                }
-
-                reply = new NPPProtocol::Reply_NPN_GetValue(value);
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-private:
-    Channel* mChannel;
-    int mId;
-    int mPeerId;
-    mozilla::ipc::IProtocolManager* mManager;
-};
-
-
-} // namespace plugins
-} // namespace mozilla
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public NPPProtocolParent
-{
-    virtual nsresult AnswerNPN_GetValue(
-                const String& key,
-                String* value);
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-nsresult ActorImpl::AnswerNPN_GetValue(
-            const String& key,
-            String* value)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef mozilla_plugins_NPPProtocolParent_h
new file mode 100644
--- /dev/null
+++ b/dom/plugins/ipdl.mk
@@ -0,0 +1,5 @@
+IPDLSRCS = \
+  NPAPI.ipdl \
+  NPP.ipdl \
+  $(NULL)
+
--- a/ipc/Makefile.in
+++ b/ipc/Makefile.in
@@ -36,12 +36,12 @@
 
 DEPTH = ..
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-DIRS += chromium glue testshell
+DIRS += ipdl chromium glue testshell
 TOOL_DIRS = app
 
 include $(topsrcdir)/config/rules.mk
--- a/ipc/chromium/chromium-config.mk
+++ b/ipc/chromium/chromium-config.mk
@@ -49,16 +49,17 @@ EXTRA_DEPS += $(topsrcdir)/ipc/chromium/
 DEFINES += \
   -DEXCLUDE_SKIA_DEPENDENCIES \
   -DCHROMIUM_MOZILLA_BUILD \
   $(NULL)
 
 LOCAL_INCLUDES += \
   -I$(topsrcdir)/ipc/chromium/src \
   -I$(topsrcdir)/ipc/glue \
+  -I$(DEPTH)/ipc/ipdl/_ipdlheaders \
   $(NULL)
 
 ifeq ($(OS_ARCH),Darwin) # {
 
 OS_MACOSX = 1
 OS_POSIX = 1
 
 DEFINES += \
--- a/ipc/glue/IPCMessageUtils.h
+++ b/ipc/glue/IPCMessageUtils.h
@@ -38,28 +38,17 @@
 #define __IPC_GLUE_IPCMESSAGEUTILS_H__
 
 #include "chrome/common/ipc_message_utils.h"
 
 #include "prtypes.h"
 #include "nsStringGlue.h"
 #include "nsTArray.h"
 
-// Used by chrome code, we override this here and #ifdef theirs out. See the
-// comments in chrome/common/ipc_message_utils.h for info about this enum.
-enum IPCMessageStart {
-  NPAPIProtocolMsgStart = 0,
-  NPPProtocolMsgStart = 0,
-
-  IFrameEmbeddingProtocolMsgStart,
-
-  TestShellProtocolMsgStart,
-
-  LastMsgIndex
-};
+#include "IPCMessageStart.h"
 
 COMPILE_ASSERT(LastMsgIndex <= 16, need_to_update_IPC_MESSAGE_MACRO);
 
 namespace IPC {
 
 
 // FIXME/cjones: PRInt16 traits had a stack corruption bug that took
 // a long time to find.  putting these on ice until we need them
deleted file mode 100644
--- a/ipc/ipdl/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-.PHONY: clean
-
-clean: 
-	rm -f *~ *.h
-	make -C ipdl clean
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/Makefile.in
@@ -0,0 +1,68 @@
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is Mozilla Firefox.
+#
+# The Initial Developer of the Original Code is
+# The Mozilla Foundation <http://www.mozilla.org/>.
+# Portions created by the Initial Developer are Copyright (C) 2009
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+DEPTH = ../..
+topsrcdir = @top_srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+include $(DEPTH)/config/autoconf.mk
+include $(topsrcdir)/config/rules.mk
+
+IPDLDIRS = \
+  dom/plugins \
+  dom/ipc \
+  ipc/testshell \
+  $(NULL)
+
+vpath %.ipdl $(topsrcdir)
+
+define ADD_IPDLDIR
+include $(topsrcdir)/$(IPDLDIR)/ipdl.mk
+ALL_IPDLSRCS += $$(IPDLSRCS:%=$(IPDLDIR)/%)
+endef
+
+ALL_IPDLSRCS :=
+
+$(foreach IPDLDIR,$(IPDLDIRS),$(eval $(ADD_IPDLDIR)))
+
+export:: $(ALL_IPDLSRCS)
+	$(PYTHON) $(topsrcdir)/config/pythonpath.py \
+	  -I$(topsrcdir)/other-licenses/ply \
+	  $(srcdir)/ipdl.py \
+	  -d _ipdlheaders \
+	  $(IPDLDIRS:%=-I$(topsrcdir)/%) \
+	  $^
--- a/ipc/ipdl/ipdl.py
+++ b/ipc/ipdl/ipdl.py
@@ -76,17 +76,17 @@ for f in files:
     specstring = fd.read()
     fd.close()
 
     ast = ipdl.parse(specstring, filename, includedirs=includedirs)
     if ast is None:
         print >>sys.stderr, 'Specification could not be parsed.'
         sys.exit(1)
 
-    allprotocols.append,('%sProtocolMsgStart' % ast.protocol.name)
+    allprotocols.append('%sProtocolMsgStart' % ast.protocol.name)
 
     log(2, 'checking types')
     if not ipdl.typecheck(ast):
         print >>sys.stderr, 'Specification is not well typed.'
         sys.exit(1)
 
     if _verbosity > 2:
         log(3, '  pretty printed code:')
deleted file mode 100644
--- a/ipc/ipdl/ipdl/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-.PHONY: clean
-
-clean:
-	rm -f cxx/*~ *~ *.pyc cxx/*.pyc parser.out ipdl_lextab.py ipdl_yacctab.py
-
-check:
-	@echo "Implement me!  With tests/!"
--- a/ipc/testshell/Makefile.in
+++ b/ipc/testshell/Makefile.in
@@ -47,19 +47,16 @@ FORCE_STATIC_LIB = 1
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
 
 EXPORTS_NAMESPACES = mozilla/ipc
 
 EXPORTS_mozilla/ipc = \
   TestShellChild.h \
   TestShellParent.h \
-  TestShellProtocol.h \
-  TestShellProtocolChild.h \
-  TestShellProtocolParent.h \
   TestShellThread.h \
   XPCShellEnvironment.h \
   $(NULL)
 
 CPPSRCS += \
   TestShellChild.cpp \
   TestShellParent.cpp \
   TestShellThread.cpp \
deleted file mode 100644
--- a/ipc/testshell/TestShellProtocol.h
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_ipc_TestShellProtocol_h
-#define mozilla_ipc_TestShellProtocol_h
-
-#include "base/basictypes.h"
-#include "nscore.h"
-#include "IPC/IPCMessageUtils.h"
-#include "mozilla/ipc/MessageTypes.h"
-#include "mozilla/ipc/ProtocolUtils.h"
-
-namespace mozilla {
-namespace ipc {
-namespace TestShellProtocol {
-
-
-enum State {
-    StateStart = 0,
-    StateError,
-    StateLast
-};
-
-enum MessageType {
-    TestShellProtocolStart = TestShellProtocolMsgStart << 12,
-    TestShellProtocolPreStart = (TestShellProtocolMsgStart << 12) - 1,
-    Msg_SendCommand__ID,
-    Reply_SendCommand__ID,
-    TestShellProtocolEnd
-};
-
-class Msg_SendCommand :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Msg_SendCommand__ID
-    };
-    Msg_SendCommand(const String& aCommand) :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-        IPC::WriteParam(this, aCommand);
-    }
-
-    static bool Read(
-                const Message* msg,
-                String* aCommand)
-    {
-        void* iter = 0;
-
-        if (!(IPC::ReadParam(msg, &(iter), aCommand))) {
-            return false;
-        }
-
-        return true;
-    }
-};
-class Reply_SendCommand :
-    public IPC::Message
-{
-private:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-public:
-    enum {
-        ID = Reply_SendCommand__ID
-    };
-    Reply_SendCommand() :
-        IPC::Message(MSG_ROUTING_NONE, ID, PRIORITY_NORMAL)
-    {
-    }
-
-    static bool Read(const Message* msg)
-    {
-        return true;
-    }
-};
-
-
-} // namespace TestShellProtocol
-} // namespace ipc
-} // namespace mozilla
-
-#endif // ifndef mozilla_ipc_TestShellProtocol_h
deleted file mode 100644
--- a/ipc/testshell/TestShellProtocolChild.h
+++ /dev/null
@@ -1,141 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_ipc_TestShellProtocolChild_h
-#define mozilla_ipc_TestShellProtocolChild_h
-
-#include "mozilla/ipc/TestShellProtocol.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-namespace mozilla {
-namespace ipc {
-
-
-class /*NS_ABSTRACT_CLASS*/ TestShellProtocolChild :
-    public mozilla::ipc::RPCChannel::Listener
-{
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-    virtual nsresult AnswerSendCommand(const String& aCommand) = 0;
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    TestShellProtocolChild() :
-        mChannel(this)
-    {
-    }
-
-    virtual ~TestShellProtocolChild()
-    {
-    }
-
-    bool Open(
-                IPC::Channel* aChannel,
-                MessageLoop* aThread = 0)
-    {
-        return mChannel.Open(aChannel, aThread);
-    }
-
-    void Close()
-    {
-        mChannel.Close();
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        case TestShellProtocol::Msg_SendCommand__ID:
-            {
-                String aCommand;
-
-                if (!(TestShellProtocol::Msg_SendCommand::Read(&(msg), &(aCommand)))) {
-                    return MsgPayloadError;
-                }
-                if (NS_FAILED(AnswerSendCommand(aCommand))) {
-                    return MsgValueError;
-                }
-
-                reply = new TestShellProtocol::Reply_SendCommand();
-                reply->set_reply();
-                return MsgProcessed;
-            }
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-private:
-    Channel mChannel;
-    int mId;
-    int mPeerId;
-    mozilla::ipc::IProtocolManager* mManager;
-};
-
-
-} // namespace ipc
-} // namespace mozilla
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public TestShellProtocolChild
-{
-    virtual nsresult AnswerSendCommand(const String& aCommand);
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-nsresult ActorImpl::AnswerSendCommand(const String& aCommand)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef mozilla_ipc_TestShellProtocolChild_h
deleted file mode 100644
--- a/ipc/testshell/TestShellProtocolParent.h
+++ /dev/null
@@ -1,134 +0,0 @@
-//
-// Automatically generated by ipdlc.
-// Edit at your own risk
-//
-
-#ifndef mozilla_ipc_TestShellProtocolParent_h
-#define mozilla_ipc_TestShellProtocolParent_h
-
-#include "mozilla/ipc/TestShellProtocol.h"
-#include "mozilla/ipc/RPCChannel.h"
-
-namespace mozilla {
-namespace ipc {
-
-
-class /*NS_ABSTRACT_CLASS*/ TestShellProtocolParent :
-    public mozilla::ipc::RPCChannel::Listener
-{
-protected:
-    typedef mozilla::ipc::String String;
-    typedef mozilla::ipc::StringArray StringArray;
-
-
-private:
-    typedef IPC::Message Message;
-    typedef mozilla::ipc::RPCChannel Channel;
-
-public:
-    TestShellProtocolParent() :
-        mChannel(this)
-    {
-    }
-
-    virtual ~TestShellProtocolParent()
-    {
-    }
-
-    bool Open(
-                IPC::Channel* aChannel,
-                MessageLoop* aThread = 0)
-    {
-        return mChannel.Open(aChannel, aThread);
-    }
-
-    void Close()
-    {
-        mChannel.Close();
-    }
-
-    nsresult CallSendCommand(const String& aCommand)
-    {
-        Message __reply;
-        Message* __msg;
-        __msg = new TestShellProtocol::Msg_SendCommand(aCommand);
-        __msg->set_routing_id(MSG_ROUTING_CONTROL);
-        if (!(mChannel.Call(__msg, &(__reply)))) {
-            return NS_ERROR_FAILURE;
-        }
-        if (!(TestShellProtocol::Reply_SendCommand::Read(&(__reply)))) {
-            return NS_ERROR_ILLEGAL_VALUE;
-        }
-        return NS_OK;
-    }
-
-    virtual Result OnMessageReceived(const Message& msg)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnMessageReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-    virtual Result OnCallReceived(
-                const Message& msg,
-                Message*& reply)
-    {
-        switch (msg.type()) {
-        default:
-            {
-                return MsgNotKnown;
-            }
-        }
-    }
-
-private:
-    Channel mChannel;
-    int mId;
-    int mPeerId;
-    mozilla::ipc::IProtocolManager* mManager;
-};
-
-
-} // namespace ipc
-} // namespace mozilla
-#if 0
-
-//-----------------------------------------------------------------------------
-// Skeleton implementation of abstract actor class
-
-// Header file contents
-class ActorImpl :
-    public TestShellProtocolParent
-{
-    ActorImpl();
-    virtual ~ActorImpl();
-};
-
-
-// C++ file contents
-ActorImpl::ActorImpl()
-{
-}
-
-ActorImpl::~ActorImpl()
-{
-}
-
-#endif // if 0
-
-#endif // ifndef mozilla_ipc_TestShellProtocolParent_h
new file mode 100644
--- /dev/null
+++ b/ipc/testshell/ipdl.mk
@@ -0,0 +1,3 @@
+IPDLSRCS = \
+  TestShell.ipdl \
+  $(NULL)
--- a/toolkit/toolkit-makefiles.sh
+++ b/toolkit/toolkit-makefiles.sh
@@ -43,16 +43,21 @@ MAKEFILES_db="
   db/mdb/Makefile
   db/mdb/public/Makefile
   db/mork/Makefile
   db/mork/build/Makefile
   db/mork/src/Makefile
 "
 
 MAKEFILES_dom="
+  ipc/Makefile
+  ipc/chromium/Makefile
+  ipc/glue/Makefile
+  ipc/ipdl/Makefile
+  ipc/testshell/Makefile
   dom/Makefile
   dom/public/coreEvents/Makefile
   dom/interfaces/base/Makefile
   dom/interfaces/canvas/Makefile
   dom/interfaces/core/Makefile
   dom/interfaces/css/Makefile
   dom/interfaces/events/Makefile
   dom/interfaces/geolocation/Makefile
@@ -75,16 +80,18 @@ MAKEFILES_dom="
   dom/src/events/Makefile
   dom/src/jsurl/Makefile
   dom/src/geolocation/Makefile
   dom/src/json/Makefile
   dom/src/offline/Makefile
   dom/src/storage/Makefile
   dom/src/threads/Makefile
   dom/locales/Makefile
+  dom/plugins/Makefile
+  dom/ipc/Makefile
 "
 
 MAKEFILES_editor="
   editor/Makefile
   editor/public/Makefile
   editor/idl/Makefile
   editor/txmgr/Makefile
   editor/txmgr/idl/Makefile
--- a/toolkit/toolkit-tiers.mk
+++ b/toolkit/toolkit-tiers.mk
@@ -71,25 +71,25 @@ tier_external_dirs += modules/libmar
 endif
 
 tier_external_dirs	+= gfx/qcms
 
 #
 # tier "gecko" - core components
 #
 
+ifdef MOZ_IPC
+tier_gecko_dirs += ipc
+endif
+
 tier_gecko_dirs += \
 		js/src/xpconnect \
 		intl/chardet \
 		$(NULL)
 
-ifdef MOZ_IPC
-tier_gecko_dirs += ipc
-endif
-
 ifdef MOZ_ENABLE_GTK2
 ifdef MOZ_X11
 tier_gecko_dirs     += widget/src/gtkxtbin
 endif
 endif
 
 tier_gecko_dirs	+= \
 		modules/libutil \