Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Unified Diff: ppapi/shared_impl/ppb_graphics_3d_shared.cc

Issue 9053003: Convert ppapi/shared to use TrackedCallback. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comments Created 8 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/shared_impl/ppb_graphics_3d_shared.cc
diff --git a/ppapi/shared_impl/ppb_graphics_3d_shared.cc b/ppapi/shared_impl/ppb_graphics_3d_shared.cc
index 9e0c15515e7774386f613c9d27107255a4a6b7d3..2464a1edee647a65006a400cdd8f36ef41e3eb17 100644
--- a/ppapi/shared_impl/ppb_graphics_3d_shared.cc
+++ b/ppapi/shared_impl/ppb_graphics_3d_shared.cc
@@ -11,9 +11,14 @@
namespace ppapi {
-PPB_Graphics3D_Shared::PPB_Graphics3D_Shared()
- : transfer_buffer_id_(-1),
- swap_callback_(PP_BlockUntilComplete()) {
+PPB_Graphics3D_Shared::PPB_Graphics3D_Shared(PP_Instance instance)
+ : Resource(instance),
+ transfer_buffer_id_(-1) {
+}
+
+PPB_Graphics3D_Shared::PPB_Graphics3D_Shared(const HostResource& host_resource)
+ : Resource(host_resource),
+ transfer_buffer_id_(-1) {
}
PPB_Graphics3D_Shared::~PPB_Graphics3D_Shared() {
@@ -23,6 +28,10 @@ PPB_Graphics3D_Shared::~PPB_Graphics3D_Shared() {
DCHECK(!gles2_impl_.get());
}
+thunk::PPB_Graphics3D_API* PPB_Graphics3D_Shared::AsPPB_Graphics3D_API() {
+ return this;
+}
+
int32_t PPB_Graphics3D_Shared::GetAttribs(int32_t* attrib_list) {
// TODO(alokp): Implement me.
return PP_ERROR_FAILED;
@@ -59,7 +68,7 @@ int32_t PPB_Graphics3D_Shared::SwapBuffers(PP_CompletionCallback callback) {
return PP_ERROR_INPROGRESS;
}
- swap_callback_ = callback;
+ swap_callback_ = new TrackedCallback(this, callback);
return DoSwapBuffers();
}
@@ -82,7 +91,11 @@ void PPB_Graphics3D_Shared::UnmapTexSubImage2DCHROMIUM(const void* mem) {
void PPB_Graphics3D_Shared::SwapBuffersACK(int32_t pp_error) {
DCHECK(HasPendingSwap());
- PP_RunAndClearCompletionCallback(&swap_callback_, pp_error);
+ TrackedCallback::ClearAndRun(&swap_callback_, pp_error);
+}
+
+bool PPB_Graphics3D_Shared::HasPendingSwap() const {
+ return !!swap_callback_.get();
viettrungluu 2012/01/04 01:15:14 TrackedCallback::IsPending()?
viettrungluu 2012/01/04 01:15:14 "
}
bool PPB_Graphics3D_Shared::CreateGLES2Impl(int32 command_buffer_size,

Powered by Google App Engine
This is Rietveld 408576698