diff options
author | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-28 02:12:00 +0000 |
---|---|---|
committer | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-28 02:12:00 +0000 |
commit | f729d15a933e28cfc000953b75535acc90c3aa5e (patch) | |
tree | 5c889fda659777b82a634fbf7320461148237d43 /ipc/ipc_channel_proxy.h | |
parent | ef40efe920460fe783c07b16bbbcd3e891f4608a (diff) | |
download | chromium_src-f729d15a933e28cfc000953b75535acc90c3aa5e.zip chromium_src-f729d15a933e28cfc000953b75535acc90c3aa5e.tar.gz chromium_src-f729d15a933e28cfc000953b75535acc90c3aa5e.tar.bz2 |
RefCounted types should not have public destructors, ipc/ edition
BUG=123295
TEST=none
Review URL: http://codereview.chromium.org/10008108
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134421 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_channel_proxy.h')
-rw-r--r-- | ipc/ipc_channel_proxy.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ipc/ipc_channel_proxy.h b/ipc/ipc_channel_proxy.h index 5cbe664..8c0031a 100644 --- a/ipc/ipc_channel_proxy.h +++ b/ipc/ipc_channel_proxy.h @@ -58,7 +58,6 @@ class IPC_EXPORT ChannelProxy : public Message::Sender { : public base::RefCountedThreadSafe<MessageFilter, MessageFilterTraits> { public: MessageFilter(); - virtual ~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 @@ -90,6 +89,13 @@ class IPC_EXPORT ChannelProxy : public Message::Sender { // derived classes the option of controlling which thread they're deleted // on etc. virtual void OnDestruct() const; + + protected: + virtual ~MessageFilter(); + + private: + friend class base::RefCountedThreadSafe<MessageFilter, + MessageFilterTraits>; }; struct MessageFilterTraits { @@ -98,6 +104,7 @@ class IPC_EXPORT ChannelProxy : public Message::Sender { } }; + // Interface for a filter to be imposed on outgoing messages which can // re-write the message. Used mainly for testing. class OutgoingMessageFilter { @@ -233,7 +240,7 @@ class IPC_EXPORT ChannelProxy : public Message::Sender { const Channel::Mode& mode); // Methods called on the IO thread. - void OnSendMessage(Message* message_ptr); + void OnSendMessage(scoped_ptr<Message> message_ptr); void OnAddFilter(); void OnRemoveFilter(MessageFilter* filter); |