| Index: chrome/browser/renderer_host/accelerated_surface_container_manager_mac.h
|
| ===================================================================
|
| --- chrome/browser/renderer_host/accelerated_surface_container_manager_mac.h (revision 54820)
|
| +++ chrome/browser/renderer_host/accelerated_surface_container_manager_mac.h (working copy)
|
| @@ -28,11 +28,17 @@
|
|
|
| // Allocates a new "fake" PluginWindowHandle, which is used as the
|
| // key for the other operations.
|
| - gfx::PluginWindowHandle AllocateFakePluginWindowHandle(bool opaque);
|
| + gfx::PluginWindowHandle AllocateFakePluginWindowHandle(bool opaque,
|
| + bool root);
|
|
|
| // Destroys a fake PluginWindowHandle and associated storage.
|
| void DestroyFakePluginWindowHandle(gfx::PluginWindowHandle id);
|
|
|
| + // Indicates whether a "root" PluginWindowHandle has been allocated,
|
| + // which means that we are using accelerated compositing and should
|
| + // short-circuit the normal drawing process.
|
| + bool HasRootContainer();
|
| +
|
| // Sets the size and backing store of the plugin instance. There are two
|
| // versions: the IOSurface version is used on systems where the IOSurface
|
| // API is supported (Mac OS X 10.6 and later); the TransportDIB is used on
|
| @@ -52,7 +58,8 @@
|
|
|
| // Draws all of the managed plugin containers into the given OpenGL
|
| // context, which must already be current.
|
| - void Draw(CGLContextObj context);
|
| + void Draw(CGLContextObj context,
|
| + bool draw_root_container);
|
|
|
| // Causes the next Draw call on each container to trigger a texture upload.
|
| // Should be called any time the drawing context has changed.
|
| @@ -73,6 +80,17 @@
|
| PluginWindowToContainerMap;
|
| PluginWindowToContainerMap plugin_window_to_container_map_;
|
|
|
| + // The "root" container, which is only used to draw the output of
|
| + // the accelerated compositor if it is active. Currently,
|
| + // accelerated plugins (Core Animation and Pepper 3D) are drawn on
|
| + // top of the page's contents rather than transformed and composited
|
| + // with the rest of the page. At some point we would like them to be
|
| + // treated uniformly with other page elements; when this is done,
|
| + // the separate treatment of the root container can go away because
|
| + // there will only be one container active when the accelerated
|
| + // compositor is active.
|
| + AcceleratedSurfaceContainerMac* root_container_;
|
| +
|
| // A list of OpenGL textures waiting to be deleted
|
| std::vector<GLuint> textures_pending_deletion_;
|
|
|
|
|