diff options
author | mnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-10 12:06:33 +0000 |
---|---|---|
committer | mnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-10 12:06:33 +0000 |
commit | 64ffefaba14b83143c1b159d61df170e72ed50f8 (patch) | |
tree | 517ba1206d2dafcc2a07434a5046fda5cabc308f /extensions/browser/extension_function.cc | |
parent | c9a1784876eaf8b9091079632fdb6890c4eaa2a4 (diff) | |
download | chromium_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.cc | 10 |
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); } |