summaryrefslogtreecommitdiffstats
path: root/chrome/plugin
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-28 21:39:14 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-28 21:39:14 +0000
commitf35d6675a5b26462fb1aadc9a01f07be82581a16 (patch)
treedc4bac0fa9c9340a3c7e65d13ba73254c8ff3449 /chrome/plugin
parent18d5d79eb6b11a05ca8876fc760416b5152f9fa2 (diff)
downloadchromium_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.cc4
-rw-r--r--chrome/plugin/webplugin_accelerated_surface_proxy_mac.cc3
-rw-r--r--chrome/plugin/webplugin_proxy.cc5
-rw-r--r--chrome/plugin/webplugin_proxy.h3
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