summaryrefslogtreecommitdiffstats
path: root/extensions/browser/extension_function.cc
diff options
context:
space:
mode:
authormnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-10 12:06:33 +0000
committermnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-10 12:06:33 +0000
commit64ffefaba14b83143c1b159d61df170e72ed50f8 (patch)
tree517ba1206d2dafcc2a07434a5046fda5cabc308f /extensions/browser/extension_function.cc
parentc9a1784876eaf8b9091079632fdb6890c4eaa2a4 (diff)
downloadchromium_src-64ffefaba14b83143c1b159d61df170e72ed50f8.zip
chromium_src-64ffefaba14b83143c1b159d61df170e72ed50f8.tar.gz
chromium_src-64ffefaba14b83143c1b159d61df170e72ed50f8.tar.bz2
Re-land "Pass RenderFrameHost to WebContentObservers' message handlers"
This patch enables WebContentsObserver::OnMessageReceived to receive a reference to RenderFrameHost that received the message. This allows passing of JavaBridgeDispatcherHostManager ownership from WebContentsImpl to ContentViewCore and removing of some redundant initialization code in JavaBridgeDispatcherHostManager, fixing a long-standing TODO. This patch also includes a fix for "Search Google for this image" discovered shorly after the original patch has been landed. BUG=371296 TBR=jam@chromium.org,benm@chromium.org,yoz@chromium.org,bauerb@chromium.org,fsamuel@chromium.org Review URL: https://codereview.chromium.org/275873002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/browser/extension_function.cc')
-rw-r--r--extensions/browser/extension_function.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/extensions/browser/extension_function.cc b/extensions/browser/extension_function.cc
index ff7d544..f2cc79d 100644
--- a/extensions/browser/extension_function.cc
+++ b/extensions/browser/extension_function.cc
@@ -130,6 +130,16 @@ class UIThreadExtensionFunction::RenderHostTracker
function_->SetRenderFrameHost(NULL);
}
+ virtual bool OnMessageReceived(
+ const IPC::Message& message,
+ content::RenderFrameHost* render_frame_host) OVERRIDE {
+ DCHECK(render_frame_host);
+ if (render_frame_host == function_->render_frame_host())
+ return function_->OnMessageReceived(message);
+ else
+ return false;
+ }
+
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE {
return function_->OnMessageReceived(message);
}