Index: chrome/plugin/webplugin_proxy.cc |
diff --git a/chrome/plugin/webplugin_proxy.cc b/chrome/plugin/webplugin_proxy.cc |
index 57c07fc16fba3d32f35641649479fd8f86b03162..3d6a6ac7b77bc29c6bc0778bbf723b71d6640572 100644 |
--- a/chrome/plugin/webplugin_proxy.cc |
+++ b/chrome/plugin/webplugin_proxy.cc |
@@ -56,12 +56,16 @@ bool WebPluginProxy::Send(IPC::Message* msg) { |
return channel_->Send(msg); |
} |
-void WebPluginProxy::SetWindow(gfx::PluginWindowHandle window) { |
-#if defined(OS_WIN) |
- Send(new PluginHostMsg_SetWindow(route_id_, gfx::IdFromNativeView(window))); |
-#else |
- NOTIMPLEMENTED(); |
+#if defined(OS_LINUX) |
+gfx::PluginWindowHandle WebPluginProxy::CreatePluginContainer() { |
+ gfx::PluginWindowHandle container; |
+ Send(new PluginHostMsg_CreatePluginContainer(route_id_, &container)); |
+ return container; |
+} |
#endif |
+ |
+void WebPluginProxy::SetWindow(gfx::PluginWindowHandle window) { |
+ Send(new PluginHostMsg_SetWindow(route_id_, window)); |
} |
void WebPluginProxy::WillDestroyWindow(gfx::PluginWindowHandle window) { |
@@ -69,6 +73,8 @@ void WebPluginProxy::WillDestroyWindow(gfx::PluginWindowHandle window) { |
PluginThread::current()->Send( |
new PluginProcessHostMsg_PluginWindowDestroyed( |
window, ::GetParent(window))); |
+#elif defined(OS_LINUX) |
+ Send(new PluginHostMsg_DestroyPluginContainer(route_id_, window)); |
#else |
NOTIMPLEMENTED(); |
#endif |
@@ -275,7 +281,6 @@ void WebPluginProxy::HandleURLRequest(const char *method, |
if (!target && (0 == base::strcasecmp(method, "GET"))) { |
// Please refer to https://bugzilla.mozilla.org/show_bug.cgi?id=366082 |
// for more details on this. |
-#if defined(OS_WIN) |
if (delegate_->GetQuirks() & |
WebPluginDelegate::PLUGIN_QUIRK_BLOCK_NONSTANDARD_GETURL_REQUESTS) { |
GURL request_url(url); |
@@ -285,10 +290,6 @@ void WebPluginProxy::HandleURLRequest(const char *method, |
return; |
} |
} |
-#else |
- // TODO(port): we need a GetQuirks() on our delegate impl. |
- NOTIMPLEMENTED(); |
-#endif |
} |
PluginHostMsg_URLRequest_Params params; |
@@ -402,7 +403,6 @@ void WebPluginProxy::UpdateGeometry( |
const gfx::Rect& clip_rect, |
const TransportDIB::Id& windowless_buffer_id, |
const TransportDIB::Id& background_buffer_id) { |
-#if defined(OS_WIN) |
// TODO(port): this isn't correct usage of a TransportDIB; for now, |
// the caller temporarly just stuffs the handle into the HANDLE |
// field of the TransportDIB::Id so it should behave like the older |
@@ -410,8 +410,9 @@ void WebPluginProxy::UpdateGeometry( |
gfx::Rect old = delegate_->GetRect(); |
gfx::Rect old_clip_rect = delegate_->GetClipRect(); |
- bool moved = old.x() != window_rect.x() || old.y() != window_rect.y(); |
delegate_->UpdateGeometry(window_rect, clip_rect); |
+#if defined(OS_WIN) |
+ bool moved = old.x() != window_rect.x() || old.y() != window_rect.y(); |
if (windowless_buffer_id.handle) { |
// The plugin's rect changed, so now we have a new buffer to draw into. |
SetWindowlessBuffer(windowless_buffer_id.handle, |