summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authorjdduke@chromium.org <jdduke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-26 05:18:04 +0000
committerjdduke@chromium.org <jdduke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-26 05:18:04 +0000
commitb51352abcdd42eba8690394de4f30bcc1aa58ce7 (patch)
treeffa8026d30d1169711a62b6cfba88cd0a93c0e03 /android_webview
parent5c66969c27af18993769e48d023e6614e3e02d66 (diff)
downloadchromium_src-b51352abcdd42eba8690394de4f30bcc1aa58ce7.zip
chromium_src-b51352abcdd42eba8690394de4f30bcc1aa58ce7.tar.gz
chromium_src-b51352abcdd42eba8690394de4f30bcc1aa58ce7.tar.bz2
Allow MessageFilters to restrict listening to specific message classes
ChannelProxy currently offers messages to all member MessageFilters. It turns out that a good portion of the most common message types will never be filtered, making the O(N) filter walk an unnecessary affair. To prevent this, allow MessageFilters to indicate which (if any) subset of message classes they may filter, allowing the ChannelProxy to refine the list of filters that are offered a particular message. This saves ~35us per message received on the browser IO thread for a typical Android device. Relanding with a few more guards for MessageFilter removal, access and message class subscription. BUG=340881 TBR=asargent@chromium.org Review URL: https://codereview.chromium.org/142923005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253361 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/browser/aw_content_browser_client.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
index 0a5ed1e..dcca91d 100644
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -68,7 +68,8 @@ private:
};
AwContentsMessageFilter::AwContentsMessageFilter(int process_id)
- : process_id_(process_id) {
+ : BrowserMessageFilter(AndroidWebViewMsgStart),
+ process_id_(process_id) {
}
AwContentsMessageFilter::~AwContentsMessageFilter() {