diff options
author | jdduke@chromium.org <jdduke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-26 05:18:04 +0000 |
---|---|---|
committer | jdduke@chromium.org <jdduke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-26 05:18:04 +0000 |
commit | b51352abcdd42eba8690394de4f30bcc1aa58ce7 (patch) | |
tree | ffa8026d30d1169711a62b6cfba88cd0a93c0e03 /android_webview | |
parent | 5c66969c27af18993769e48d023e6614e3e02d66 (diff) | |
download | chromium_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.cc | 3 |
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() { |