Chromium Code Reviews| Index: ipc/ipc_channel_proxy.h | 
| =================================================================== | 
| --- ipc/ipc_channel_proxy.h (revision 30973) | 
| +++ ipc/ipc_channel_proxy.h (working copy) | 
| @@ -47,10 +47,7 @@ | 
| class ChannelProxy : public Message::Sender { | 
| public: | 
| - class MessageFilter; | 
| - struct MessageFilterTraits { | 
| - static void Destruct(MessageFilter* filter); | 
| - }; | 
| + struct MessageFilterTraits; | 
| // A class that receives messages on the thread where the IPC channel is | 
| // running. It can choose to prevent the default action for an IPC message. | 
| @@ -95,6 +92,12 @@ | 
| } | 
| }; | 
| + struct MessageFilterTraits { | 
| + static void Destruct(MessageFilter* filter) { | 
| + filter->OnDestruct(); | 
| + } | 
| + }; | 
| + | 
| // Initializes a channel proxy. The channel_id and mode parameters are | 
| // passed directly to the underlying IPC::Channel. The listener is called on | 
| // the thread that creates the ChannelProxy. The filter's OnMessageReceived | 
| @@ -158,7 +161,6 @@ | 
| public: | 
| Context(Channel::Listener* listener, MessageFilter* filter, | 
| MessageLoop* ipc_thread); | 
| - virtual ~Context() { } | 
| void ClearIPCMessageLoop() { ipc_message_loop_ = NULL; } | 
| MessageLoop* ipc_message_loop() const { return ipc_message_loop_; } | 
| const std::string& channel_id() const { return channel_id_; } | 
| @@ -167,6 +169,9 @@ | 
| void OnDispatchMessage(const Message& message); | 
| protected: | 
| + friend class base::RefCountedThreadSafe<Context>; | 
| 
 
M-A Ruel
2009/11/05 20:31:28
protected?
 
jam
2009/11/05 21:52:37
yeah, because SyncContext derives from it.
 
 | 
| + virtual ~Context() { } | 
| + | 
| // IPC::Channel::Listener methods: | 
| virtual void OnMessageReceived(const Message& message); | 
| virtual void OnChannelConnected(int32 peer_pid); | 
| @@ -191,6 +196,7 @@ | 
| private: | 
| friend class ChannelProxy; | 
| friend class SendTask; | 
| + | 
| // Create the Channel | 
| void CreateChannel(const std::string& id, const Channel::Mode& mode); |