Index: chrome/browser/plugin_process_host.cc |
diff --git a/chrome/browser/plugin_process_host.cc b/chrome/browser/plugin_process_host.cc |
index 55885bd3d2d375311b573f457065f8d7f5464723..062c8ef4a41c05c400715a1a44459fdfeee5391f 100644 |
--- a/chrome/browser/plugin_process_host.cc |
+++ b/chrome/browser/plugin_process_host.cc |
@@ -20,6 +20,7 @@ |
#include "base/file_path.h" |
#include "base/file_util.h" |
#include "base/file_version_info.h" |
+#include "base/gfx/native_widget_types.h" |
#include "base/logging.h" |
#include "base/path_service.h" |
#include "base/process_util.h" |
@@ -58,6 +59,10 @@ |
#include "chrome/common/ipc_channel_posix.h" |
#endif |
+#if defined(OS_LINUX) |
+#include "base/gfx/gtk_native_view_id_manager.h" |
+#endif |
+ |
static const char kDefaultPluginFinderURL[] = |
"http://dl.google.com/chrome/plugins/plugins2.xml"; |
@@ -438,6 +443,10 @@ void PluginProcessHost::OnMessageReceived(const IPC::Message& msg) { |
OnPluginWindowDestroyed) |
IPC_MESSAGE_HANDLER(PluginProcessHostMsg_DownloadUrl, OnDownloadUrl) |
#endif |
+#if defined(OS_LINUX) |
+ IPC_MESSAGE_HANDLER(PluginProcessHostMsg_MapNativeViewId, |
+ OnMapNativeViewId) |
+#endif |
IPC_MESSAGE_UNHANDLED_ERROR() |
IPC_END_MESSAGE_MAP() |
} |
@@ -579,3 +588,11 @@ void PluginProcessHost::OnPluginMessage( |
chrome_plugin->functions().on_message(data_ptr, data_len); |
} |
} |
+ |
+#if defined(OS_LINUX) |
+void PluginProcessHost::OnMapNativeViewId(gfx::NativeViewId id, |
+ gfx::PluginWindowHandle* output) { |
+ *output = 0; |
+ Singleton<GtkNativeViewManager>()->GetXIDForId(output, id); |
+} |
+#endif // defined(OS_LINUX) |