diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 21:39:14 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 21:39:14 +0000 |
commit | f35d6675a5b26462fb1aadc9a01f07be82581a16 (patch) | |
tree | dc4bac0fa9c9340a3c7e65d13ba73254c8ff3449 /chrome/plugin | |
parent | 18d5d79eb6b11a05ca8876fc760416b5152f9fa2 (diff) | |
download | chromium_src-f35d6675a5b26462fb1aadc9a01f07be82581a16.zip chromium_src-f35d6675a5b26462fb1aadc9a01f07be82581a16.tar.gz chromium_src-f35d6675a5b26462fb1aadc9a01f07be82581a16.tar.bz2 |
Let every "accelerated IO surface swapped" message have an identifier of the surface.
Currently, this is only used to DCHECK a currently implicit invariant, but I want to use this to let every surface container only remember its last painted-to surface, and not its last created surface.
No behavior change.
BUG=53165
TEST=none
Review URL: http://codereview.chromium.org/4142004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64317 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin')
-rw-r--r-- | chrome/plugin/command_buffer_stub.cc | 4 | ||||
-rw-r--r-- | chrome/plugin/webplugin_accelerated_surface_proxy_mac.cc | 3 | ||||
-rw-r--r-- | chrome/plugin/webplugin_proxy.cc | 5 | ||||
-rw-r--r-- | chrome/plugin/webplugin_proxy.h | 3 |
4 files changed, 9 insertions, 6 deletions
diff --git a/chrome/plugin/command_buffer_stub.cc b/chrome/plugin/command_buffer_stub.cc index 0be798a..5818414 100644 --- a/chrome/plugin/command_buffer_stub.cc +++ b/chrome/plugin/command_buffer_stub.cc @@ -226,8 +226,8 @@ void CommandBufferStub::OnSetWindowSize(const gfx::Size& size) { } void CommandBufferStub::SwapBuffersCallback() { - Send(new PluginHostMsg_AcceleratedSurfaceBuffersSwapped(plugin_host_route_id_, - window_)); + Send(new PluginHostMsg_AcceleratedSurfaceBuffersSwapped( + plugin_host_route_id_, window_, processor_->GetSurfaceId())); } void CommandBufferStub::AllocTransportDIB(const size_t size, diff --git a/chrome/plugin/webplugin_accelerated_surface_proxy_mac.cc b/chrome/plugin/webplugin_accelerated_surface_proxy_mac.cc index 76ff768..6e3540e 100644 --- a/chrome/plugin/webplugin_accelerated_surface_proxy_mac.cc +++ b/chrome/plugin/webplugin_accelerated_surface_proxy_mac.cc @@ -59,5 +59,6 @@ void WebPluginAcceleratedSurfaceProxy::StartDrawing() { void WebPluginAcceleratedSurfaceProxy::EndDrawing() { surface_->SwapBuffers(); - plugin_proxy_->AcceleratedFrameBuffersDidSwap(window_handle_); + plugin_proxy_->AcceleratedFrameBuffersDidSwap( + window_handle_, surface_->GetSurfaceId()); } diff --git a/chrome/plugin/webplugin_proxy.cc b/chrome/plugin/webplugin_proxy.cc index f41da3e..f099963 100644 --- a/chrome/plugin/webplugin_proxy.cc +++ b/chrome/plugin/webplugin_proxy.cc @@ -669,8 +669,9 @@ WebPluginAcceleratedSurface* WebPluginProxy::GetAcceleratedSurface() { } void WebPluginProxy::AcceleratedFrameBuffersDidSwap( - gfx::PluginWindowHandle window) { - Send(new PluginHostMsg_AcceleratedSurfaceBuffersSwapped(route_id_, window)); + gfx::PluginWindowHandle window, uint64 surface_id) { + Send(new PluginHostMsg_AcceleratedSurfaceBuffersSwapped( + route_id_, window, surface_id)); } void WebPluginProxy::SetAcceleratedSurface( diff --git a/chrome/plugin/webplugin_proxy.h b/chrome/plugin/webplugin_proxy.h index a33dae7..5a24e2bf 100644 --- a/chrome/plugin/webplugin_proxy.h +++ b/chrome/plugin/webplugin_proxy.h @@ -149,7 +149,8 @@ class WebPluginProxy : public webkit_glue::WebPlugin { // Tell the browser (via the renderer) to invalidate because the // accelerated buffers have changed. - virtual void AcceleratedFrameBuffersDidSwap(gfx::PluginWindowHandle window); + virtual void AcceleratedFrameBuffersDidSwap( + gfx::PluginWindowHandle window, uint64 surface_id); // Tell the renderer and browser to associate the given plugin handle with // |accelerated_surface_identifier|. The geometry is used to resize any |