From 9f4f3322e7c9a5feedd5ca2b986daf2f8d5b8d3d Mon Sep 17 00:00:00 2001 From: "piman@chromium.org" Date: Wed, 18 Jan 2012 22:29:56 +0000 Subject: 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 --- .../browser/renderer_host/render_widget_helper.h | 23 ++++++---------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'content/browser/renderer_host/render_widget_helper.h') 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 ViewCompositingSurfaceMap; - ViewCompositingSurfaceMap view_compositing_surface_map_; - base::Lock view_compositing_surface_map_lock_; - int render_process_id_; // Event used to implement WaitForUpdateMsg. -- cgit v1.1