summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi/plugin_delegate.h
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-30 01:17:00 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-30 01:17:00 +0000
commit22f320a27d8b7e45221fd92ce1964716a7277821 (patch)
treed11cd935d327658829a199d9e1c59a6aa7d3f73f /webkit/plugins/ppapi/plugin_delegate.h
parentc16ed34dad105cd5e8a1f0215f3650cf31507bc6 (diff)
downloadchromium_src-22f320a27d8b7e45221fd92ce1964716a7277821.zip
chromium_src-22f320a27d8b7e45221fd92ce1964716a7277821.tar.gz
chromium_src-22f320a27d8b7e45221fd92ce1964716a7277821.tar.bz2
Added GPU process "echo" IPC message.
The echo message is essentially an async fence with event based notification. The client gets a notification when the GPU process has completed all the work up to the last flush. I used it to replace the SwapBuffers / OnSwapBuffers synchronization and got rid of some of the callbacks in the lower layers of the stack. The SwapBuffers callbacks in the GPU process are only needed on mac now and I will replace them with something more generic soon. Review URL: http://codereview.chromium.org/7762013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98747 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins/ppapi/plugin_delegate.h')
-rw-r--r--webkit/plugins/ppapi/plugin_delegate.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/webkit/plugins/ppapi/plugin_delegate.h b/webkit/plugins/ppapi/plugin_delegate.h
index 9ec1829..f63276e 100644
--- a/webkit/plugins/ppapi/plugin_delegate.h
+++ b/webkit/plugins/ppapi/plugin_delegate.h
@@ -30,6 +30,7 @@
class AudioMessageFilter;
class GURL;
class SkBitmap;
+class Task;
namespace base {
class MessageLoopProxy;
@@ -165,11 +166,6 @@ class PluginDelegate {
// Initialize the context.
virtual bool Init(const int32* attrib_list) = 0;
- // Set an optional callback that will be invoked when the side effects of
- // a SwapBuffers call become visible to the compositor. Takes ownership
- // of the callback.
- virtual void SetSwapBuffersCallback(Callback0::Type* callback) = 0;
-
// If the plugin instance is backed by an OpenGL, return its ID in the
// compositors namespace. Otherwise return 0. Returns 0 by default.
virtual unsigned GetBackingTextureId() = 0;
@@ -186,6 +182,10 @@ class PluginDelegate {
// Set an optional callback that will be invoked when the context is lost
// (e.g. gpu process crash). Takes ownership of the callback.
virtual void SetContextLostCallback(Callback0::Type* callback) = 0;
+
+ // Run the task once the channel has been flushed. Takes care of deleting
+ // the task whether the echo succeeds or not.
+ virtual bool Echo(Task* task) = 0;
};
class PlatformAudio {