summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/render_widget_helper.h
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 22:29:56 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 22:29:56 +0000
commit9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d (patch)
treea67a3d0397a03e12ee51aa8720f612c62c20e936 /content/browser/renderer_host/render_widget_helper.h
parenta3102766e725636ad23ad99faa1e8a481a1129e7 (diff)
downloadchromium_src-9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d.zip
chromium_src-9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d.tar.gz
chromium_src-9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d.tar.bz2
gpu: reference target surfaces through a globally unique surface id.
This allows the gpu process to ignore all knowledge of renderers. It simplifies some of the gpu <-> browser and gpu <-> renderer IPC, but mostly paves the way for non-renderer clients. Surfaces are kept in a global GpuSurfaceTracker which is just a thread-safe map. BUG=99516 TEST=covered by existing tests. Run chrome, open poster circle (or other accelerated content page). Review URL: http://codereview.chromium.org/9194005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118172 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/render_widget_helper.h')
-rw-r--r--content/browser/renderer_host/render_widget_helper.h23
1 files changed, 6 insertions, 17 deletions
diff --git a/content/browser/renderer_host/render_widget_helper.h b/content/browser/renderer_host/render_widget_helper.h
index 766566a..f53e445 100644
--- a/content/browser/renderer_host/render_widget_helper.h
+++ b/content/browser/renderer_host/render_widget_helper.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -119,11 +119,6 @@ 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 -----------------------------------------------------------
// Called on the IO thread when a UpdateRect message is received.
@@ -131,11 +126,13 @@ class RenderWidgetHelper
void CreateNewWindow(const ViewHostMsg_CreateWindow_Params& params,
base::ProcessHandle render_process,
- int* route_id);
+ int* route_id,
+ int* surface_id);
void CreateNewWidget(int opener_id,
WebKit::WebPopupType popup_type,
- int* route_id);
- void CreateNewFullscreenWidget(int opener_id, int* route_id);
+ int* route_id,
+ int* surface_id);
+ void CreateNewFullscreenWidget(int opener_id, int* route_id, int* surface_id);
#if defined(OS_MACOSX)
// Called on the IO thread to handle the allocation of a TransportDIB. If
@@ -151,9 +148,6 @@ 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.
@@ -210,11 +204,6 @@ 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.