diff options
Diffstat (limited to 'content/browser/renderer_host/render_widget_helper.h')
-rw-r--r-- | content/browser/renderer_host/render_widget_helper.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/content/browser/renderer_host/render_widget_helper.h b/content/browser/renderer_host/render_widget_helper.h index 0c7f695..cab0947 100644 --- a/content/browser/renderer_host/render_widget_helper.h +++ b/content/browser/renderer_host/render_widget_helper.h @@ -16,6 +16,7 @@ #include "base/synchronization/waitable_event.h" #include "content/common/window_container_type.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" +#include "ui/gfx/native_widget_types.h" #include "ui/gfx/surface/transport_dib.h" namespace IPC { @@ -117,6 +118,10 @@ class RenderWidgetHelper TransportDIB* MapTransportDIB(TransportDIB::Id dib_id); #endif + // Set a mapping from a RenderWidgetHost to a compositing surface. Pass a null + // handle to remove the mapping. + void SetCompositingSurface(int render_widget_id, + gfx::PluginWindowHandle compositing_surface); // IO THREAD ONLY ----------------------------------------------------------- @@ -145,6 +150,9 @@ class RenderWidgetHelper void FreeTransportDIB(TransportDIB::Id dib_id); #endif + // Lookup the compositing surface corresponding to a widget ID. + gfx::PluginWindowHandle LookupCompositingSurface(int render_widget_id); + private: // A class used to proxy a paint message. PaintMsgProxy objects are created // on the IO thread and destroyed on the UI thread. @@ -200,6 +208,11 @@ class RenderWidgetHelper UpdateMsgProxyMap pending_paints_; base::Lock pending_paints_lock_; + // Maps from view ID to compositing surface. + typedef std::map<int, gfx::PluginWindowHandle> ViewCompositingSurfaceMap; + ViewCompositingSurfaceMap view_compositing_surface_map_; + base::Lock view_compositing_surface_map_lock_; + int render_process_id_; // Event used to implement WaitForUpdateMsg. |