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 3ea582d36611122c458883219a5397afac6cfbd1..9a5a340ad03ff49d32d4d8688f810d7b9b8987b7 100644 |
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc |
@@ -513,7 +513,7 @@ RenderWidgetHostViewGtk::RenderWidgetHostViewGtk(RenderWidgetHost* widget_host) |
destroy_handler_id_(0), |
dragged_at_horizontal_edge_(0), |
dragged_at_vertical_edge_(0), |
- accelerated_surface_acquired_(false), |
+ compositing_surface_(gfx::kNullPluginWindow), |
last_mouse_down_(NULL) { |
host_->set_view(this); |
} |
@@ -770,11 +770,9 @@ void RenderWidgetHostViewGtk::RenderViewGone(base::TerminationStatus status, |
} |
void RenderWidgetHostViewGtk::Destroy() { |
- if (accelerated_surface_acquired_) { |
+ if (compositing_surface_ != gfx::kNullPluginWindow) { |
GtkNativeViewManager* manager = GtkNativeViewManager::GetInstance(); |
- gfx::NativeViewId view_id = gfx::IdFromNativeView(GetNativeView()); |
- gfx::PluginWindowHandle surface = manager->GetXIDForId(&surface, view_id); |
- manager->ReleasePermanentXID(surface); |
+ manager->ReleasePermanentXID(compositing_surface_); |
} |
if (do_x_grab_) { |
@@ -1128,24 +1126,16 @@ 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()); |
+gfx::PluginWindowHandle RenderWidgetHostViewGtk::GetCompositingSurface() { |
+ if (compositing_surface_ == gfx::kNullPluginWindow) { |
+ GtkNativeViewManager* manager = GtkNativeViewManager::GetInstance(); |
+ gfx::NativeViewId view_id = gfx::IdFromNativeView(GetNativeView()); |
- if (!manager->GetPermanentXIDForId(&surface, view_id)) { |
- DLOG(ERROR) << "Can't find XID for view id " << view_id; |
- } else { |
- accelerated_surface_acquired_ = true; |
+ if (!manager->GetPermanentXIDForId(&compositing_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); |
- accelerated_surface_acquired_ = false; |
+ return compositing_surface_; |
} |
void RenderWidgetHostViewGtk::ForwardKeyboardEvent( |