summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 02:22:59 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 02:22:59 +0000
commitdc683121405d4276ee8b86d2d69317d344a01714 (patch)
tree85959fe5c66f69f59bbe39cf542c9ef82f4c1b2e /chrome/browser/renderer_host
parentdbe7138364c5d04bf89bc9ba628e994961ba5966 (diff)
downloadchromium_src-dc683121405d4276ee8b86d2d69317d344a01714.zip
chromium_src-dc683121405d4276ee8b86d2d69317d344a01714.tar.gz
chromium_src-dc683121405d4276ee8b86d2d69317d344a01714.tar.bz2
Revert 110626 - Reland 110355 - Use shared D3D9 texture to transport the compositor's backing buffer to the browser process for presentation.
Implemented ImageTransportSurface for Linux (without texture sharing), XP, Vista and 7. XP. The non-texture sharing Linux and XP paths just present directly to the compositing child window owned by the browser process as before. PassThroughImageTransportSurface still needs a proper name. I will move it into its own file once that is decided. I moved AcceleratedSurfaceBuffersSwapped outside of the platform specific ifdefs and made the signature the same on all platforms for greater consistency. I removed the code related to sharing surfaces between processes and synchronizing resize and swapping out of GpuCommandBufferStub. It is all now in ImageTransportSurface implementations. Review URL: http://codereview.chromium.org/8060045 Review URL: http://codereview.chromium.org/8588045 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/8558008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110638 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views.cc19
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views.h7
2 files changed, 9 insertions, 17 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.cc b/chrome/browser/renderer_host/render_widget_host_view_views.cc
index 69e9be4..98bf72a 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_views.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_views.cc
@@ -1144,20 +1144,19 @@ void RenderWidgetHostViewViews::AcceleratedSurfaceRelease(uint64 surface_id) {
}
void RenderWidgetHostViewViews::AcceleratedSurfaceBuffersSwapped(
- const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params,
+ uint64 surface_id,
+ int32 route_id,
int gpu_host_id) {
- SetExternalTexture(
- accelerated_surface_containers_[params.surface_id]->GetTexture());
+ SetExternalTexture(accelerated_surface_containers_[surface_id]->GetTexture());
glFlush();
if (!GetWidget() || !GetWidget()->GetCompositor()) {
// We have no compositor, so we have no way to display the surface
- // Must still send the ACK
- AcknowledgeSwapBuffers(params.route_id, gpu_host_id);
+ AcknowledgeSwapBuffers(route_id, gpu_host_id); // Must still send the ACK
} else {
// Add sending an ACK to the list of things to do OnCompositingEnded
on_compositing_ended_callbacks_.push_back(
- base::Bind(AcknowledgeSwapBuffers, params.route_id, gpu_host_id));
+ base::Bind(AcknowledgeSwapBuffers, route_id, gpu_host_id));
ui::Compositor *compositor = GetWidget()->GetCompositor();
if (!compositor->HasObserver(this))
compositor->AddObserver(this);
@@ -1174,12 +1173,4 @@ void RenderWidgetHostViewViews::OnCompositingEnded(ui::Compositor* compositor) {
compositor->RemoveObserver(this);
}
-#else
-
-void RenderWidgetHostViewViews::AcceleratedSurfaceBuffersSwapped(
- const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params,
- int gpu_host_id) {
- NOTREACHED();
-}
-
#endif
diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.h b/chrome/browser/renderer_host/render_widget_host_view_views.h
index ae0ef11..083e2ae 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_views.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_views.h
@@ -99,9 +99,6 @@ class RenderWidgetHostViewViews : public RenderWidgetHostView,
virtual void ShowingContextMenu(bool showing) OVERRIDE;
virtual BackingStore* AllocBackingStore(const gfx::Size& size) OVERRIDE;
virtual void OnAcceleratedCompositingStateChange() OVERRIDE;
- virtual void AcceleratedSurfaceBuffersSwapped(
- const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params,
- int gpu_host_id) OVERRIDE;
virtual void SetBackground(const SkBitmap& background) OVERRIDE;
#if defined(OS_POSIX) || defined(USE_AURA)
virtual void GetDefaultScreenInfo(WebKit::WebScreenInfo* results);
@@ -190,6 +187,10 @@ class RenderWidgetHostViewViews : public RenderWidgetHostView,
int32 height,
uint64* surface_id,
TransportDIB::Handle* surface_handle) OVERRIDE;
+ virtual void AcceleratedSurfaceBuffersSwapped(
+ uint64 surface_id,
+ int32 route_id,
+ int gpu_host_id) OVERRIDE;
virtual void AcceleratedSurfaceRelease(uint64 surface_id) OVERRIDE;
// CompositorObserver implementation: