summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_channel_proxy.h
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-28 02:12:00 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-28 02:12:00 +0000
commitf729d15a933e28cfc000953b75535acc90c3aa5e (patch)
tree5c889fda659777b82a634fbf7320461148237d43 /ipc/ipc_channel_proxy.h
parentef40efe920460fe783c07b16bbbcd3e891f4608a (diff)
downloadchromium_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.h11
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);