diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-18 22:29:56 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-18 22:29:56 +0000 |
commit | 9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d (patch) | |
tree | a67a3d0397a03e12ee51aa8720f612c62c20e936 /content/browser/renderer_host/render_widget_helper.h | |
parent | a3102766e725636ad23ad99faa1e8a481a1129e7 (diff) | |
download | chromium_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.h | 23 |
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. |