Index: content/renderer/browser_plugin/browser_plugin_placeholder.cc |
diff --git a/content/renderer/browser_plugin/browser_plugin_placeholder.cc b/content/renderer/browser_plugin/browser_plugin_placeholder.cc |
index 21ac8ee27680cfc793af8f08d856ce5f048d4ee2..64ed09a62f9d8b28306d4d147805fd39ecee725e 100644 |
--- a/content/renderer/browser_plugin/browser_plugin_placeholder.cc |
+++ b/content/renderer/browser_plugin/browser_plugin_placeholder.cc |
@@ -12,8 +12,9 @@ |
#include "base/string_piece.h" |
#include "base/string_util.h" |
#include "base/values.h" |
-#include "content/common/view_messages.h" |
+#include "content/common/browser_plugin_messages.h" |
#include "content/public/renderer/render_view.h" |
+#include "content/renderer/render_view_impl.h" |
#include "ipc/ipc_channel_handle.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebPlugin.h" |
@@ -67,8 +68,8 @@ BrowserPluginPlaceholder::BrowserPluginPlaceholder( |
// By default we navigate to google.com |
GetPluginParameters(0, 0, "http://www.google.com/"); |
- // TODO(fsamuel): Request a browser plugin instance from the |
- // browser process. |
+ render_view->Send(new BrowserPluginHostMsg_OpenChannel( |
+ render_view->GetRoutingID(), GetID(), frame->identifier(), src_, size_)); |
} |
BrowserPluginPlaceholder::~BrowserPluginPlaceholder() { |
@@ -120,10 +121,12 @@ void BrowserPluginPlaceholder::GetPluginParameters( |
void BrowserPluginPlaceholder::GuestReady( |
base::ProcessHandle process_handle, |
const IPC::ChannelHandle& channel_handle) { |
- // TODO(fsamuel): Once the guest renderer is ready, |
- // it will inform the host renderer and the BrowserPluginPlaceholder |
- // can swap itself out with the guest. |
- NOTIMPLEMENTED(); |
+ WebKit::WebPlugin* new_plugin = |
+ static_cast<RenderViewImpl*>( |
piman
2012/04/06 23:19:26
This cast makes me nervous.
Either expose CreateBr
Fady Samuel
2012/04/11 22:06:34
Done. BrowserPluginPlaceholder now takes in a Rend
|
+ render_view())->CreateBrowserPlugin(process_handle, |
+ channel_handle, |
+ plugin_params()); |
+ LoadGuest(new_plugin); |
} |
void BrowserPluginPlaceholder::LoadGuest(WebKit::WebPlugin* new_plugin) { |