Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1360)

Unified Diff: content/public/browser/browser_message_filter.h

Issue 142923005: Allow MessageFilters to restrict listening to specific message classes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ad1f0693790b2abb0177ffe92433b49b9861fada..5505c1c7f52c12217603108c3a8102ccc749a67c 100644
--- a/content/public/browser/browser_message_filter.h
+++ b/content/public/browser/browser_message_filter.h
@@ -29,7 +29,9 @@ class CONTENT_EXPORT BrowserMessageFilter
BrowserMessageFilter, BrowserMessageFilterTraits>,
public IPC::Sender {
public:
- BrowserMessageFilter();
+ explicit BrowserMessageFilter(uint32 message_class_to_filter);
+ BrowserMessageFilter(const uint32* message_classes_to_filter,
+ size_t num_message_classes_to_filter);
// These match the corresponding IPC::ChannelProxy::MessageFilter methods and
// are always called on the IO thread.
@@ -91,6 +93,10 @@ class CONTENT_EXPORT BrowserMessageFilter
// Can be called on any thread.
virtual void BadMessageReceived();
+ const std::vector<uint32>& message_classes_to_filter() const {
+ return message_classes_to_filter_;
+ }
+
protected:
virtual ~BrowserMessageFilter();
@@ -117,6 +123,8 @@ class CONTENT_EXPORT BrowserMessageFilter
IPC::Channel* channel_;
base::ProcessId peer_pid_;
+ std::vector<uint32> message_classes_to_filter_;
+
#if defined(OS_WIN)
base::Lock peer_handle_lock_;
base::ProcessHandle peer_handle_;
« no previous file with comments | « content/browser/worker_host/worker_message_filter.cc ('k') | content/public/browser/browser_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698