Index: chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
diff --git a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
index 2526816da26ed403a6d282186dc29ba6bb793dec..2129073b32b76a460f5614e843a57a9b57e4d7e2 100644 |
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
@@ -38,6 +38,7 @@ |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/x/x11_util.h" |
#include "ui/gfx/gtk_preserve_window.h" |
+#include "ui/gfx/gtk_native_view_id_manager.h" |
#include "webkit/glue/webaccessibility.h" |
#include "webkit/glue/webcursor_gtk_data.h" |
#include "webkit/plugins/npapi/webplugin.h" |
@@ -1088,6 +1089,23 @@ void RenderWidgetHostViewGtk::AcceleratedCompositingActivated(bool activated) { |
gtk_preserve_window_delegate_resize(widget, activated); |
} |
+gfx::PluginWindowHandle RenderWidgetHostViewGtk::AcquireCompositingSurface() { |
+ GtkNativeViewManager* manager = GtkNativeViewManager::GetInstance(); |
+ gfx::PluginWindowHandle surface = gfx::kNullPluginWindow; |
+ gfx::NativeViewId view_id = gfx::IdFromNativeView(GetNativeView()); |
+ |
+ if (!manager->GetPermanentXIDForId(&surface, view_id)) { |
+ DLOG(ERROR) << "Can't find XID for view id " << view_id; |
+ } |
+ return surface; |
+} |
+ |
+void RenderWidgetHostViewGtk::ReleaseCompositingSurface( |
+ gfx::PluginWindowHandle surface) { |
+ GtkNativeViewManager* manager = GtkNativeViewManager::GetInstance(); |
+ manager->ReleasePermanentXID(surface); |
+} |
+ |
void RenderWidgetHostViewGtk::ForwardKeyboardEvent( |
const NativeWebKeyboardEvent& event) { |
if (!host_) |