Chromium Code Reviews| Index: ipc/ipc_channel_proxy.h |
| diff --git a/ipc/ipc_channel_proxy.h b/ipc/ipc_channel_proxy.h |
| index b0247c4d3c9a42fb8924c80e59059e6c258921a8..e0655033d11e68220d24cb34ae7c2644fa4005d7 100644 |
| --- a/ipc/ipc_channel_proxy.h |
| +++ b/ipc/ipc_channel_proxy.h |
| @@ -14,6 +14,10 @@ |
| #include "ipc/ipc_channel.h" |
| #include "ipc/ipc_channel_handle.h" |
| #include "ipc/ipc_listener.h" |
| +#include "ipc/ipc_message_filter.h" |
| +// TODO(dmichael): Remove this include of ipc_message_filter.h; move dependents |
| +// to including ipc_message_filter.h directly. |
| +// See crbug.com/364241 |
| #include "ipc/ipc_sender.h" |
| namespace base { |
| @@ -22,6 +26,8 @@ class SingleThreadTaskRunner; |
| namespace IPC { |
| +class MessageFilter; |
| +class MessageFilterRouter; |
| class SendCallbackHelper; |
| //----------------------------------------------------------------------------- |
| @@ -54,53 +60,9 @@ class SendCallbackHelper; |
| // |
| class IPC_EXPORT ChannelProxy : public Sender, public base::NonThreadSafe { |
| public: |
| - |
| - // 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. |
| - class IPC_EXPORT MessageFilter |
| - : public base::RefCountedThreadSafe<MessageFilter> { |
| - public: |
| - MessageFilter(); |
| - |
| - // Called on the background thread to provide the filter with access to the |
| - // channel. Called when the IPC channel is initialized or when AddFilter |
| - // is called if the channel is already initialized. |
| - virtual void OnFilterAdded(Channel* channel); |
| - |
| - // Called on the background thread when the filter has been removed from |
| - // the ChannelProxy and when the Channel is closing. After a filter is |
| - // removed, it will not be called again. |
| - virtual void OnFilterRemoved(); |
| - |
| - // Called to inform the filter that the IPC channel is connected and we |
| - // have received the internal Hello message from the peer. |
| - virtual void OnChannelConnected(int32 peer_pid); |
| - |
| - // Called when there is an error on the channel, typically that the channel |
| - // has been closed. |
| - virtual void OnChannelError(); |
| - |
| - // Called to inform the filter that the IPC channel will be destroyed. |
| - // OnFilterRemoved is called immediately after this. |
| - virtual void OnChannelClosing(); |
| - |
| - // Return true to indicate that the message was handled, or false to let |
| - // the message be handled in the default way. |
| - virtual bool OnMessageReceived(const Message& message); |
| - |
| - // Called to query the Message classes supported by the filter. Return |
| - // false to indicate that all message types should reach the filter, or true |
| - // if the resulting contents of |supported_message_classes| may be used to |
| - // selectively offer messages of a particular class to the filter. |
| - virtual bool GetSupportedMessageClasses( |
| - std::vector<uint32>* supported_message_classes) const; |
| - |
| - protected: |
| - virtual ~MessageFilter(); |
| - |
| - private: |
| - friend class base::RefCountedThreadSafe<MessageFilter>; |
| - }; |
| + // This typedef is for backwards compatibility, since the MessageFilter class |
| + // used to be defined here. See crbug.com/364241 |
| + typedef IPC::MessageFilter MessageFilter; |
|
jam
2014/04/22 17:14:27
i see only 56 files matching this, why not do it i
dmichael (off chromium)
2014/04/23 19:42:31
Just to make the review easier and make sure the m
|
| // Initializes a channel proxy. The channel_handle and mode parameters are |
| // passed directly to the underlying IPC::Channel. The listener is called on |
| @@ -128,7 +90,7 @@ class IPC_EXPORT ChannelProxy : public Sender, public base::NonThreadSafe { |
| // background thread processes the command to close the channel. It is ok to |
| // call this method multiple times. Redundant calls are ignored. |
| // |
| - // WARNING: The MessageFilter object held by the ChannelProxy is also |
| + // WARNING: MessageFilter objects held by the ChannelProxy is also |
| // released asynchronously, and it may in fact have its final reference |
| // released on the background thread. The caller should be careful to deal |
| // with / allow for this possibility. |
| @@ -243,7 +205,6 @@ class IPC_EXPORT ChannelProxy : public Sender, public base::NonThreadSafe { |
| // Routes a given message to a proper subset of |filters_|, depending |
| // on which message classes a filter might support. |
| - class MessageFilterRouter; |
| scoped_ptr<MessageFilterRouter> message_filter_router_; |
| // Holds filters between the AddFilter call on the listerner thread and the |