Add code to support 2-way communication between extensions and renderers. The code is almost fully symmetrical, except that right now a channel can only be opened to an extension (by ID). It should be trivial to open a channel to a tab, once we have a solid tab API.
Review URL: http://codereview.chromium.org/56037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13057 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/common/ipc_message_utils.h b/chrome/common/ipc_message_utils.h
index ac3cbef..6e82d40 100644
--- a/chrome/common/ipc_message_utils.h
+++ b/chrome/common/ipc_message_utils.h
@@ -1247,9 +1247,12 @@
LogData* data);
// Used for synchronous messages.
-template <class SendParam, class ReplyParam>
+template <class SendParamType, class ReplyParamType>
class MessageWithReply : public SyncMessage {
public:
+ typedef SendParamType SendParam;
+ typedef ReplyParamType ReplyParam;
+
MessageWithReply(int32 routing_id, uint16 type,
const SendParam& send, const ReplyParam& reply)
: SyncMessage(routing_id, type, PRIORITY_NORMAL,