Index: content/browser/renderer_host/render_widget_helper.h |
=================================================================== |
--- content/browser/renderer_host/render_widget_helper.h (revision 90090) |
+++ content/browser/renderer_host/render_widget_helper.h (working copy) |
@@ -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 @@ |
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 @@ |
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 @@ |
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. |