summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_widget.h
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-18 18:58:33 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-18 18:58:33 +0000
commita3d2afafd83015159573e1bcf19dd7b0964ecb77 (patch)
tree699f336951d08ad37e8161673adcd3b1fc5f104b /content/renderer/render_widget.h
parent6fd22c9bd81dcb9ecb488f5b99ea7f1e7cf15ae2 (diff)
downloadchromium_src-a3d2afafd83015159573e1bcf19dd7b0964ecb77.zip
chromium_src-a3d2afafd83015159573e1bcf19dd7b0964ecb77.tar.gz
chromium_src-a3d2afafd83015159573e1bcf19dd7b0964ecb77.tar.bz2
Revert 81965 - Progress towards fixing 77536This first thing this CL does is plumbs through the surface that the GPU will eventually render to very early on (with the ViewMsg_New and ViewMsg_CreateNew IPCs). Previously, these surfaces were acquired at the time that GPU got a request for a command buffer. This required mediation by the browser UI thread. With this CL, we pre-acquire the surfaces so that they can be passed with the request for the command buffer. This will allow us to handle the request on the browser IO thread.The second thing this CL does is change the surface management a bit. When surfaces were acquired and released when command buffers were created and destroyed, the GPU process host was natural manager of surfaces. This pushes the management further down into the RWHV level and GtkNativeViewManager (on Linux). It fixes a minor resource leak.BUG=first stage of 77536TEST=By hand WebGL, 3D CSS, Pepper 3D on Linux, Windows, and Mac.Review URL: http://codereview.chromium.org/6840060
TBR=backer@chromium.org Review URL: http://codereview.chromium.org/6878021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81974 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_widget.h')
-rw-r--r--content/renderer/render_widget.h17
1 files changed, 2 insertions, 15 deletions
diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h
index 63580c7..b6cf16e 100644
--- a/content/renderer/render_widget.h
+++ b/content/renderer/render_widget.h
@@ -74,13 +74,6 @@ class RenderWidget : public IPC::Channel::Listener,
// Creates a WebWidget based on the popup type.
static WebKit::WebWidget* CreateWebWidget(RenderWidget* render_widget);
- // The compositing surface assigned by the RenderWidgetHost
- // (or RenderViewHost). Will be gfx::kNullPluginWindow if not assigned yet,
- // in which case we should not create any GPU command buffers with it.
- gfx::PluginWindowHandle compositing_surface() const {
- return compositing_surface_;
- }
-
// The routing ID assigned by the RenderProcess. Will be MSG_ROUTING_NONE if
// not yet assigned a view ID, in which case, the process MUST NOT send
// messages with this ID to the parent.
@@ -151,8 +144,7 @@ class RenderWidget : public IPC::Channel::Listener,
IPC::SyncMessage* create_widget_message);
// Finishes creation of a pending view started with Init.
- void CompleteInit(gfx::NativeViewId parent,
- gfx::PluginWindowHandle compositing_surface);
+ void CompleteInit(gfx::NativeViewId parent);
// Paints the given rectangular region of the WebWidget into canvas (a
// shared memory segment returned by AllocPaintBuf on Windows). The caller
@@ -177,8 +169,7 @@ class RenderWidget : public IPC::Channel::Listener,
// RenderWidget IPC message handlers
void OnClose();
- void OnCreatingNewAck(gfx::NativeViewId parent,
- gfx::PluginWindowHandle compositing_surface);
+ void OnCreatingNewAck(gfx::NativeViewId parent);
virtual void OnResize(const gfx::Size& new_size,
const gfx::Rect& resizer_rect);
virtual void OnWasHidden();
@@ -376,10 +367,6 @@ class RenderWidget : public IPC::Channel::Listener,
// compositor.
bool is_accelerated_compositing_active_;
- // Handle to a surface that is drawn to when accelerated compositing is
- // active.
- gfx::PluginWindowHandle compositing_surface_;
-
base::Time animation_floor_time_;
bool animation_update_pending_;
bool animation_task_posted_;