diff options
author | fsamuel <fsamuel@chromium.org> | 2014-12-18 11:21:33 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-18 19:21:58 +0000 |
commit | 6c1dfeb5606544bb37a3ffe9ba49aa1c6a973fed (patch) | |
tree | 154dafd56b220c18d9522e45d5f8c6eeef919434 /extensions/shell/renderer | |
parent | ce0415e9693c1a520c418c93b47bb5dcce8cce37 (diff) | |
download | chromium_src-6c1dfeb5606544bb37a3ffe9ba49aa1c6a973fed.zip chromium_src-6c1dfeb5606544bb37a3ffe9ba49aa1c6a973fed.tar.gz chromium_src-6c1dfeb5606544bb37a3ffe9ba49aa1c6a973fed.tar.bz2 |
Fix message routing for BrowserPlugin in iframe
Message routing in the renderer to a particular BrowserPlugin happens through BrowserPluginManager.
Previously, there was a BrowserPluginManager per RenderView that was created lazily. This CL moves BrowserPluginManager to be created once for the RenderThread. This allows correct routing to BrowserPlugins regardless of whether they live on the main page or inside an iframe.
BUG=442033
TBR=kenrb@chromium.org for trivial change to extension_messages.h
Review URL: https://codereview.chromium.org/801173002
Cr-Commit-Position: refs/heads/master@{#309053}
Diffstat (limited to 'extensions/shell/renderer')
-rw-r--r-- | extensions/shell/renderer/shell_content_renderer_client.cc | 6 | ||||
-rw-r--r-- | extensions/shell/renderer/shell_content_renderer_client.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/extensions/shell/renderer/shell_content_renderer_client.cc b/extensions/shell/renderer/shell_content_renderer_client.cc index 2d21214..1085697 100644 --- a/extensions/shell/renderer/shell_content_renderer_client.cc +++ b/extensions/shell/renderer/shell_content_renderer_client.cc @@ -14,6 +14,7 @@ #include "extensions/renderer/dispatcher.h" #include "extensions/renderer/extension_helper.h" #include "extensions/renderer/guest_view/extensions_guest_view_container.h" +#include "extensions/renderer/guest_view/guest_view_container.h" #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h" #include "extensions/shell/common/shell_extensions_client.h" #include "extensions/shell/renderer/shell_extensions_renderer_client.h" @@ -131,6 +132,11 @@ blink::WebPlugin* ShellContentRendererClient::CreatePluginReplacement( return NULL; } +bool ShellContentRendererClient::ShouldForwardToGuestContainer( + const IPC::Message& msg) { + return GuestViewContainer::HandlesMessage(msg); +} + bool ShellContentRendererClient::WillSendRequest( blink::WebFrame* frame, ui::PageTransition transition_type, diff --git a/extensions/shell/renderer/shell_content_renderer_client.h b/extensions/shell/renderer/shell_content_renderer_client.h index b86fa0e..c66dc0a 100644 --- a/extensions/shell/renderer/shell_content_renderer_client.h +++ b/extensions/shell/renderer/shell_content_renderer_client.h @@ -35,6 +35,7 @@ class ShellContentRendererClient : public content::ContentRendererClient { blink::WebPlugin* CreatePluginReplacement( content::RenderFrame* render_frame, const base::FilePath& plugin_path) override; + bool ShouldForwardToGuestContainer(const IPC::Message& msg) override; bool WillSendRequest(blink::WebFrame* frame, ui::PageTransition transition_type, const GURL& url, |