| 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 {
|
|
|