Index: content/public/browser/browser_message_filter.h |
diff --git a/content/public/browser/browser_message_filter.h b/content/public/browser/browser_message_filter.h |
index f1334b941c0c7779692a527799eaa5b97df4c3f8..a04ef95dc9cdb6e5f3f2043731576600daed7df8 100644 |
--- a/content/public/browser/browser_message_filter.h |
+++ b/content/public/browser/browser_message_filter.h |
@@ -24,6 +24,7 @@ class MessageFilter; |
} |
namespace content { |
+class BrowserMessageFilterPeer; |
struct BrowserMessageFilterTraits; |
// Base class for message filters in the browser process. You can receive and |
@@ -39,10 +40,10 @@ class CONTENT_EXPORT BrowserMessageFilter |
// These match the corresponding IPC::MessageFilter methods and are always |
// called on the IO thread. |
- virtual void OnFilterAdded(IPC::Channel* channel) {} |
+ virtual void OnFilterAdded(IPC::Sender* sender) {} |
virtual void OnFilterRemoved() {} |
- virtual void OnChannelClosing() {} |
- virtual void OnChannelConnected(int32 peer_pid) {} |
+ virtual void OnSenderClosing() {} |
+ virtual void OnSenderConnected() {} |
// Called when the message filter is about to be deleted. This gives |
// derived classes the option of controlling which thread they're deleted |
@@ -77,15 +78,15 @@ class CONTENT_EXPORT BrowserMessageFilter |
// your function will be called on the requested thread. |
virtual bool OnMessageReceived(const IPC::Message& message) = 0; |
- // Can be called on any thread, after OnChannelConnected is called. |
+ // Can be called on any thread, after OnSenderConnected is called. |
base::ProcessHandle PeerHandle(); |
- // Can be called on any thread, after OnChannelConnected is called. |
- base::ProcessId peer_pid() const { return peer_pid_; } |
+ // Can be called on any thread, after OnSenderConnected is called. |
+ base::ProcessId peer_pid() const; |
- void set_peer_pid_for_testing(base::ProcessId peer_pid) { |
- peer_pid_ = peer_pid; |
- } |
+ // Tells the peer process of the host. |
+ void OnFilterAddedToHost(BrowserMessageFilterPeer* peer); |
+ void OnFilterRemovedFromHost(); |
// Checks that the given message can be dispatched on the UI thread, depending |
// on the platform. If not, returns false and an error ot the sender. |
@@ -123,15 +124,10 @@ class CONTENT_EXPORT BrowserMessageFilter |
// child class does in its OnDestruct method. |
Internal* internal_; |
- IPC::Channel* channel_; |
- base::ProcessId peer_pid_; |
+ IPC::Sender* sender_; |
+ BrowserMessageFilterPeer* peer_; |
std::vector<uint32> message_classes_to_filter_; |
- |
-#if defined(OS_WIN) |
- base::Lock peer_handle_lock_; |
- base::ProcessHandle peer_handle_; |
-#endif |
}; |
struct BrowserMessageFilterTraits { |